价值观、发展历程和团队信息

- 新增 merchant/apply.html 页面,提供商家入驻申请表单
- 添加 .idea 目录下的配置文件,用于项目管理和开发环境设置
This commit is contained in:
ylweng
2025-08-21 02:41:28 +08:00
commit 1f5f8cc32b
20 changed files with 5112 additions and 0 deletions

10
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,10 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# 依赖于环境的 Maven 主目录路径
/mavenHomeManager.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

10
.idea/UniappTool.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="cn.fjdmy.uniapp.UniappProjectDataService">
<option name="generalBasePath" value="$PROJECT_DIR$" />
<option name="manifestPath" value="$PROJECT_DIR$/manifest.json" />
<option name="pagesPath" value="$PROJECT_DIR$/pages.json" />
<option name="scanNum" value="1" />
<option name="type" value="store" />
</component>
</project>

9
.idea/jiebanke.iml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/jiebanke.iml" filepath="$PROJECT_DIR$/.idea/jiebanke.iml" />
</modules>
</component>
</project>

7
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

475
docs/architecture.md Normal file
View File

@@ -0,0 +1,475 @@
# 结伴客系统架构文档
## 1. 架构图
```
+------------------+ +------------+ +------------------+
| 微信小程序 | | | | |
| (uni-app) | --> | API网关 | --> | 后端服务 |
+------------------+ | | | (Node.js+Express)|
+------------+ | |
+------------------+
|
+-------+-------+
| |
+-------v-----+ +-----v-------+
| MySQL数据库 | | Redis缓存 |
+-------------+ +-------------+
|
+-------v-------+
| RabbitMQ消息队列 |
+-----------------+
+------------------+
| 后台管理系统 |
| (Vue.js 3) |
+------------------+
+------------------+
| 官网系统 |
| (HTML5+Bootstrap) |
+------------------+
```
## 2. 项目结构
```
结伴客项目 (根目录)
├── mini-program // 微信小程序 (uni-app)
│ ├── pages
│ │ ├── user // 用户相关页面
│ │ │ ├── login // 登录页面
│ │ │ ├── register // 注册页面
│ │ │ ├── profile // 个人主页
│ │ │ └── settings // 设置页面
│ │ ├── merchant // 商家相关页面
│ │ │ ├── register // 商家注册
│ │ │ ├── profile // 商家主页
│ │ │ └── dashboard // 商家控制台
│ │ ├── travel // 旅行结伴页面
│ │ │ ├── plan // 旅行计划
│ │ │ ├── search // 搜索结伴
│ │ │ └── activities // 其他活动
│ │ ├── animal // 动物认领页面
│ │ │ ├── list // 动物列表
│ │ │ ├── detail // 动物详情
│ │ │ └── claim // 认领流程
│ │ ├── social // 社交互动页面
│ │ │ ├── messages // 消息聊天
│ │ │ └── feed // 动态分享
│ │ ├── flower // 送花服务页面
│ │ │ ├── products // 鲜花产品
│ │ │ └── orders // 订单管理
│ │ └── promotion // 推广奖励页面
│ │ ├── invite // 邀请推广
│ │ └── rewards // 奖励中心
│ ├── components // 可复用组件
│ │ ├── common // 通用组件
│ │ ├── user // 用户相关组件
│ │ ├── travel // 旅行相关组件
│ │ ├── animal // 动物相关组件
│ │ ├── social // 社交相关组件
│ │ ├── merchant // 商家相关组件
│ │ └── flower // 鲜花相关组件
│ ├── utils // 工具函数
│ │ ├── request // 网络请求封装
│ │ ├── auth // 认证相关工具
│ │ ├── storage // 存储相关工具
│ │ └── helpers // 辅助函数
│ ├── static // 静态资源
│ │ ├── images // 图片资源
│ │ └── styles // 样式文件
│ └── store // 状态管理
│ ├── modules // 模块化状态
│ │ ├── user // 用户状态
│ │ ├── travel // 旅行状态
│ │ ├── animal // 动物状态
│ │ ├── social // 社交状态
│ │ ├── merchant // 商家状态
│ │ ├── flower // 鲜花状态
│ │ └── promotion // 推广状态
│ └── index.js // 状态管理入口
├── admin-system // 后台管理系统 (Vue.js 3 + TypeScript + Ant Design Vue + Pinia)
│ ├── public // 静态资源
│ ├── src
│ │ ├── api // API接口
│ │ │ ├── user // 用户相关接口
│ │ │ ├── merchant // 商家相关接口
│ │ │ ├── travel // 旅行相关接口
│ │ │ ├── animal // 动物相关接口
│ │ │ ├── order // 订单相关接口
│ │ │ ├── promotion // 推广相关接口
│ │ │ └── system // 系统管理接口
│ │ ├── assets // 静态资源
│ │ ├── components // 公共组件
│ │ │ ├── layout // 布局组件
│ │ │ ├── common // 通用组件
│ │ │ ├── user // 用户相关组件
│ │ │ ├── merchant // 商家相关组件
│ │ │ ├── travel // 旅行相关组件
│ │ │ ├── animal // 动物相关组件
│ │ │ ├── order // 订单相关组件
│ │ │ ├── promotion // 推广相关组件
│ │ │ └── dashboard // 仪表板组件
│ │ ├── composables // 组合式函数
│ │ ├── directives // 自定义指令
│ │ ├── layouts // 页面布局
│ │ │ ├── default.vue // 默认布局
│ │ │ ├── auth.vue // 认证布局
│ │ │ └── empty.vue // 空白布局
│ │ ├── locales // 国际化资源
│ │ │ ├── zh-CN.json // 中文语言包
│ │ │ └── en-US.json // 英文语言包
│ │ ├── pages // 页面视图
│ │ │ ├── dashboard // 仪表板页面
│ │ │ ├── user // 用户管理页面
│ │ │ ├── merchant // 商家管理页面
│ │ │ ├── travel // 旅行管理页面
│ │ │ ├── animal // 动物管理页面
│ │ │ ├── order // 订单管理页面
│ │ │ ├── promotion // 推广管理页面
│ │ │ ├── system // 系统管理页面
│ │ │ ├── login.vue // 登录页面
│ │ │ └── register.vue // 注册页面
│ │ ├── plugins // 插件
│ │ ├── router // 路由配置
│ │ │ ├── modules // 模块路由
│ │ │ │ ├── user.ts // 用户路由
│ │ │ │ ├── merchant.ts // 商家路由
│ │ │ │ ├── travel.ts // 旅行路由
│ │ │ │ ├── animal.ts // 动物路由
│ │ │ │ ├── order.ts // 订单路由
│ │ │ │ ├── promotion.ts // 推广路由
│ │ │ │ └── system.ts // 系统路由
│ │ │ └── index.ts // 路由入口
│ │ ├── stores // 状态管理
│ │ │ ├── modules // 模块状态
│ │ │ │ ├── user.ts // 用户状态
│ │ │ │ ├── merchant.ts // 商家状态
│ │ │ │ ├── travel.ts // 旅行状态
│ │ │ │ ├── animal.ts // 动物状态
│ │ │ │ ├── order.ts // 订单状态
│ │ │ │ ├── promotion.ts // 推广状态
│ │ │ │ └── system.ts // 系统状态
│ │ │ └── index.ts // 状态管理入口
│ │ ├── styles // 样式文件
│ │ ├── types // TypeScript类型定义
│ │ ├── utils // 工具函数
│ │ │ ├── request.ts // 请求封装
│ │ │ ├── auth.ts // 认证工具
│ │ │ ├── storage.ts // 存储工具
│ │ │ ├── format.ts // 格式化工具
│ │ │ └── validate.ts // 验证工具
│ │ └── App.vue // 根组件
│ │ └── main.ts // 入口文件
│ ├── tests // 测试目录
│ ├── .env // 环境配置
│ ├── .env.development // 开发环境配置
│ ├── .env.production // 生产环境配置
│ ├── index.html // HTML模板
│ ├── tsconfig.json // TypeScript配置
│ ├── vite.config.ts // 构建配置
│ └── package.json // 依赖配置
├── website // 官网系统 (HTML5 + Bootstrap)
│ ├── index.html // 首页
│ ├── about.html // 关于我们
│ ├── contact.html // 联系我们
│ ├── merchant // 商家合作页面
│ │ ├── index.html // 商家合作首页
│ │ ├── policy.html // 合作政策
│ │ └── apply.html // 入驻申请
│ ├── case.html // 案例展示
│ ├── css // 样式文件
│ │ ├── bootstrap.min.css // Bootstrap样式
│ │ └── custom.css // 自定义样式
│ ├── js // JavaScript文件
│ │ ├── bootstrap.min.js // Bootstrap脚本
│ │ └── custom.js // 自定义脚本
│ ├── images // 图片资源
│ └── vendor // 第三方库
├── backend // 后端接口服务 (Node.js + Express)
│ ├── src
│ │ ├── controllers // 控制器层
│ │ │ ├── user // 用户控制器
│ │ │ ├── merchant // 商家控制器
│ │ │ ├── travel // 旅行控制器
│ │ │ ├── animal // 动物控制器
│ │ │ ├── social // 社交控制器
│ │ │ ├── flower // 鲜花控制器
│ │ │ ├── promotion // 推广控制器
│ │ │ └── auth // 认证控制器
│ │ ├── services // 业务逻辑层
│ │ │ ├── user // 用户服务
│ │ │ ├── merchant // 商家服务
│ │ │ ├── travel // 旅行服务
│ │ │ ├── animal // 动物服务
│ │ │ ├── social // 社交服务
│ │ │ ├── flower // 鲜花服务
│ │ │ ├── promotion // 推广服务
│ │ │ └── auth // 认证服务
│ │ ├── models // 数据模型层
│ │ │ ├── user.js // 用户模型
│ │ │ ├── merchant.js // 商家模型
│ │ │ ├── travelPlan.js // 旅行计划模型
│ │ │ ├── animal.js // 动物模型
│ │ │ ├── claim.js // 认领模型
│ │ │ ├── message.js // 消息模型
│ │ │ ├── activity.js // 活动模型
│ │ │ ├── product.js // 商品模型
│ │ │ ├── order.js // 订单模型
│ │ │ ├── review.js // 评价模型
│ │ │ └── reward.js // 奖励模型
│ │ ├── routes // 路由定义
│ │ │ ├── api // API路由
│ │ │ │ ├── v1 // v1版本API
│ │ │ │ │ ├── user.js // 用户相关API
│ │ │ │ │ ├── merchant.js // 商家相关API
│ │ │ │ │ ├── travel.js // 旅行相关API
│ │ │ │ │ ├── animal.js // 动物相关API
│ │ │ │ │ ├── social.js // 社交相关API
│ │ │ │ │ ├── flower.js // 鲜花相关API
│ │ │ │ │ └── promotion.js // 推广相关API
│ │ │ │ └── index.js // API路由入口
│ │ │ └── web // Web路由(管理后台)
│ │ ├── middleware // 中间件
│ │ │ ├── auth // 认证中间件
│ │ │ ├── validation // 验证中间件
│ │ │ ├── rateLimit // 限流中间件
│ │ │ └── error // 错误处理中间件
│ │ ├── utils // 工具函数
│ │ │ ├── database // 数据库工具
│ │ │ ├── logger // 日志工具
│ │ │ ├── helpers // 辅助函数
│ │ │ └── constants // 常量定义
│ │ ├── config // 配置文件
│ │ │ ├── database.js // 数据库配置
│ │ │ ├── redis.js // Redis配置
│ │ │ ├── rabbitmq.js // RabbitMQ配置
│ │ │ └── app.js // 应用配置
│ │ └── app.js // 应用入口
│ ├── tests // 测试目录
│ │ ├── unit // 单元测试
│ │ └── integration // 集成测试
│ ├── docs // 文档目录
│ └── package.json // 依赖配置
└── docs // 项目文档
├── requirements.md // 需求文档
├── architecture.md // 架构文档
├── detailed_design.md // 详细设计文档
└── development_plan.md // 开发计划文档
```
## 2. 技术栈选型
### 2.1 后端技术栈
- 编程语言Node.js (TypeScript)
- 框架Express.js
- API规范RESTful API
- 容器化Docker
- 容器编排Kubernetes
- API网关Kong
- 监控Prometheus + Grafana
- 日志ELK Stack (Elasticsearch, Logstash, Kibana)
### 2.2 前端技术栈
- 小程序框架uni-app
- 开发语言JavaScript/TypeScript
- UI框架WeUI
- 状态管理Redux
- 构建工具Webpack
- 包管理npm/yarn
### 2.3 官网技术栈
- 核心技术HTML5 + Bootstrap
- 开发语言JavaScript
- 构建工具Webpack
- 包管理npm/yarn
### 2.3 数据库选型
- 主数据库MySQL 8.0
### 2.4 缓存选型
- 分布式缓存Redis Cluster
- 本地缓存Node.js内置缓存
### 2.5 消息队列选型
- 消息中间件RabbitMQ
- 实时消息推送WebSocket
### 2.6 选型理由与对比分析
#### 后端技术栈选型理由
**Node.js (TypeScript) + Express.js**
- **优势**
- 高性能Node.js基于事件驱动和非阻塞I/O模型适合高并发场景
- 生态丰富npm生态系统庞大可快速集成各种第三方库
- 全栈统一前后端均可使用JavaScript/TypeScript降低开发成本
- 轻量级Express.js是一个轻量级的Web框架灵活性高
- **劣势**
- CPU密集型任务处理能力较弱
- 回调地狱问题TypeScript可有效缓解
#### 前端技术栈选型理由
**uni-app**
- **优势**
- 一套代码多端运行可同时发布到iOS、Android、H5、以及各种小程序平台
- 开发生态基于Vue.js学习成本低社区活跃
- 性能优化:接近原生应用的性能体验
- **劣势**
- 平台限制:某些平台特定功能需要特殊处理
- 复杂度:多端兼容可能带来额外的复杂性
#### 官网技术栈选型理由
**HTML5 + Bootstrap**
- **优势**
- 简单易用:技术门槛低,开发效率高
- 兼容性好Bootstrap提供了良好的浏览器兼容性
- 响应式设计Bootstrap内置响应式布局适配各种设备
- 社区活跃Bootstrap拥有庞大的社区和丰富的组件
- **劣势**
- 定制性相对较弱:需要额外工作来实现独特的设计效果
- 文件体积Bootstrap框架本身会增加页面加载体积
#### 数据库选型理由
**MySQL 8.0**
- **优势**
- 成熟稳定:关系型数据库,事务支持完善
- 生态丰富:社区活跃,文档齐全
- 性能优化MySQL 8.0在性能方面有显著提升
- **劣势**
- 水平扩展性相对较弱
- 复杂查询性能可能不如专门的分析型数据库
#### 缓存选型理由
**Redis Cluster**
- **优势**
- 高性能:内存数据库,读写速度极快
- 分布式支持Redis Cluster提供高可用和水平扩展能力
- 丰富数据结构:支持字符串、哈希、列表、集合等多种数据结构
- **劣势**
- 内存成本:数据存储在内存中,成本较高
- 持久化性能:持久化操作可能影响性能
#### 消息队列选型理由
**RabbitMQ**
- **优势**
- 成熟稳定:经过多年发展,稳定性好
- 协议支持:支持多种消息协议
- 灵活路由:支持多种消息路由模式
- **劣势**
- 吞吐量相比Kafka等大数据消息队列吞吐量较低
- Erlang语言维护和调优需要掌握Erlang语言
**WebSocket**
- **优势**
- 实时性:全双工通信,实时性好
- 节省资源:相比轮询,节省网络资源
- **劣势**
- 连接管理:需要处理连接断开重连等问题
- 浏览器兼容性:老旧浏览器支持不好
## 3. 部署视图
```
外网:
├── uni-app前端用户 --- HTTPS --> API网关
├── 官网用户 --- HTTPS --> Nginx反向代理 --> 官网系统
└── 第三方支付平台 <-- 支付回调 --- 后端服务
腾讯云服务器:
├── Nginx反向代理 --> 官网系统
│ ├── 静态资源服务
│ └── SSR渲染服务 (Nuxt.js)
├── API网关 --> 后端服务
├── 后端服务 --> MySQL数据库
├── 后端服务 --> Redis缓存
├── 后端服务 --> RabbitMQ消息队列
└── 后端服务 --监控--> Prometheus监控 --> Grafana
|--> ELK Stack
```
### 3.1 部署环境
- 云服务提供商:腾讯云
- 服务器配置4台4核8GB服务器组成Kubernetes集群
- 负载均衡腾讯云负载均衡CLB
- SSL证书腾讯云SSL证书服务
- 域名解析腾讯云DNS解析
- 对象存储腾讯云COS用于存储图片、视频等静态资源
- CDN加速腾讯云CDN用于加速静态资源访问
- 反向代理Nginx
- 静态资源服务器Nginx
### 3.2 部署流程
1. 代码提交到Git仓库触发CI/CD流水线
2. 通过Docker构建服务镜像并推送到镜像仓库
3. Kubernetes从镜像仓库拉取镜像并部署服务
4. 配置健康检查和自动扩缩容策略
5. 配置监控和日志收集系统
6. 配置域名解析和SSL证书
7. 配置Nginx反向代理和静态资源服务器
### 3.3 备份与灾备
- 数据库每日自动备份到COS
- 关键服务配置文件版本化管理
- 多可用区部署实现高可用
## 4. 风险分析与应对策略
### 4.1 技术风险
#### 系统性能瓶颈
- **风险描述**:随着用户量增长,系统可能面临性能瓶颈,特别是在高并发场景下。
- **应对策略**
- 使用Redis缓存热点数据减少数据库访问压力
- 对数据库进行读写分离和分库分表
- 使用CDN加速静态资源访问
- 实施自动扩缩容策略,根据负载动态调整服务实例数量
#### 数据安全风险
- **风险描述**:系统涉及用户个人信息、支付信息等敏感数据,存在数据泄露风险。
- **应对策略**
- 对敏感数据进行加密存储AES/RSA算法
- 实施严格的访问控制和身份认证机制
- 定期进行安全审计和渗透测试
- 遵循GDPR等数据保护法规要求
### 4.2 业务风险
#### 用户增长压力
- **风险描述**:产品上线后可能面临用户快速增长的压力,对系统稳定性提出挑战。
- **应对策略**
- 提前进行压力测试,评估系统承载能力
- 设计可水平扩展的架构,支持快速扩容
- 制定限流和降级策略,保证核心功能稳定运行
#### 商家服务质量风险
- **风险描述**:商家用户提供的服务质量和用户体验直接影响平台声誉。
- **应对策略**
- 建立商家资质审核机制
- 实施用户评价体系,公开服务评价
- 建立投诉处理机制,及时处理用户反馈
- 对低质量商家实施警告、限流或清退措施
### 4.3 运维风险
#### 系统监控不足
- **风险描述**:缺乏有效的监控可能导致问题发现不及时,影响用户体验。
- **应对策略**
- 建立全方位监控体系,包括基础设施、应用性能、业务指标等
- 设置合理的告警阈值和通知机制
- 定期审查和优化监控策略
#### 故障恢复能力
- **风险描述**:系统故障可能导致服务中断,影响业务连续性。
- **应对策略**
- 制定详细的应急预案和故障恢复流程
- 定期进行故障演练,验证恢复能力
- 实施多可用区部署,提高容灾能力
- 建立数据库备份和恢复机制

827
docs/detailed_design.md Normal file
View File

@@ -0,0 +1,827 @@
# 结伴客系统详细设计文档
## 1. 数据库设计
### 1.1 ER图
```mermaid
erDiagram
USERS ||--o{ TRAVEL_PLANS : creates
USERS ||--o{ ANIMAL_CLAIMS : claims
USERS ||--o{ MESSAGES : sends
USERS ||--o{ ORDERS : places
USERS ||--o{ REVIEWS : writes
MERCHANTS ||--o{ PRODUCTS : sells
MERCHANTS ||--o{ ORDERS : processes
MERCHANTS ||--o{ ACTIVITIES : organizes
MERCHANTS ||--o{ ANIMALS : manages
TRAVEL_PLANS ||--o{ TRAVEL_MATCHES : matches
ANIMALS ||--o{ ANIMAL_CLAIMS : claimed
ANIMALS ||--o{ ANIMAL_UPDATES : updates
PRODUCTS ||--o{ ORDER_ITEMS : contains
ORDERS ||--o{ ORDER_ITEMS : contains
ORDERS ||--o{ PAYMENTS : has
ACTIVITIES ||--o{ ACTIVITY_REGISTRATIONS : registers
USERS {
int id PK
string openid
string nickname
string avatar
string gender
date birthday
string phone
string email
datetime created_at
datetime updated_at
}
MERCHANTS {
int id PK
int user_id FK
string merchant_type
string business_name
string business_license
string contact_person
string contact_phone
string address
string description
string status
datetime created_at
datetime updated_at
}
TRAVEL_PLANS {
int id PK
int user_id FK
string destination
date start_date
date end_date
decimal budget
string interests
string visibility
datetime created_at
datetime updated_at
}
TRAVEL_MATCHES {
int id PK
int plan_id FK
int matched_plan_id FK
decimal match_score
datetime created_at
}
ANIMALS {
int id PK
int merchant_id FK
string name
string species
string breed
date birth_date
string personality
string farm_location
decimal price
string status
datetime created_at
datetime updated_at
}
ANIMAL_CLAIMS {
int id PK
int user_id FK
int animal_id FK
decimal price_paid
string agreement_url
string status
datetime claimed_at
datetime ended_at
}
ANIMAL_UPDATES {
int id PK
int animal_id FK
string update_type
string content
string media_url
datetime created_at
}
PRODUCTS {
int id PK
int merchant_id FK
string name
string description
decimal price
string image_url
string category
string status
datetime created_at
datetime updated_at
}
ORDERS {
int id PK
int user_id FK
int merchant_id FK
string order_number
decimal total_amount
string status
string delivery_address
datetime ordered_at
datetime completed_at
}
ORDER_ITEMS {
int id PK
int order_id FK
int product_id FK
int quantity
decimal unit_price
}
PAYMENTS {
int id PK
int order_id FK
string payment_method
string transaction_id
decimal amount
string status
datetime paid_at
}
MESSAGES {
int id PK
int sender_id FK
int receiver_id FK
string content
string status
datetime sent_at
}
REVIEWS {
int id PK
int user_id FK
int merchant_id FK
int order_id FK
int rating
string comment
datetime created_at
}
ACTIVITIES {
int id PK
int merchant_id FK
string title
string description
string activity_type
datetime start_time
datetime end_time
string location
decimal fee
int max_participants
string status
datetime created_at
datetime updated_at
}
ACTIVITY_REGISTRATIONS {
int id PK
int activity_id FK
int user_id FK
string status
datetime registered_at
}
```
### 1.2 核心表结构设计
#### 用户表 (users)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | INT | PRIMARY KEY, AUTO_INCREMENT | 用户ID |
| openid | VARCHAR(64) | UNIQUE, NOT NULL | 微信openid |
| nickname | VARCHAR(50) | NOT NULL | 用户昵称 |
| avatar | VARCHAR(255) | | 用户头像URL |
| gender | ENUM('male', 'female', 'other') | | 性别 |
| birthday | DATE | | 生日 |
| phone | VARCHAR(20) | UNIQUE | 手机号码 |
| email | VARCHAR(100) | UNIQUE | 邮箱地址 |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
#### 商家表 (merchants)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | INT | PRIMARY KEY, AUTO_INCREMENT | 商家ID |
| user_id | INT | FOREIGN KEY, NOT NULL | 关联的用户ID |
| merchant_type | ENUM('flower_shop', 'activity_organizer', 'farm_owner') | NOT NULL | 商家类型 |
| business_name | VARCHAR(100) | NOT NULL | 商家名称 |
| business_license | VARCHAR(255) | | 营业执照图片URL |
| contact_person | VARCHAR(50) | NOT NULL | 联系人 |
| contact_phone | VARCHAR(20) | NOT NULL | 联系电话 |
| address | VARCHAR(255) | | 地址 |
| description | TEXT | | 商家介绍 |
| status | ENUM('pending', 'approved', 'rejected', 'suspended') | NOT NULL | 商家状态 |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
#### 旅行计划表 (travel_plans)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | INT | PRIMARY KEY, AUTO_INCREMENT | 计划ID |
| user_id | INT | FOREIGN KEY, NOT NULL | 用户ID |
| destination | VARCHAR(100) | NOT NULL | 目的地 |
| start_date | DATE | NOT NULL | 开始日期 |
| end_date | DATE | NOT NULL | 结束日期 |
| budget | DECIMAL(10,2) | NOT NULL | 预算 |
| interests | TEXT | | 兴趣偏好 |
| visibility | ENUM('public', 'friends', 'private') | NOT NULL | 可见范围 |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
#### 动物表 (animals)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | INT | PRIMARY KEY, AUTO_INCREMENT | 动物ID |
| merchant_id | INT | FOREIGN KEY, NOT NULL | 关联的农场商家ID |
| name | VARCHAR(50) | NOT NULL | 动物名称 |
| species | VARCHAR(50) | NOT NULL | 动物种类 |
| breed | VARCHAR(50) | | 品种 |
| birth_date | DATE | | 出生日期 |
| personality | TEXT | | 性格特点 |
| farm_location | VARCHAR(255) | | 农场位置 |
| price | DECIMAL(10,2) | NOT NULL | 认领价格 |
| status | ENUM('available', 'claimed', 'unavailable') | NOT NULL | 状态 |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
#### 动物认领表 (animal_claims)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | INT | PRIMARY KEY, AUTO_INCREMENT | 认领ID |
| user_id | INT | FOREIGN KEY, NOT NULL | 用户ID |
| animal_id | INT | FOREIGN KEY, NOT NULL | 动物ID |
| price_paid | DECIMAL(10,2) | NOT NULL | 支付金额 |
| agreement_url | VARCHAR(255) | | 电子协议URL |
| status | ENUM('active', 'ended', 'cancelled') | NOT NULL | 认领状态 |
| claimed_at | DATETIME | NOT NULL | 认领时间 |
| ended_at | DATETIME | | 结束时间 |
## 2. API设计
### 2.1 用户服务API
#### 用户登录
- **URL**: `POST /api/v1/users/login`
- **请求参数**:
```json
{
"code": "微信登录凭证"
}
```
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"token": "用户token",
"user": {
"id": 1,
"openid": "openid",
"nickname": "用户昵称",
"avatar": "头像URL"
}
}
}
```
#### 获取用户信息
- **URL**: `GET /api/v1/users/profile`
- **请求头**: `Authorization: Bearer {token}`
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"id": 1,
"openid": "openid",
"nickname": "用户昵称",
"avatar": "头像URL",
"gender": "male",
"birthday": "1990-01-01",
"phone": "13800138000",
"email": "user@example.com"
}
}
```
#### 更新用户信息
- **URL**: `PUT /api/v1/users/profile`
- **请求头**: `Authorization: Bearer {token}`
- **请求参数**:
```json
{
"nickname": "新昵称",
"gender": "female",
"birthday": "1995-01-01",
"phone": "13900139000",
"email": "new@example.com"
}
```
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {}
}
```
### 2.2 旅行服务API
#### 创建旅行计划
- **URL**: `POST /api/v1/travels/plans`
- **请求头**: `Authorization: Bearer {token}`
- **请求参数**:
```json
{
"destination": "目的地",
"start_date": "2023-10-01",
"end_date": "2023-10-07",
"budget": 5000.00,
"interests": "徒步,摄影",
"visibility": "public"
}
```
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"id": 1,
"user_id": 1,
"destination": "目的地",
"start_date": "2023-10-01",
"end_date": "2023-10-07",
"budget": 5000.00,
"interests": "徒步,摄影",
"visibility": "public",
"created_at": "2023-09-01T12:00:00Z"
}
}
```
#### 获取旅行计划列表
- **URL**: `GET /api/v1/travels/plans`
- **请求头**: `Authorization: Bearer {token}`
- **查询参数**: `page=1&size=10&visibility=public`
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"id": 1,
"user_id": 1,
"destination": "目的地",
"start_date": "2023-10-01",
"end_date": "2023-10-07",
"budget": 5000.00,
"interests": "徒步,摄影",
"visibility": "public",
"created_at": "2023-09-01T12:00:00Z"
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1
}
}
}
```
#### 匹配旅行伙伴
- **URL**: `GET /api/v1/travels/matches`
- **请求头**: `Authorization: Bearer {token}`
- **查询参数**: `plan_id=1&page=1&size=10`
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"id": 2,
"user_id": 2,
"destination": "目的地",
"start_date": "2023-10-02",
"end_date": "2023-10-08",
"budget": 4500.00,
"interests": "徒步,美食",
"match_score": 0.85
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1
}
}
}
```
### 2.3 动物认领服务API
#### 获取可认领动物列表
- **URL**: `GET /api/v1/animals`
- **请求头**: `Authorization: Bearer {token}`
- **查询参数**: `page=1&size=10&species=羊驼`
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"id": 1,
"merchant_id": 1,
"name": "小羊驼",
"species": "羊驼",
"breed": "苏利羊驼",
"birth_date": "2020-01-01",
"personality": "温顺可爱",
"farm_location": "XX农场",
"price": 1000.00,
"status": "available"
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1
}
}
}
```
#### 认领动物
- **URL**: `POST /api/v1/animals/{id}/claim`
- **请求头**: `Authorization: Bearer {token}`
- **请求参数**:
```json
{
"price_paid": 1000.00
}
```
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"id": 1,
"user_id": 1,
"animal_id": 1,
"price_paid": 1000.00,
"agreement_url": "https://example.com/agreement.pdf",
"status": "active",
"claimed_at": "2023-09-01T12:00:00Z"
}
}
```
#### 获取认领记录
- **URL**: `GET /api/v1/animals/claims`
- **请求头**: `Authorization: Bearer {token}`
- **查询参数**: `page=1&size=10&status=active`
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"id": 1,
"user_id": 1,
"animal_id": 1,
"animal_name": "小羊驼",
"price_paid": 1000.00,
"status": "active",
"claimed_at": "2023-09-01T12:00:00Z"
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1
}
}
}
```
### 2.4 商家服务API
#### 商家注册
- **URL**: `POST /api/v1/merchants/register`
- **请求头**: `Authorization: Bearer {token}`
- **请求参数**:
```json
{
"merchant_type": "farm_owner",
"business_name": "XX农场",
"business_license": "https://example.com/license.jpg",
"contact_person": "张三",
"contact_phone": "13800138000",
"address": "北京市朝阳区XX路XX号",
"description": "专业养殖羊驼的农场"
}
```
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"id": 1,
"user_id": 1,
"merchant_type": "farm_owner",
"business_name": "XX农场",
"business_license": "https://example.com/license.jpg",
"contact_person": "张三",
"contact_phone": "13800138000",
"address": "北京市朝阳区XX路XX号",
"description": "专业养殖羊驼的农场",
"status": "pending",
"created_at": "2023-09-01T12:00:00Z"
}
}
```
#### 发布商品/服务
- **URL**: `POST /api/v1/merchants/products`
- **请求头**: `Authorization: Bearer {token}`
- **请求参数**:
```json
{
"name": "羊驼认领体验",
"description": "提供一个月的羊驼认领体验服务",
"price": 1000.00,
"image_url": "https://example.com/product.jpg",
"category": "animal_claim",
"status": "available"
}
```
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"id": 1,
"merchant_id": 1,
"name": "羊驼认领体验",
"description": "提供一个月的羊驼认领体验服务",
"price": 1000.00,
"image_url": "https://example.com/product.jpg",
"category": "animal_claim",
"status": "available",
"created_at": "2023-09-01T12:00:00Z"
}
}
```
#### 获取商家订单
- **URL**: `GET /api/v1/merchants/orders`
- **请求头**: `Authorization: Bearer {token}`
- **查询参数**: `page=1&size=10&status=paid`
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"id": 1,
"user_id": 2,
"order_number": "ORD202309010001",
"total_amount": 1000.00,
"status": "paid",
"ordered_at": "2023-09-01T12:00:00Z"
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1
}
}
}
```
### 2.5 官网系统API
#### 提交商家入驻申请
- **URL**: `POST /api/v1/website/merchant/apply`
- **请求参数**:
```json
{
"business_name": "XX农场",
"contact_person": "张三",
"contact_phone": "13800138000",
"email": "zhangsan@example.com",
"description": "专业养殖羊驼的农场"
}
```
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"id": 1,
"business_name": "XX农场",
"contact_person": "张三",
"contact_phone": "13800138000",
"email": "zhangsan@example.com",
"description": "专业养殖羊驼的农场",
"status": "pending",
"created_at": "2023-09-01T12:00:00Z"
}
}
```
#### 获取成功案例列表
- **URL**: `GET /api/v1/website/cases`
- **查询参数**: `page=1&size=10`
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"id": 1,
"title": "XX农场成功入驻案例",
"description": "XX农场通过平台实现了数字化转型",
"image_url": "https://example.com/case1.jpg",
"created_at": "2023-09-01T12:00:00Z"
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1
}
}
}
```
"image_url": "https://example.com/product.jpg",
"category": "animal_claim",
"status": "available",
"created_at": "2023-09-01T12:00:00Z"
}
}
```
#### 获取商家订单
- **URL**: `GET /api/v1/merchants/orders`
- **请求头**: `Authorization: Bearer {token}`
- **查询参数**: `page=1&size=10&status=paid`
- **响应**:
```json
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"id": 1,
"user_id": 2,
"order_number": "ORD202309010001",
"total_amount": 1000.00,
"status": "paid",
"ordered_at": "2023-09-01T12:00:00Z"
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1
}
}
}
```
## 3. 核心业务逻辑设计
### 3.1 旅行结伴流程
```mermaid
sequenceDiagram
participant U as 用户
participant TP as 旅行计划服务
participant TM as 旅行匹配服务
participant N as 通知服务
U->>TP: 创建旅行计划
TP->>TP: 保存计划
TP-->>U: 返回计划详情
U->>TM: 请求匹配旅行伙伴
TM->>TM: 根据条件匹配
TM-->>U: 返回匹配结果
U->>U: 选择合适的伙伴
U->>N: 发送结伴邀请
N->>N: 发送通知给被邀请用户
Note over U,N: 被邀请用户接受邀请后,
Note over U,N: 系统创建结伴关系
```
### 3.2 动物认领流程
```mermaid
sequenceDiagram
participant U as 用户
participant A as 动物服务
participant M as 商家服务
participant P as 支付服务
participant N as 通知服务
U->>A: 浏览可认领动物
A-->>U: 返回动物列表
U->>A: 选择动物并认领
A->>P: 创建支付订单
P-->>U: 返回支付信息
U->>P: 完成支付
P->>P: 验证支付结果
P->>A: 通知支付成功
A->>A: 更新动物状态为已认领
A->>M: 通知商家有新认领
A->>N: 发送认领成功通知给用户
M->>M: 更新商家统计信息
N->>N: 发送通知
```
### 3.3 商家服务流程
```mermaid
sequenceDiagram
participant U as 用户
participant M as 商家服务
participant P as 商品服务
participant O as 订单服务
participant Pay as 支付服务
participant N as 通知服务
U->>M: 申请成为商家
M->>M: 审核商家资质
M-->>U: 返回审核结果
alt 审核通过
U->>P: 发布商品/服务
P->>P: 保存商品信息
P-->>U: 返回商品详情
end
U->>P: 浏览商品
P-->>U: 返回商品列表
U->>O: 下单购买
O->>Pay: 创建支付订单
Pay-->>U: 返回支付信息
U->>Pay: 完成支付
Pay->>Pay: 验证支付结果
Pay->>O: 通知支付成功
O->>O: 更新订单状态
O->>M: 通知商家有新订单
O->>N: 发送购买成功通知给用户
M->>M: 处理订单
N->>N: 发送通知
```

333
docs/development_plan.md Normal file
View File

@@ -0,0 +1,333 @@
# 开发计划
## 1. 任务分解 (WBS)
### 1.1 后端开发任务
#### 1.1.1 基础服务搭建
- 用户认证服务 (JWT Token管理)
- API网关配置
- 微服务间通信机制 (gRPC/消息队列)
- 统一配置中心
- 日志收集与监控系统
#### 1.1.2 核心业务服务开发
- 用户管理服务 (用户注册、登录、信息管理)
- 旅行计划服务 (创建、查询、更新旅行计划)
- 旅行匹配服务 (基于兴趣和时间的匹配算法)
- 动物认领服务 (动物信息管理、认领流程)
- 社交互动服务 (消息发送、通知推送)
#### 1.1.3 商家服务开发
- 商家认证与管理服务
- 商品/服务管理服务
- 订单处理服务
- 评价与反馈服务
#### 1.1.4 支付与安全服务
- 支付服务集成 (微信支付)
- 数据加密与安全传输
- API访问控制与权限管理
### 1.2 前端开发任务
#### 1.2.1 基础框架搭建
- 微信小程序基础框架搭建
- UI组件库集成
- 状态管理配置 (Redux/Vuex类似)
- 网络请求封装
#### 1.2.2 用户端功能开发
- 用户登录/注册页面
- 个人中心页面
- 旅行计划创建与浏览页面
- 旅行伙伴匹配页面
- 动物认领浏览与认领页面
- 消息通知页面
#### 1.2.3 商家端功能开发
- 商家注册与认证页面
- 商家中心首页
- 商品/服务管理页面
- 订单管理页面
- 评价管理页面
### 1.3 数据库开发任务
#### 1.3.1 数据库设计与创建
- 核心表结构创建 (用户、商家、旅行计划等)
- 索引优化
- 数据库分表分库设计
#### 1.3.2 数据库初始化
- 初始化数据脚本编写
- 数据迁移脚本
### 1.4 运维部署任务
#### 1.4.1 基础设施搭建
- Kubernetes集群搭建
- Redis集群部署
- RabbitMQ部署
- 数据库主从复制配置
#### 1.4.2 CI/CD流程配置
- Jenkins/GitLab CI配置
- 自动化测试集成
- 自动化部署脚本
#### 1.4.3 监控与日志
- Prometheus监控配置
- Grafana仪表板配置
- ELK日志收集系统配置
### 1.5 官网系统开发任务
#### 1.5.1 官网基础框架搭建
- Nuxt.js 3框架搭建
- TypeScript配置
- Tailwind CSS集成
- Pinia状态管理配置
- API客户端封装
#### 1.5.2 官网页面开发
- 官网首页开发
- 商家合作页面开发
- 成功案例页面开发
- 关于我们页面开发
- 联系我们页面开发
#### 1.5.3 官网功能开发
- 商家入驻申请功能
- 成功案例展示功能
- 表单验证与提交功能
- 响应式布局适配
#### 1.5.4 官网SEO优化
- 页面SEO元信息配置
- 站点地图生成
- 搜索引擎优化配置
## 2. 工时估算
### 2.1 后端开发工时
#### 2.1.1 基础服务搭建 (15人日)
- 用户认证服务: 3人日
- API网关配置: 2人日
- 微服务间通信机制: 4人日
- 统一配置中心: 3人日
- 日志收集与监控系统: 3人日
#### 2.1.2 核心业务服务开发 (25人日)
- 用户管理服务: 4人日
- 旅行计划服务: 5人日
- 旅行匹配服务: 6人日
- 动物认领服务: 5人日
- 社交互动服务: 5人日
#### 2.1.3 商家服务开发 (20人日)
- 商家认证与管理服务: 5人日
- 商品/服务管理服务: 5人日
- 订单处理服务: 5人日
- 评价与反馈服务: 5人日
#### 2.1.4 支付与安全服务 (10人日)
- 支付服务集成: 5人日
- 数据加密与安全传输: 3人日
- API访问控制与权限管理: 2人日
**后端开发总工时: 70人日**
### 2.2 前端开发工时
#### 2.2.1 基础框架搭建 (10人日)
- 微信小程序基础框架搭建: 4人日
- UI组件库集成: 2人日
- 状态管理配置: 2人日
- 网络请求封装: 2人日
#### 2.2.2 用户端功能开发 (25人日)
- 用户登录/注册页面: 3人日
- 个人中心页面: 4人日
- 旅行计划创建与浏览页面: 5人日
- 旅行伙伴匹配页面: 6人日
- 动物认领浏览与认领页面: 4人日
- 消息通知页面: 3人日
#### 2.2.3 商家端功能开发 (20人日)
- 商家注册与认证页面: 4人日
- 商家中心首页: 4人日
- 商品/服务管理页面: 5人日
- 订单管理页面: 4人日
- 评价管理页面: 3人日
**前端开发总工时: 55人日**
### 2.3 数据库开发工时
#### 2.3.1 数据库设计与创建 (8人日)
- 核心表结构创建: 5人日
- 索引优化: 2人日
- 数据库分表分库设计: 1人日
#### 2.3.2 数据库初始化 (2人日)
- 初始化数据脚本编写: 1人日
- 数据迁移脚本: 1人日
**数据库开发总工时: 10人日**
### 2.4 运维部署工时
#### 2.4.1 基础设施搭建 (15人日)
- Kubernetes集群搭建: 5人日
- Redis集群部署: 3人日
- RabbitMQ部署: 3人日
- 数据库主从复制配置: 4人日
#### 2.4.2 CI/CD流程配置 (8人日)
- Jenkins/GitLab CI配置: 3人日
- 自动化测试集成: 3人日
- 自动化部署脚本: 2人日
#### 2.4.3 监控与日志 (4人日)
- Prometheus监控配置: 2人日
- Grafana仪表板配置: 1人日
- ELK日志收集系统配置: 1人日
**运维部署总工时: 27人日**
### 2.5 官网系统开发工时
#### 2.5.1 官网基础框架搭建 (8人日)
- Nuxt.js 3框架搭建: 3人日
- TypeScript配置: 1人日
- Tailwind CSS集成: 2人日
- Pinia状态管理配置: 1人日
- API客户端封装: 1人日
#### 2.5.2 官网页面开发 (12人日)
- 官网首页开发: 3人日
- 商家合作页面开发: 3人日
- 成功案例页面开发: 2人日
- 关于我们页面开发: 2人日
- 联系我们页面开发: 2人日
#### 2.5.3 官网功能开发 (8人日)
- 商家入驻申请功能: 3人日
- 成功案例展示功能: 2人日
- 表单验证与提交功能: 2人日
- 响应式布局适配: 1人日
#### 2.5.4 官网SEO优化 (3人日)
- 页面SEO元信息配置: 1人日
- 站点地图生成: 1人日
- 搜索引擎优化配置: 1人日
**官网系统开发总工时: 31人日**
## 3. 开发里程碑
### 3.1 第一阶段:基础框架搭建 (预计4周)
- **时间**: 第1-4周
- **目标**: 完成技术架构搭建和基础服务开发
- **交付物**:
- 微服务架构搭建完成
- API网关配置完成
- 用户认证服务上线
- 数据库环境搭建完成
- 基础前端框架搭建完成
- **关键任务**:
- 后端基础设施搭建 (15人日)
- 数据库设计与创建 (8人日)
- 前端基础框架搭建 (10人日)
- 运维环境搭建 (15人日)
### 3.2 第二阶段:核心功能开发 (预计6周)
- **时间**: 第5-10周
- **目标**: 完成用户端核心功能开发
- **交付物**:
- 用户管理功能上线
- 旅行计划功能上线
- 旅行匹配功能上线
- 动物认领功能上线
- 社交互动功能上线
- **关键任务**:
- 后端核心业务服务开发 (25人日)
- 前端用户端功能开发 (25人日)
- 支付服务集成 (5人日)
### 3.3 第三阶段:商家功能开发 (预计5周)
- **时间**: 第11-15周
- **目标**: 完成商家端功能开发
- **交付物**:
- 商家认证功能上线
- 商品/服务管理功能上线
- 订单处理功能上线
- 评价反馈功能上线
- **关键任务**:
- 后端商家服务开发 (20人日)
- 前端商家端功能开发 (20人日)
- 安全服务完善 (5人日)
### 3.4 第四阶段:官网系统开发 (预计4周)
- **时间**: 第16-19周
- **目标**: 完成官网系统开发和部署
- **交付物**:
- 官网系统上线
- 商家入驻申请功能上线
- 成功案例展示功能上线
- **关键任务**:
- 官网基础框架搭建 (8人日)
- 官网页面开发 (12人日)
- 官网功能开发 (8人日)
- 官网SEO优化 (3人日)
### 3.5 第五阶段:测试与优化 (预计3周)
- **时间**: 第20-22周
- **目标**: 完成系统测试和性能优化
- **交付物**:
- 系统测试报告
- 性能优化报告
- 安全审计报告
- 上线部署包
- **关键任务**:
- 功能测试 (10人日)
- 性能测试与优化 (8人日)
- 安全测试 (5人日)
- 用户验收测试 (5人日)
- 部署上线 (5人日)
## 4. 资源分配建议
### 4.1 人员配置
- **后端开发工程师**: 3人
- **前端开发工程师**: 3人 (新增1名官网前端开发工程师)
- **数据库工程师**: 1人
- **运维工程师**: 1人
- **测试工程师**: 2人
- **产品经理**: 1人
- **UI/UX设计师**: 1人 (负责官网UI/UX设计)
### 4.2 技术资源
- **开发环境**: macOS/Linux开发机 x 8
- **测试环境**: 腾讯云服务器 (2核4GB) x 3
- **生产环境**: 腾讯云服务器 (4核8GB) x 4
- **开发工具**: VS Code, IntelliJ IDEA, Docker, Kubernetes
- **项目管理**: Jira + Confluence
### 4.3 时间安排建议
- **总开发周期**: 22周 (约5.5个月)
- **并行开发**: 后端与前端可并行开发
- **迭代周期**: 每2周一个迭代每周进行代码评审
- **里程碑评审**: 每个阶段结束后进行里程碑评审
### 4.4 风险控制
- **技术风险**: 微服务架构复杂度高,需提前进行技术预研
- **人员风险**: 关键岗位需有备份人员
- **进度风险**: 预留2周缓冲时间应对不可预见问题
- **质量风险**: 引入自动化测试,保证代码质量
- **官网系统风险**:
- SEO优化效果不达预期
- 浏览器兼容性问题
- 响应式布局在不同设备上显示异常

589
docs/requirements.md Normal file
View File

@@ -0,0 +1,589 @@
# 结伴客小程序需求文档
## 1. 产品概述
### 1.1 产品名称
结伴客
### 1.2 产品定位
结伴客是一款专注于结伴旅行活动的小程序,与其他交友平台不同的是,它包含了目的地牛、羊、猪、鸡等动物的认领功能,为用户提供独特的旅行体验。
### 1.3 目标用户
#### 普通用户
- 热爱旅行的年轻人
- 希望通过旅行结识新朋友的用户
- 对农场生活和动物互动感兴趣的用户
#### 商家用户
- 花店老板:提供鲜花产品和服务
- 活动组织者:组织各类结伴活动
- 农场老板:提供动物认领和农场体验服务
### 1.4 核心价值
- 为用户提供安全、便捷的结伴旅行服务
- 通过动物认领功能,增加旅行的趣味性和独特性
- 促进用户之间的社交互动,建立旅行伙伴关系
## 2. 功能需求
### 2.1 用户管理
#### 普通用户
- 用户注册/登录
- 个人信息完善(头像、昵称、性别、年龄、兴趣爱好等)
- 个人主页展示
#### 商家用户
- 商家注册/登录(需要资质审核)
- 商家信息完善(店铺名称、营业执照、联系方式、服务介绍等)
- 商家主页展示(包含服务项目、评价等)
### 2.2 旅行结伴
- 发布旅行计划(目的地、时间、天数、预算、兴趣偏好等)
- 浏览和搜索其他用户的旅行计划
- 根据条件匹配相似行程的用户
- 发起结伴邀请
- 接受/拒绝结伴邀请
- 发起和参与其他结伴活动(看电影、拼饭、桌游等)
- 基于定位查看周围或某个区域的目的地信息
### 2.3 动物认领
- 浏览可认领的动物(牛、羊、猪、鸡等)
- 查看动物详情(品种、年龄、性格特点、所在农场等)
- 认领动物(支付认领费用、签订电子协议)
- 查看认领的动物状态(生长记录、健康状况等)
- 与认领的动物互动(视频监控、喂养记录等)
### 2.4 社交互动
- 用户之间发送消息
- 评论和点赞功能
- 分享旅行经历和动物认领体验
### 2.5 安全保障
- 用户评价体系
- 紧急联系功能
- 举报和投诉机制
### 2.6 用户推广奖励机制
- 用户可以通过分享小程序获得推广链接
- 新用户通过推广链接注册可获得奖励
- 推广者根据推广效果获得相应奖励
- 用户分享活动可获得奖励
- 用户分享认养可获得奖励
- 邀请多人认养一个动物可获得奖励
- 推广数据统计和奖励发放机制
- 推广奖励提现功能
### 2.7 送花服务
#### 普通用户功能
- 浏览合作花店的鲜花产品
- 在线选择并订购鲜花
- 选择送花对象(结伴伙伴或特定用户)
- 跟踪送花订单状态
#### 商家用户(花店老板)功能
- 管理鲜花产品(添加、编辑、删除商品信息)
- 管理订单(查看、处理、更新订单状态)
- 设置配送范围和时间
- 查看销售数据和收益统计
### 2.8 官网功能
#### 普通用户功能
- 浏览官网首页,了解平台介绍和核心功能
- 查看成功案例和用户评价
- 浏览动物认领和旅行结伴相关资讯
- 通过官网直接跳转至小程序
#### 商家用户功能
- 通过官网了解平台商业模式和收益机制
- 查看商家合作政策和入驻流程
- 在线提交商家入驻申请
- 查看商家成功案例和收益数据
## 3. 用户故事
### 3.1 旅行结伴功能
#### 故事1发布旅行计划
**As a** 旅行爱好者
**I want to** 发布我的旅行计划
**So that** 其他用户可以看到我的行程并申请结伴
**验收标准:**
- 用户可以填写目的地、时间、天数、预算等信息
- 用户可以设置行程的可见范围
- 发布成功后,其他用户可以搜索到该行程
### 3.8 官网功能
#### 故事22浏览官网了解平台信息
**As a** 潜在用户
**I want to** 通过官网了解平台信息
**So that** 我可以更好地了解平台功能并决定是否使用
**验收标准:**
- 用户可以访问官网首页
- 用户可以浏览平台介绍和核心功能
- 用户可以查看成功案例和用户评价
- 用户可以通过官网直接跳转至小程序
#### 故事23商家通过官网了解合作政策
**As a** 潜在商家
**I want to** 通过官网了解商家合作政策
**So that** 我可以了解入驻条件和收益机制
**验收标准:**
- 商家可以访问官网商家合作页面
- 商家可以查看合作政策和入驻流程
- 商家可以在线提交入驻申请
- 商家可以查看成功案例和收益数据
#### 故事2寻找结伴伙伴
**As a** 旅行者
**I want to** 根据条件搜索和匹配相似行程的用户
**So that** 我能找到合适的结伴伙伴
**验收标准:**
- 用户可以根据目的地、时间等条件筛选行程
- 系统能推荐匹配度高的行程
- 用户可以查看其他用户的详细信息和评价
#### 故事3发起结伴邀请
**As a** 旅行者
**I want to** 向匹配的用户发起结伴邀请
**So that** 我可以与他们一起旅行
**验收标准:**
- 用户可以向其他用户发送结伴邀请
- 被邀请用户可以接受或拒绝邀请
- 双方接受邀请后建立结伴关系
#### 故事4基于定位查看目的地信息
**As a** 旅行者
**I want to** 基于我的位置查看周围的目的地信息
**So that** 我可以发现附近有趣的旅行地点
**验收标准:**
- 用户可以授权小程序获取当前位置
- 系统根据用户位置显示附近的目的地信息
- 用户可以查看目的地的详细信息(距离、评分、特色等)
- 用户可以根据距离、评分等条件筛选目的地
- 用户可以将感兴趣的目的地添加到旅行计划中
#### 故事12发起其他结伴活动
**As a** 用户
**I want to** 发起看电影、拼饭、桌游等结伴活动
**So that** 我可以与志趣相投的伙伴一起享受休闲时光
**验收标准:**
- 用户可以选择活动类型(看电影、拼饭、桌游等)
- 用户可以设置活动时间、地点、人数要求等信息
- 其他用户可以浏览和申请参加活动
- 发起者可以接受或拒绝参与申请
### 3.2 动物认领功能
#### 故事4浏览可认领动物
**As a** 对农场生活感兴趣的用户
**I want to** 浏览可认领的动物
**So that** 我可以选择自己喜欢的动物进行认领
**验收标准:**
- 用户可以查看所有可认领的动物列表
- 每个动物都有详细的介绍(品种、年龄、性格特点等)
- 用户可以根据动物类型进行筛选
#### 故事5认领动物
**As a** 用户
**I want to** 认领我喜欢的动物
**So that** 我可以体验农场生活并与动物互动
**验收标准:**
- 用户可以选择动物并支付认领费用
- 系统生成电子协议供用户签署
- 认领成功后,用户可以在个人中心查看认领的动物
#### 故事6与认领动物互动
**As a** 动物认领者
**I want to** 通过视频监控和喂养记录与认领的动物互动
**So that** 我可以随时了解动物的状态并参与其成长过程
**验收标准:**
- 用户可以实时查看动物的视频监控
- 用户可以记录喂养情况
- 系统会推送动物的生长记录和健康状况
### 3.3 社交互动功能
#### 故事7发送消息
**As a** 用户
**I want to** 与其他用户发送消息
**So that** 我可以与他们沟通旅行细节
**验收标准:**
- 用户可以向其他用户发送文本消息
- 用户可以查看聊天记录
- 支持消息提醒功能
#### 故事8分享旅行经历
**As a** 旅行者
**I want to** 分享我的旅行经历和动物认领体验
**So that** 其他用户可以了解我的旅行故事
**验收标准:**
- 用户可以发布图文动态
- 其他用户可以点赞和评论
- 动态会显示在用户的个人主页
### 3.4 送花服务功能
#### 故事9浏览并订购鲜花
**As a** 用户
**I want to** 浏览合作花店的鲜花产品并在线订购
**So that** 我可以向结伴伙伴或特定用户表达心意
**验收标准:**
- 用户可以浏览合作花店的鲜花产品
- 用户可以选择鲜花并添加到购物车
- 用户可以完成在线支付
- 系统将订单信息同步至实体花店
#### 故事10选择送花对象
**As a** 用户
**I want to** 选择送花对象
**So that** 我可以将鲜花送给特定的人
**验收标准:**
- 用户可以从结伴伙伴列表中选择送花对象
- 用户可以通过搜索选择其他用户作为送花对象
- 系统会显示送花对象的基本信息
#### 故事11跟踪送花订单
**As a** 用户
**I want to** 跟踪送花订单状态
**So that** 我可以了解鲜花送达情况
**验收标准:**
- 用户可以在个人中心查看送花订单列表
- 用户可以查看每个订单的当前状态(已下单、已接单、配送中、已完成)
- 系统会在订单状态更新时推送通知
#### 故事18管理鲜花产品
**As a** 花店老板
**I want to** 管理我的鲜花产品
**So that** 我可以向用户提供最新的产品信息
**验收标准:**
- 商家可以添加新的鲜花产品(图片、名称、价格、描述等)
- 商家可以编辑现有产品信息
- 商家可以删除下架的产品
- 用户可以浏览到更新后的产品信息
#### 故事19管理订单
**As a** 花店老板
**I want to** 管理用户的送花订单
**So that** 我可以及时处理订单并提供配送服务
**验收标准:**
- 商家可以在商家中心查看所有订单
- 商家可以更新订单状态(已接单、配送中、已完成)
- 系统会向用户推送订单状态更新通知
- 商家可以查看订单统计信息
### 3.5 用户推广奖励机制
#### 故事12获取推广链接
**As a** 用户
**I want to** 获取专属推广链接
**So that** 我可以分享给朋友并获得奖励
**验收标准:**
- 用户可以在个人中心找到推广功能入口
- 系统为每个用户生成唯一的推广链接
- 用户可以通过多种方式分享推广链接(微信、朋友圈等)
#### 故事13查看推广数据和奖励
**As a** 用户
**I want to** 查看我的推广数据和奖励情况
**So that** 我可以了解推广效果和收益
**验收标准:**
- 用户可以在个人中心查看推广数据(推广人数、成功注册数等)
- 用户可以查看累计获得的奖励金额
- 用户可以查看奖励发放记录
#### 故事14提现推广奖励
**As a** 用户
**I want to** 提现我的推广奖励
**So that** 我可以将奖励转换为实际收益
**验收标准:**
- 用户可以在个人中心申请提现
- 用户需要绑定提现账户(微信钱包等)
- 系统处理提现申请并在规定时间内到账
### 3.6 活动分享奖励
#### 故事15分享活动获得奖励
**As a** 用户
**I want to** 分享我参与的活动
**So that** 我可以获得奖励并邀请更多人参与
**验收标准:**
- 用户可以分享自己参与的结伴活动
- 系统记录分享行为并给予相应奖励
- 被邀请用户通过分享链接参与活动时,分享者可获得额外奖励
### 3.7 认养分享奖励
#### 故事16分享认养获得奖励
**As a** 用户
**I want to** 分享我的动物认养
**So that** 我可以获得奖励并让更多人了解认养
**验收标准:**
- 用户可以分享自己认养的动物信息
- 系统记录分享行为并给予相应奖励
- 其他用户通过分享链接认养动物时,分享者可获得额外奖励
### 3.8 多人认养奖励
#### 故事17邀请多人认养一个动物
**As a** 用户
**I want to** 邀请朋友一起认养一个动物
**So that** 我可以与朋友共同体验认养乐趣并获得奖励
**验收标准:**
- 用户可以邀请朋友共同认养一个动物
- 系统支持多人认养同一个动物
- 成功邀请朋友认养后,邀请者可获得奖励
### 3.9 活动组织者功能
#### 故事20发布和管理结伴活动
**As a** 活动组织者
**I want to** 发布和管理结伴活动
**So that** 我可以为用户提供丰富的活动选择
**验收标准:**
- 活动组织者可以发布新的结伴活动(类型、时间、地点、费用等)
- 活动组织者可以编辑已发布的活动信息
- 活动组织者可以查看活动报名情况
- 活动组织者可以取消活动并通知报名用户
### 3.10 农场老板功能
#### 故事21管理动物认领信息
**As a** 农场老板
**I want to** 管理农场动物认领信息
**So that** 我可以为用户提供准确的认领服务
**验收标准:**
- 农场老板可以添加新的可认领动物
- 农场老板可以更新动物状态信息(生长记录、健康状况等)
- 农场老板可以查看认领情况和认领者信息
- 农场老板可以设置认领费用和条件
## 4. 非功能性需求
### 4.1 性能需求
- 页面加载时间不超过3秒
- 支持同时在线用户数1000人
- 商家服务页面加载时间不超过2秒
### 4.2 安全需求
- 用户数据加密存储
- 敏感操作需要二次确认
- 防止SQL注入和XSS攻击
- 商家资质信息加密存储
- 商家与用户交易记录加密存储
- 商家服务评价数据防篡改
### 4.3 兼容性需求
- 支持微信小程序平台
- 兼容不同屏幕尺寸的移动设备
## 5. 优先级建议
### 5.1 功能优先级MoSCoW模型
**Must Have必须有**
- 用户注册/登录
- 发布和浏览旅行计划
- 基本的结伴匹配功能
- 动物认领核心功能
**Should Have应该有**
- 用户评价体系
- 消息发送功能
- 动物状态查看
- 其他结伴活动功能
- 用户推广奖励机制
- 活动分享奖励功能
- 认养分享奖励功能
- 多人认养奖励功能
- 商家用户管理功能
- 花店商家功能
- 活动组织者功能
- 农场老板功能
- 官网功能
**Could Have可以有**
- 视频监控功能
- 个性化推荐算法
- 社区动态分享
- 送花服务基础功能
- 基于定位查看目的地信息功能
**Won't Have不会有**
- 虚拟现实农场体验
- AI智能行程规划
- 虚拟送花效果预览
## 6. 原型构思
### 6.1 主要界面
#### 首页
- 顶部搜索栏(搜索目的地、用户、动物)
- 轮播图展示热门旅行路线和动物认领活动
- 两个主要功能入口:"找搭子"和"认领动物"
- 推荐的旅行计划列表
#### 旅行计划页面
- 发布旅行计划按钮
- 筛选条件(目的地、时间、预算等)
- 旅行计划卡片列表(显示基本信息和匹配度)
#### 结伴活动页面
- 发布结伴活动按钮
- 活动类型筛选(看电影、拼饭、桌游等)
- 活动卡片列表(显示活动类型、时间、地点、参与人数等信息)
#### 动物认领页面
- 动物分类筛选
- 动物卡片列表(显示动物图片、基本信息)
- 认领排行榜(最受欢迎的动物)
#### 个人中心
- 用户头像和基本信息
- 我的旅行计划
- 我认领的动物
- 我的送花记录
- 我的推广奖励
- 我的活动分享
- 我的认养分享
- 多人认养邀请
- 消息通知
- 设置选项
#### 送花服务页面
- 鲜花产品展示(图片、价格、花语介绍)
- 分类筛选(节日、用途、价格区间等)
- 购物车功能
- 订单确认页面(选择送花对象、填写祝福语、选择配送时间)
#### 推广奖励页面
- 推广链接展示和复制功能
- 二维码推广海报生成
- 推广数据统计图表(推广人数、注册人数、收益等)
- 奖励明细列表
- 提现功能入口
#### 定位功能页面
- 基于用户当前位置显示附近的目的地
- 地图视图展示目的地位置
- 目的地列表视图(包含距离、评分等信息)
- 筛选功能(按距离、评分、特色等条件筛选)
- 搜索功能(搜索特定区域或目的地)
#### 活动分享页面
- 用户参与的活动列表
- 活动分享按钮和分享统计
- 分享奖励记录
#### 认养分享页面
- 用户认养的动物列表
- 动物分享按钮和分享统计
- 分享奖励记录
#### 多人认养邀请页面
- 可邀请的动物列表
- 邀请好友功能
- 邀请记录和奖励明细
#### 商家中心首页
- 商家信息展示
- 服务概览(订单数、收益、评价等)
- 快捷操作入口(发布产品、查看订单等)
#### 官网首页
- 平台介绍和核心功能展示
- 成功案例和用户评价展示
- 动物认领和旅行结伴相关资讯
- 小程序跳转入口
#### 商家合作页面
- 平台商业模式和收益机制介绍
- 商家合作政策和入驻流程
- 在线入驻申请表单
- 商家成功案例和收益数据展示
#### 商品管理页面
- 商品列表展示
- 添加/编辑商品功能
- 商品状态管理(上架/下架)
#### 订单管理页面
- 订单列表展示
- 订单状态更新功能
- 订单详情查看
#### 活动管理页面
- 活动列表展示
- 发布/编辑活动功能
- 活动报名情况查看
#### 动物管理页面
- 可认领动物列表
- 添加/编辑动物信息功能
- 动物状态更新功能
### 6.2 核心流程
#### 结伴流程:
1. 用户发布旅行计划
2. 系统匹配相似行程
3. 用户发起结伴邀请
4. 被邀请用户接受邀请
5. 双方建立结伴关系,开始沟通
#### 认领流程:
1. 用户浏览可认领动物
2. 选择心仪动物
3. 支付认领费用
4. 签署电子协议
5. 开始与动物互动
#### 商家服务流程:
1. 商家注册并完善信息
2. 商家发布服务/产品
3. 用户浏览并选择服务/产品
4. 用户下单并支付
5. 商家处理订单
6. 服务完成,用户评价
## 7. 验收标准
### 7.1 功能验收
- 所有用户故事的验收标准均已满足
- 功能测试通过率达到95%以上
- 用户界面符合设计要求
### 7.2 性能验收
- 页面加载时间符合要求
- 系统稳定性测试通过
- 压力测试达到预期指标
### 7.3 安全验收
- 安全测试通过
- 用户隐私保护符合法规要求

20
up_website.sh Normal file
View File

@@ -0,0 +1,20 @@
#!/bin/bash
# 配置参数
LOCAL_DIR="/Users/ainongkeji/code/vue/jiebanke/website"
REMOTE_USER="root"
REMOTE_HOST="119.45.104.14"
REMOTE_DIR="/data/php/jiebanke/www"
PASSWORD="Aiotjkl$741515"
# 检查本地目录是否存在
if [ ! -d "$LOCAL_DIR" ]; then
echo "错误:本地目录 $LOCAL_DIR 不存在!"
exit 1
fi
# 使用 rsync 上传文件
echo "开始上传文件到远程服务器..."
rsync -avz --progress --delete "$LOCAL_DIR/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"
echo "上传完成!"

283
website/about.html Normal file
View File

@@ -0,0 +1,283 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>关于我们 - 结伴客</title>
<meta name="description" content="了解结伴客平台的发展历程、核心价值观和团队信息。我们致力于为用户提供优质的旅行结伴和动物认领服务。">
<meta name="keywords" content="结伴客, 关于我们, 平台介绍, 发展历程, 核心价值观, 团队介绍">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<!-- 添加Logo -->
<a class="navbar-brand" href="index.html">
<img src="../images/logo.png" alt="结伴客 Logo" width="30" height="30" class="d-inline-block align-top me-2">
<i class="bi bi-map-fill me-2"></i>结伴客
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="index.html">首页</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="about.html">关于我们</a>
</li>
<li class="nav-item">
<a class="nav-link" href="case.html">成功案例</a>
</li>
<li class="nav-item">
<a class="nav-link" href="merchant/">商家合作</a>
</li>
<li class="nav-item">
<a class="nav-link" href="contact.html">联系我们</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- 关于我们横幅 -->
<section class="hero-section">
<div class="container text-center position-relative">
<h1 class="display-2 fw-bold mb-4">关于我们</h1>
<p class="lead mb-5 fs-4">人生本就是一段孤独的旅程,所有的相遇都不是必然,但我们相信,每一次结伴都值得珍惜<br>让我们一起创造美好的回忆</p>
</div>
</section>
<!-- 公司介绍 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title text-center">公司介绍</h2>
</div>
</div>
<div class="row">
<div class="col-lg-8 mx-auto">
<p class="lead">结伴客平台成立于2015年专注于为用户提供独特的旅行结伴和动物认领服务。我们相信旅行不仅是看风景更是与人分享、与自然互动的过程。</p>
<p>通过我们的平台,用户可以找到志同道合的旅行伙伴,一起探索世界的美好;也可以认领可爱的动物,体验农场生活,感受生命的温暖。我们致力于打造一个温暖、有趣、有意义的社交旅行平台。</p>
</div>
</div>
</section>
<!-- 核心价值观 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title text-center">核心价值观</h2>
</div>
</div>
<div class="row">
<div class="col-md-4 mb-4">
<div class="value-box">
<div class="value-icon">
<i class="bi bi-heart-fill"></i>
</div>
<h3>真诚</h3>
<p class="mb-0">我们坚持以真诚的态度对待每一位用户和合作伙伴,建立信任关系。</p>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="value-box">
<div class="value-icon">
<i class="bi bi-lightning-fill"></i>
</div>
<h3>创新</h3>
<p class="mb-0">我们不断探索新的服务模式,为用户带来独特的体验。</p>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="value-box">
<div class="value-icon">
<i class="bi bi-people-fill"></i>
</div>
<h3>共享</h3>
<p class="mb-0">我们倡导分享精神,让用户在平台上共享快乐和经验。</p>
</div>
</div>
</div>
</section>
<!-- 发展历程 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title text-center">发展历程</h2>
</div>
</div>
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="milestone">
<div class="milestone-icon">
<i class="bi bi-1-circle-fill"></i>
</div>
<h5>2015年 - 平台成立</h5>
<p>结伴客平台正式成立,专注于旅行结伴服务。</p>
</div>
<div class="milestone">
<div class="milestone-icon">
<i class="bi bi-2-circle-fill"></i>
</div>
<h5>2017年 - 服务升级</h5>
<p>推出动物认领服务,为用户提供更多元化的体验。</p>
</div>
<div class="milestone">
<div class="milestone-icon">
<i class="bi bi-3-circle-fill"></i>
</div>
<h5>2019年 - 用户突破</h5>
<p>注册用户突破10万合作商家达到500家。</p>
</div>
<div class="milestone">
<div class="milestone-icon">
<i class="bi bi-4-circle-fill"></i>
</div>
<h5>2021年 - 服务拓展</h5>
<p>新增送花服务,丰富用户体验。</p>
</div>
<div class="milestone">
<div class="milestone-icon">
<i class="bi bi-5-circle-fill"></i>
</div>
<h5>2023年 - 技术革新</h5>
<p>全面升级平台技术架构,提升用户体验。</p>
</div>
</div>
</div>
</section>
<!-- 团队介绍 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title text-center">我们的团队</h2>
</div>
</div>
<div class="row">
<div class="col-md-3 col-6 mb-4">
<div class="team-member">
<img src="https://via.placeholder.com/150x150/667eea/ffffff?text=CEO" class="team-photo" alt="CEO">
<h5>张总</h5>
<p class="text-muted mb-0">首席执行官</p>
</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="team-member">
<img src="https://via.placeholder.com/150x150/764ba2/ffffff?text=CTO" class="team-photo" alt="CTO">
<h5>李总</h5>
<p class="text-muted mb-0">首席技术官</p>
</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="team-member">
<img src="https://via.placeholder.com/150x150/f093fb/ffffff?text=COO" class="team-photo" alt="COO">
<h5>王总</h5>
<p class="text-muted mb-0">首席运营官</p>
</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="team-member">
<img src="https://via.placeholder.com/150x150/f5576c/ffffff?text=CMO" class="team-photo" alt="CMO">
<h5>刘总</h5>
<p class="text-muted mb-0">首席市场官</p>
</div>
</div>
</div>
</section>
<!-- 页脚 -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-md-4 mb-4">
<h5 class="mb-4">
<i class="bi bi-map-fill me-2"></i>结伴客
</h5>
<p>专注于结伴旅行活动的平台,包含独特的动物认领功能。</p>
<div class="d-flex">
<a href="#" class="social-icon me-2">
<i class="bi bi-wechat"></i>
</a>
<a href="#" class="social-icon me-2">
<i class="bi bi-weibo"></i>
</a>
<a href="#" class="social-icon">
<i class="bi bi-tencent-qq"></i>
</a>
</div>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">产品</h5>
<ul class="list-unstyled">
<li><a href="#" class="d-block py-1">旅行结伴</a></li>
<li><a href="#" class="d-block py-1">动物认领</a></li>
<li><a href="#" class="d-block py-1">送花服务</a></li>
<li><a href="#" class="d-block py-1">推广奖励</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">关于</h5>
<ul class="list-unstyled">
<li><a href="about.html" class="d-block py-1">关于我们</a></li>
<li><a href="case.html" class="d-block py-1">成功案例</a></li>
<li><a href="merchant/" class="d-block py-1">商家合作</a></li>
<li><a href="contact.html" class="d-block py-1">联系我们</a></li>
</ul>
</div>
<div class="col-md-4 mb-4">
<h5 class="mb-4">联系我们</h5>
<ul class="list-unstyled">
<li class="d-flex align-items-start mb-3">
<i class="bi bi-envelope-fill me-2 mt-1"></i>
<span>contact@jiebanke.com</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-telephone-fill me-2 mt-1"></i>
<span>17897111756</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-geo-alt-fill me-2 mt-1"></i>
<span>中国光谷</span>
</li>
</ul>
</div>
</div>
<div class="row pt-4 mt-4 border-top border-secondary">
<div class="col-md-6 text-center text-md-start">
<p class="mb-0">&copy; 2025 结伴客. 保留所有权利.</p>
<p class="mb-0 small">Copyright 2015 All rights reserved 鄂ICP备15009094号-1 jiebanke.com 武汉高灏科技有限责任公司</p>
</div>
<div class="col-md-6 text-center text-md-end">
<ul class="list-inline mb-0">
<li class="list-inline-item"><a href="#">用户协议</a></li>
<li class="list-inline-item"><a href="#">隐私政策</a></li>
<li class="list-inline-item"><a href="#">网站地图</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.js"></script>
</body>
</html>

285
website/case.html Normal file
View File

@@ -0,0 +1,285 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>成功案例 - 结伴客</title>
<meta name="description" content="查看结伴客平台用户和商家的成功案例,了解旅行结伴、动物认领和送花服务的真实体验故事。">
<meta name="keywords" content="结伴客, 成功案例, 用户案例, 商家案例, 旅行结伴案例, 动物认领案例, 送花服务案例">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<!-- 添加Logo -->
<a class="navbar-brand" href="index.html">
<img src="images/logo.png" alt="结伴客 Logo" width="30" height="30" class="d-inline-block align-top me-2">
<i class="bi bi-map-fill me-2"></i>结伴客
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="index.html">首页</a>
</li>
<li class="nav-item">
<a class="nav-link" href="about.html">关于我们</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="case.html">成功案例</a>
</li>
<li class="nav-item">
<a class="nav-link" href="merchant/">商家合作</a>
</li>
<li class="nav-item">
<a class="nav-link" href="contact.html">联系我们</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- 成功案例横幅 -->
<section class="hero-section">
<div class="container text-center position-relative">
<h1 class="display-2 fw-bold mb-4">成功案例</h1>
<p class="lead mb-5 fs-4">人生就像一场旅行,每一次结伴都是一段独特的故事<br>看看我们的用户和商家如何创造美好回忆</p>
</div>
</section>
<!-- 用户案例 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title">用户案例</h2>
</div>
</div>
<div class="row">
<div class="col-md-4 mb-4">
<div class="card case-card">
<img src="https://via.placeholder.com/400x200/667eea/ffffff?text=旅行结伴" class="card-img-top case-image" alt="用户案例1">
<div class="card-body">
<h5 class="card-title">从陌生人到旅行伙伴</h5>
<div class="testimonial-content">
<div class="quote-mark"></div>
<p class="card-text">通过结伴客找到了同样喜欢徒步的小王,两人一起完成了川藏线的徒步旅行,成为了很好的朋友。</p>
</div>
<a href="#" class="btn btn-primary">查看详情</a>
</div>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="card case-card">
<img src="https://via.placeholder.com/400x200/f093fb/ffffff?text=农场体验" class="card-img-top case-image" alt="用户案例2">
<div class="card-body">
<h5 class="card-title">难忘的农场体验</h5>
<div class="testimonial-content">
<div class="quote-mark"></div>
<p class="card-text">认领了一只小羊,定期到农场看望它,体验了真正的农场生活,这成为最难忘的旅行回忆。</p>
</div>
<a href="#" class="btn btn-primary">查看详情</a>
</div>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="card case-card">
<img src="https://via.placeholder.com/400x200/764ba2/ffffff?text=送花服务" class="card-img-top case-image" alt="用户案例3">
<div class="card-body">
<h5 class="card-title">浪漫的送花惊喜</h5>
<div class="testimonial-content">
<div class="quote-mark"></div>
<p class="card-text">通过结伴客为结伴伙伴订购了鲜花,给了她一个浪漫的惊喜,两人的关系更进一步。</p>
</div>
<a href="#" class="btn btn-primary">查看详情</a>
</div>
</div>
</div>
</div>
</section>
<!-- 商家案例 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title">商家案例</h2>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<div class="card case-card h-100">
<div class="card-body d-flex flex-column">
<h5 class="card-title">绿野农场 - 动物认领业务增长</h5>
<div class="testimonial-content flex-grow-1">
<div class="quote-mark"></div>
<p class="card-text">通过结伴客平台绿野农场的动物认领业务增长了300%,吸引了大量城市用户前来体验农场生活。</p>
</div>
<ul class="list-group list-group-flush mb-3">
<li class="list-group-item d-flex justify-content-between align-items-center">
月均认领动物数量增长
<span class="badge bg-primary rounded-pill">300%</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
农场参观人数增长
<span class="badge bg-primary rounded-pill">200%</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
用户满意度
<span class="badge bg-success rounded-pill">4.9</span>
</li>
</ul>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card case-card h-100">
<div class="card-body d-flex flex-column">
<h5 class="card-title">花好月圆花店 - 送花服务拓展</h5>
<div class="testimonial-content flex-grow-1">
<div class="quote-mark"></div>
<p class="card-text">加入结伴客平台后花店的送花服务订单增长了150%,特别是在节假日期间订单量暴增。</p>
</div>
<ul class="list-group list-group-flush mb-3">
<li class="list-group-item d-flex justify-content-between align-items-center">
月均订单增长
<span class="badge bg-primary rounded-pill">150%</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
复购率提升
<span class="badge bg-primary rounded-pill">80%</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
用户好评率
<span class="badge bg-success rounded-pill">4.8</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</section>
<!-- 数据统计 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title">平台成就</h2>
</div>
</div>
<div class="row">
<div class="col-md-3 col-6 mb-4">
<div class="stats-card">
<div class="stats-number">10000+</div>
<div class="stats-label">成功结伴</div>
</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="stats-card">
<div class="stats-number">5000+</div>
<div class="stats-label">动物认领</div>
</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="stats-card">
<div class="stats-number">500+</div>
<div class="stats-label">合作商家</div>
</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="stats-card">
<div class="stats-number">4.8</div>
<div class="stats-label">用户评分</div>
</div>
</div>
</div>
</section>
<!-- 页脚 -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-md-4 mb-4">
<h5 class="mb-4">
<i class="bi bi-map-fill me-2"></i>结伴客
</h5>
<p>专注于结伴旅行活动的平台,包含独特的动物认领功能。</p>
<div class="d-flex">
<a href="#" class="social-icon me-2">
<i class="bi bi-wechat"></i>
</a>
<a href="#" class="social-icon me-2">
<i class="bi bi-weibo"></i>
</a>
<a href="#" class="social-icon">
<i class="bi bi-tencent-qq"></i>
</a>
</div>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">产品</h5>
<ul class="list-unstyled">
<li><a href="#" class="d-block py-1">旅行结伴</a></li>
<li><a href="#" class="d-block py-1">动物认领</a></li>
<li><a href="#" class="d-block py-1">送花服务</a></li>
<li><a href="#" class="d-block py-1">推广奖励</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">关于</h5>
<ul class="list-unstyled">
<li><a href="about.html" class="d-block py-1">关于我们</a></li>
<li><a href="case.html" class="d-block py-1">成功案例</a></li>
<li><a href="merchant/" class="d-block py-1">商家合作</a></li>
<li><a href="contact.html" class="d-block py-1">联系我们</a></li>
</ul>
</div>
<div class="col-md-4 mb-4">
<h5 class="mb-4">联系我们</h5>
<ul class="list-unstyled">
<li class="d-flex align-items-start mb-3">
<i class="bi bi-envelope-fill me-2 mt-1"></i>
<span>contact@jiebanke.com</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-telephone-fill me-2 mt-1"></i>
<span>400-123-4567</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-geo-alt-fill me-2 mt-1"></i>
<span>北京市朝阳区某某大厦</span>
</li>
</ul>
</div>
</div>
<div class="row pt-4 mt-4 border-top border-secondary">
<div class="col-md-6 text-center text-md-start">
<p class="mb-0">&copy; 2025 结伴客. 保留所有权利.</p>
<p class="mb-0 small">Copyright 2015 All rights reserved 鄂ICP备15009094号-1 jiebanke.com 武汉高灏科技有限责任公司</p>
</div>
<div class="col-md-6 text-center text-md-end">
<ul class="list-inline mb-0">
<li class="list-inline-item"><a href="#">用户协议</a></li>
<li class="list-inline-item"><a href="#">隐私政策</a></li>
<li class="list-inline-item"><a href="#">网站地图</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.js"></script>
</body>
</html>

247
website/contact.html Normal file
View File

@@ -0,0 +1,247 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>联系我们 - 结伴客</title>
<meta name="description" content="联系结伴客平台,获取旅行结伴、动物认领、送花服务等相关咨询和帮助。">
<meta name="keywords" content="结伴客, 联系我们, 旅行结伴, 动物认领, 送花服务, 客服咨询">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<!-- 添加Logo -->
<a class="navbar-brand" href="index.html">
<img src="images/logo.png" alt="结伴客 Logo" width="30" height="30" class="d-inline-block align-top me-2">
<i class="bi bi-map-fill me-2"></i>结伴客
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="index.html">首页</a>
</li>
<li class="nav-item">
<a class="nav-link" href="about.html">关于我们</a>
</li>
<li class="nav-item">
<a class="nav-link" href="case.html">成功案例</a>
</li>
<li class="nav-item">
<a class="nav-link" href="merchant/">商家合作</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="contact.html">联系我们</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- 联系我们横幅 -->
<section class="hero-section">
<div class="container text-center position-relative">
<h1 class="display-2 fw-bold mb-4">联系我们</h1>
<p class="lead mb-5 fs-4">人生本就是一段孤独的旅程,但联系让我们不再孤单<br>有任何问题或建议?欢迎随时与我们联系</p>
</div>
</section>
<!-- 联系信息 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title">联系信息</h2>
</div>
</div>
<div class="row">
<div class="col-md-4 mb-4">
<div class="contact-info">
<div class="contact-icon">
<i class="bi bi-geo-alt-fill"></i>
</div>
<h3>公司地址</h3>
<p class="mb-0">北京市朝阳区某某大厦</p>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="contact-info">
<div class="contact-icon">
<i class="bi bi-telephone-fill"></i>
</div>
<h3>联系电话</h3>
<p class="mb-0">400-123-4567</p>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="contact-info">
<div class="contact-icon">
<i class="bi bi-envelope-fill"></i>
</div>
<h3>联系邮箱</h3>
<p class="mb-0">contact@jiebanke.com</p>
</div>
</div>
</div>
</section>
<!-- 联系表单 -->
<section class="form-section">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="contact-form">
<h2 class="mb-4">留言给我们</h2>
<p class="lead text-muted mb-4">有任何问题或建议,请填写以下表单,我们会尽快回复您。</p>
<form>
<div class="row">
<div class="col-md-6 mb-4">
<label for="name" class="form-label">姓名 <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="name" required placeholder="请输入您的姓名">
</div>
<div class="col-md-6 mb-4">
<label for="email" class="form-label">邮箱 <span class="text-danger">*</span></label>
<input type="email" class="form-control" id="email" required placeholder="请输入您的邮箱">
</div>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<label for="phone" class="form-label">电话</label>
<input type="tel" class="form-control" id="phone" placeholder="请输入您的电话">
</div>
<div class="col-md-6 mb-4">
<label for="subject" class="form-label">主题 <span class="text-danger">*</span></label>
<select class="form-select" id="subject" required>
<option value="">请选择主题</option>
<option value="business">商务合作</option>
<option value="support">技术支持</option>
<option value="complaint">投诉建议</option>
<option value="other">其他问题</option>
</select>
</div>
</div>
<div class="row">
<div class="col-12 mb-4">
<label for="message" class="form-label">留言内容 <span class="text-danger">*</span></label>
<textarea class="form-control" id="message" rows="5" required placeholder="请输入您的留言内容"></textarea>
</div>
</div>
<div class="row">
<div class="col-12">
<button type="submit" class="btn btn-primary">发送留言</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</section>
<!-- 地图 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title">我们在哪</h2>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="map-container">
<iframe src="https://map.baidu.com/" width="100%" height="100%" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe>
</div>
</div>
</div>
</section>
<!-- 页脚 -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-md-4 mb-4">
<h5 class="mb-4">
<i class="bi bi-map-fill me-2"></i>结伴客
</h5>
<p>专注于结伴旅行活动的平台,包含独特的动物认领功能。</p>
<div class="d-flex">
<a href="#" class="social-icon me-2">
<i class="bi bi-wechat"></i>
</a>
<a href="#" class="social-icon me-2">
<i class="bi bi-weibo"></i>
</a>
<a href="#" class="social-icon">
<i class="bi bi-tencent-qq"></i>
</a>
</div>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">产品</h5>
<ul class="list-unstyled">
<li><a href="#" class="d-block py-1">旅行结伴</a></li>
<li><a href="#" class="d-block py-1">动物认领</a></li>
<li><a href="#" class="d-block py-1">送花服务</a></li>
<li><a href="#" class="d-block py-1">推广奖励</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">关于</h5>
<ul class="list-unstyled">
<li><a href="about.html" class="d-block py-1">关于我们</a></li>
<li><a href="case.html" class="d-block py-1">成功案例</a></li>
<li><a href="merchant/" class="d-block py-1">商家合作</a></li>
<li><a href="contact.html" class="d-block py-1">联系我们</a></li>
</ul>
</div>
<div class="col-md-4 mb-4">
<h5 class="mb-4">联系我们</h5>
<ul class="list-unstyled">
<li class="d-flex align-items-start mb-3">
<i class="bi bi-envelope-fill me-2 mt-1"></i>
<span>contact@jiebanke.com</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-telephone-fill me-2 mt-1"></i>
<span>400-123-4567</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-geo-alt-fill me-2 mt-1"></i>
<span>北京市朝阳区某某大厦</span>
</li>
</ul>
</div>
</div>
<div class="row pt-4 mt-4 border-top border-secondary">
<div class="col-md-6 text-center text-md-start">
<p class="mb-0">&copy; 2025 结伴客. 保留所有权利.</p>
<p class="mb-0 small">Copyright 2015 All rights reserved 鄂ICP备15009094号-1 jiebanke.com 武汉高灏科技有限责任公司</p>
</div>
<div class="col-md-6 text-center text-md-end">
<ul class="list-inline mb-0">
<li class="list-inline-item"><a href="#">用户协议</a></li>
<li class="list-inline-item"><a href="#">隐私政策</a></li>
<li class="list-inline-item"><a href="#">网站地图</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.js"></script>
</body>
</html>

893
website/css/style.css Normal file
View File

@@ -0,0 +1,893 @@
:root {
--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
/* 字体大小定义 */
--font-size-xs: 0.75rem; /* 12px */
--font-size-sm: 0.875rem; /* 14px */
--font-size-base: 1rem; /* 16px */
--font-size-lg: 1.125rem; /* 18px */
--font-size-xl: 1.25rem; /* 20px */
--font-size-2xl: 1.5rem; /* 24px */
--font-size-3xl: 1.875rem; /* 30px */
--font-size-4xl: 2.25rem; /* 36px */
--font-size-5xl: 3rem; /* 48px */
--font-size-6xl: 3.75rem; /* 60px */
--font-size-7xl: 4.5rem; /* 72px */
}
body {
font-size: var(--font-size-base);
line-height: 1.6;
}
/* 导航栏样式 */
.navbar-brand {
font-weight: 700;
font-size: var(--font-size-2xl);
}
.navbar-nav .nav-link {
font-weight: 500;
font-size: var(--font-size-base);
margin: 0 5px;
padding: 0.5rem 1rem;
}
/* 横幅区域样式 */
.hero-section {
background: var(--primary-gradient);
color: white;
padding: 120px 0 100px;
margin-bottom: 80px;
position: relative;
overflow: hidden;
}
.hero-section::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><polygon points="0,0 100,100 0,100" fill="rgba(255,255,255,0.1)"/></svg>');
background-size: 100% 100%;
}
.hero-section h1 {
font-size: var(--font-size-5xl);
font-weight: 700;
margin-bottom: 1.5rem;
}
.hero-section .lead {
font-size: var(--font-size-xl);
margin-bottom: 2.5rem;
opacity: 0.9;
}
/* 区块标题样式 */
.section-title {
position: relative;
padding-bottom: 15px;
margin-bottom: 40px;
font-size: var(--font-size-3xl);
}
.section-title::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 60px;
height: 3px;
background: var(--primary-gradient);
border-radius: 3px;
}
/* 页脚样式 */
.footer {
background-color: #1a1a1a;
color: #fff;
padding: 70px 0 30px;
font-size: var(--font-size-sm);
}
.footer a {
color: #ccc;
text-decoration: none;
transition: color 0.3s ease;
font-size: var(--font-size-sm);
}
.footer a:hover {
color: #fff;
}
.footer h5 {
font-size: var(--font-size-lg);
margin-bottom: 1.5rem;
}
/* 首页特有样式 */
.feature-icon {
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-gradient);
color: white;
border-radius: 50%;
font-size: 2rem;
margin: 0 auto 20px;
transition: transform 0.3s ease;
}
.feature-box {
text-align: center;
padding: 30px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
height: 100%;
border-radius: 10px;
}
.feature-box:hover {
transform: translateY(-10px);
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.feature-box:hover .feature-icon {
transform: scale(1.1);
}
.feature-box h3 {
font-size: var(--font-size-2xl);
margin-bottom: 1rem;
}
.feature-box p {
font-size: var(--font-size-base);
color: #6c757d;
}
.testimonial-card {
height: 100%;
border: none;
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
transition: transform 0.3s ease;
border-radius: 10px;
overflow: hidden;
}
.testimonial-card:hover {
transform: translateY(-5px);
}
.testimonial-card .card-text {
font-size: var(--font-size-base);
line-height: 1.7;
}
.testimonial-card h6 {
font-size: var(--font-size-lg);
}
.cta-section {
background: var(--secondary-gradient);
color: white;
padding: 100px 0;
margin: 80px 0;
border-radius: 0;
}
.cta-section h2 {
font-size: var(--font-size-4xl);
font-weight: 700;
margin-bottom: 1.5rem;
}
.cta-section .lead {
font-size: var(--font-size-2xl);
margin-bottom: 2.5rem;
opacity: 0.9;
}
.social-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
background: rgba(255,255,255,0.1);
border-radius: 50%;
margin-right: 10px;
transition: background 0.3s ease;
}
.social-icon:hover {
background: rgba(255,255,255,0.2);
}
.btn-rounded {
border-radius: 50px;
padding: 12px 35px;
font-weight: 600;
font-size: var(--font-size-base);
}
.stats-number {
font-size: var(--font-size-4xl);
font-weight: 700;
margin-bottom: 10px;
color: #667eea;
}
.stats-label {
color: #6c757d;
font-size: var(--font-size-base);
}
/* 关于我们页面特有样式 */
.team-member {
text-align: center;
margin-bottom: 40px;
transition: transform 0.3s ease;
}
.team-member:hover {
transform: translateY(-10px);
}
.team-photo {
width: 150px;
height: 150px;
border-radius: 50%;
object-fit: cover;
margin: 0 auto 20px;
border: 5px solid #f8f9fa;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.team-member h5 {
font-size: var(--font-size-xl);
margin-bottom: 0.25rem;
}
.team-member .text-muted {
font-size: var(--font-size-sm);
}
.value-box {
text-align: center;
padding: 40px 20px;
height: 100%;
border-radius: 10px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
background: white;
border: 1px solid #eee;
}
.value-box:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}
.value-icon {
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-gradient);
color: white;
border-radius: 50%;
font-size: 2rem;
margin: 0 auto 20px;
}
.value-box h3 {
font-size: var(--font-size-2xl);
margin-bottom: 1rem;
}
.value-box p {
font-size: var(--font-size-base);
color: #6c757d;
}
.milestone {
position: relative;
padding: 20px 0;
}
.milestone:not(:last-child)::after {
content: "";
position: absolute;
top: 0;
left: 20px;
height: 100%;
width: 2px;
background: #667eea;
z-index: 1;
}
.milestone-icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-gradient);
color: white;
border-radius: 50%;
position: relative;
z-index: 2;
margin-bottom: 10px;
}
.milestone h5 {
font-size: var(--font-size-lg);
margin-bottom: 0.5rem;
}
.milestone p {
font-size: var(--font-size-base);
color: #6c757d;
margin-bottom: 0;
}
/* 商家合作页面特有样式 */
.benefit-box {
text-align: center;
padding: 40px 20px;
height: 100%;
border-radius: 10px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
background: white;
border: 1px solid #eee;
}
.benefit-box:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}
.benefit-icon {
width: 70px;
height: 70px;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-gradient);
color: white;
border-radius: 50%;
font-size: 1.8rem;
margin: 0 auto 20px;
}
.benefit-box h3 {
font-size: var(--font-size-2xl);
margin-bottom: 1rem;
}
.benefit-box p {
font-size: var(--font-size-base);
color: #6c757d;
}
.process-step {
text-align: center;
padding: 30px 20px;
position: relative;
}
.process-number {
display: inline-flex;
align-items: center;
justify-content: center;
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--primary-gradient);
color: white;
font-weight: 700;
font-size: 1.5rem;
margin-bottom: 20px;
box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
}
.process-step h5 {
font-size: var(--font-size-xl);
margin-bottom: 0.5rem;
}
.process-step p {
font-size: var(--font-size-base);
color: #6c757d;
}
.process-line {
position: absolute;
top: 30px;
right: -20px;
width: 40px;
height: 2px;
background: #667eea;
}
.process-step:last-child .process-line {
display: none;
}
.stats-card {
text-align: center;
padding: 30px;
border-radius: 10px;
background: white;
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
height: 100%;
}
.stats-number {
font-size: var(--font-size-4xl);
font-weight: 700;
margin-bottom: 10px;
background: var(--secondary-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.stats-label {
font-size: var(--font-size-base);
color: #6c757d;
}
.card-title {
font-size: var(--font-size-2xl);
margin-bottom: 1rem;
}
.card-text {
font-size: var(--font-size-base);
color: #6c757d;
margin-bottom: 1rem;
}
/* 商家入驻申请页面特有样式 */
.form-section {
background-color: #f8f9fa;
padding: 80px 0;
}
.application-form {
background: white;
border-radius: 10px;
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
padding: 40px;
}
.application-form h3 {
font-size: var(--font-size-2xl);
margin-bottom: 1.5rem;
font-weight: 600;
}
.form-label {
font-weight: 500;
font-size: var(--font-size-base);
margin-bottom: 0.5rem;
}
.form-label .text-danger {
font-size: var(--font-size-sm);
}
.form-control, .form-select {
padding: 12px 15px;
border: 1px solid #e1e5eb;
border-radius: 8px;
transition: all 0.3s ease;
font-size: var(--font-size-base);
}
.form-control:focus, .form-select:focus {
border-color: #667eea;
box-shadow: 0 0 0 0.25rem rgba(102, 126, 234, 0.25);
}
.form-control::placeholder {
color: #adb5bd;
font-size: var(--font-size-sm);
}
.form-text {
font-size: var(--font-size-sm);
color: #6c757d;
}
.btn-primary {
background: var(--primary-gradient);
border: none;
padding: 12px 30px;
font-weight: 600;
border-radius: 8px;
font-size: var(--font-size-base);
}
.btn-primary:hover {
opacity: 0.9;
}
.btn-outline-secondary {
font-size: var(--font-size-base);
padding: 12px 30px;
}
.form-check-input:checked {
background-color: #667eea;
border-color: #667eea;
}
.form-check-label {
font-size: var(--font-size-base);
}
.form-check-label a {
color: #667eea;
text-decoration: none;
}
.step-indicator {
display: flex;
justify-content: center;
margin-bottom: 40px;
}
.step {
text-align: center;
position: relative;
flex: 1;
max-width: 200px;
}
.step:not(:last-child)::after {
content: "";
position: absolute;
top: 20px;
left: 50%;
right: -50%;
height: 2px;
background: #dee2e6;
z-index: 1;
}
.step.active::after {
background: #667eea;
}
.step-number {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: #e9ecef;
color: #6c757d;
border-radius: 50%;
font-weight: 700;
font-size: var(--font-size-base);
margin: 0 auto 10px;
position: relative;
z-index: 2;
}
.step.active .step-number {
background: var(--primary-gradient);
color: white;
}
.step.completed .step-number {
background: #28a745;
color: white;
}
.step > div:last-child {
font-size: var(--font-size-sm);
color: #6c757d;
}
.step.active > div:last-child {
color: #495057;
font-weight: 500;
}
/* 联系我们页面特有样式 */
.contact-info {
text-align: center;
padding: 40px 20px;
height: 100%;
border-radius: 10px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
background: white;
border: 1px solid #eee;
}
.contact-info:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}
.contact-icon {
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-gradient);
color: white;
border-radius: 50%;
font-size: 2rem;
margin: 0 auto 20px;
}
.contact-info h3 {
font-size: var(--font-size-2xl);
margin-bottom: 1rem;
}
.contact-info p {
font-size: var(--font-size-base);
color: #6c757d;
}
.contact-form {
background: white;
border-radius: 10px;
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
padding: 40px;
}
.form-section h2 {
font-size: var(--font-size-3xl);
margin-bottom: 1rem;
}
.form-section .lead {
font-size: var(--font-size-xl);
color: #6c757d;
margin-bottom: 2.5rem;
}
.map-container {
height: 400px;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
/* 成功案例页面特有样式 */
.case-card {
height: 100%;
transition: transform 0.3s ease, box-shadow 0.3s ease;
border: none;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.case-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}
.case-card .card-title {
font-size: var(--font-size-2xl);
margin-bottom: 1rem;
}
.case-card .card-text {
font-size: var(--font-size-base);
color: #6c757d;
line-height: 1.7;
margin-bottom: 1rem;
}
.case-image {
height: 200px;
object-fit: cover;
}
.quote-mark {
font-size: 4rem;
color: rgba(102, 126, 234, 0.1);
line-height: 1;
}
.testimonial-content {
position: relative;
}
.list-group-item {
font-size: var(--font-size-base);
padding: 0.75rem 1.25rem;
}
.badge {
font-size: var(--font-size-xs);
font-weight: 600;
}
/* 合作政策页面特有样式 */
.policy-section {
background-color: #f8f9fa;
padding: 80px 0;
}
.policy-card {
border-radius: 10px;
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.policy-card .card-title {
font-size: var(--font-size-3xl);
font-weight: 600;
margin-bottom: 1.5rem;
}
.policy-title {
position: relative;
padding-left: 20px;
margin: 30px 0 20px;
font-size: var(--font-size-2xl);
font-weight: 600;
}
.policy-title::before {
content: "";
position: absolute;
left: 0;
top: 2px;
width: 4px;
height: 24px;
background: var(--primary-gradient);
border-radius: 2px;
}
.policy-card h6 {
font-size: var(--font-size-lg);
font-weight: 600;
margin: 1.5rem 0 1rem;
}
.policy-card p {
font-size: var(--font-size-base);
color: #6c757d;
margin-bottom: 1rem;
}
.policy-card ul {
font-size: var(--font-size-base);
margin-bottom: 1.5rem;
}
.policy-card li {
margin-bottom: 0.5rem;
}
.toc {
position: sticky;
top: 100px;
}
.toc h5 {
font-size: var(--font-size-lg);
margin-bottom: 1rem;
}
.toc-item {
display: block;
padding: 8px 15px;
margin-bottom: 5px;
border-radius: 5px;
color: #6c757d;
text-decoration: none;
transition: all 0.3s ease;
font-size: var(--font-size-base);
}
.toc-item:hover {
background: #e9ecef;
color: #495057;
}
.toc-item.active {
background: var(--primary-gradient);
color: white;
}
/* 响应式字体调整 */
@media (max-width: 768px) {
.hero-section h1 {
font-size: var(--font-size-4xl);
}
.hero-section .lead {
font-size: var(--font-size-lg);
}
.section-title {
font-size: var(--font-size-2xl);
}
.cta-section h2 {
font-size: var(--font-size-3xl);
}
.cta-section .lead {
font-size: var(--font-size-xl);
}
.stats-number {
font-size: var(--font-size-3xl);
}
.policy-card .card-title {
font-size: var(--font-size-2xl);
}
.policy-title {
font-size: var(--font-size-xl);
}
.step {
max-width: 150px;
}
}
@media (max-width: 576px) {
.hero-section h1 {
font-size: var(--font-size-3xl);
}
.hero-section .lead {
font-size: var(--font-size-base);
}
.section-title {
font-size: var(--font-size-xl);
}
.cta-section h2 {
font-size: var(--font-size-2xl);
}
.cta-section .lead {
font-size: var(--font-size-lg);
}
.stats-number {
font-size: var(--font-size-2xl);
}
.policy-card .card-title {
font-size: var(--font-size-xl);
}
.policy-title {
font-size: var(--font-size-lg);
}
.step {
max-width: 120px;
}
.step > div:last-child {
font-size: var(--font-size-xs);
}
.map-container {
height: 300px;
}
}

BIN
website/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
website/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

264
website/index.html Normal file
View File

@@ -0,0 +1,264 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>结伴客 - 旅行结伴与动物认领平台</title>
<meta name="description" content="结伴客是一个专注于旅行结伴和动物认领的社交平台。在这里,您可以找到志同道合的旅行伙伴,体验独特的动物认领服务,享受送花等贴心服务。">
<meta name="keywords" content="结伴客, 旅行结伴, 动物认领, 送花服务, 社交平台, 旅行伙伴">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<!-- 添加Logo -->
<a class="navbar-brand" href="index.html">
<img src="images/logo.png" alt="结伴客 Logo" width="30" height="30" class="d-inline-block align-top me-2">
<i class="bi bi-map-fill me-2"></i>结伴客
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="index.html">首页</a>
</li>
<li class="nav-item">
<a class="nav-link" href="about.html">关于我们</a>
</li>
<li class="nav-item">
<a class="nav-link" href="case.html">成功案例</a>
</li>
<li class="nav-item">
<a class="nav-link" href="merchant/">商家合作</a>
</li>
<li class="nav-item">
<a class="nav-link" href="contact.html">联系我们</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- 首页横幅 -->
<section class="hero-section">
<div class="container text-center position-relative">
<h1 class="display-2 fw-bold mb-4">人生就像一场旅行,结伴客让你拥有不一样的体验</h1>
<p class="lead mb-5 fs-4">遇到的既有感人的,也有伤心的,既有令人兴奋的,也有令人灰心的,既有美妙的风景,也会有称不上景只有风的地方<br>但至少它能让你吃的健康</p>
<a href="merchant/" class="btn btn-light btn-lg btn-rounded me-3">商家入驻</a>
<a href="contact.html" class="btn btn-outline-light btn-lg btn-rounded">联系我们</a>
</div>
</section>
<!-- 平台特色 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title text-center">平台特色</h2>
</div>
</div>
<div class="row">
<div class="col-md-4 mb-4">
<div class="feature-box">
<div class="feature-icon">
<i class="bi bi-people-fill"></i>
</div>
<h3>旅行结伴</h3>
<p class="mb-0">找到志同道合的旅行伙伴,一起探索世界的美好,分享旅途中的点点滴滴。</p>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="feature-box">
<div class="feature-icon">
<i class="bi bi-heart-fill"></i>
</div>
<h3>动物认领</h3>
<p class="mb-0">认领可爱的动物,定期探望它们,体验农场生活,感受生命的温暖。</p>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="feature-box">
<div class="feature-icon">
<i class="bi bi-flower1"></i>
</div>
<h3>送花服务</h3>
<p class="mb-0">为结伴的伙伴或认领的动物订购鲜花,传递温暖和关爱。</p>
</div>
</div>
</div>
</section>
<!-- 数据统计 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title text-center">平台数据</h2>
</div>
</div>
<div class="row text-center">
<div class="col-md-3 col-6 mb-4">
<div class="stats-number">10,000+</div>
<div class="stats-label">注册用户</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="stats-number">500+</div>
<div class="stats-label">合作商家</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="stats-number">50,000+</div>
<div class="stats-label">结伴次数</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="stats-number">10,000+</div>
<div class="stats-label">动物认领</div>
</div>
</div>
</section>
<!-- 用户评价 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title text-center">用户评价</h2>
</div>
</div>
<div class="row">
<div class="col-md-4 mb-4">
<div class="card testimonial-card">
<div class="card-body">
<div class="testimonial-content">
<div class="quote-mark"></div>
<p class="card-text">通过结伴客找到了一起徒步的伙伴,我们不仅完成了川藏线的徒步,还成为了很好的朋友。平台的匹配机制真的很棒!</p>
</div>
<h6 class="card-title mb-0">张先生</h6>
<p class="text-muted mb-0">旅行爱好者</p>
</div>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="card testimonial-card">
<div class="card-body">
<div class="testimonial-content">
<div class="quote-mark"></div>
<p class="card-text">认领了一只小羊,定期到农场看望它,体验了真正的农场生活。孩子们特别喜欢,这成为我们最难忘的旅行回忆。</p>
</div>
<h6 class="card-title mb-0">李女士</h6>
<p class="text-muted mb-0">家庭用户</p>
</div>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="card testimonial-card">
<div class="card-body">
<div class="testimonial-content">
<div class="quote-mark"></div>
<p class="card-text">作为农场主,结伴客为我们带来了大量城市客户。动物认领业务让我们在疫情后成功转型,真的很感谢这个平台。</p>
</div>
<h6 class="card-title mb-0">王老板</h6>
<p class="text-muted mb-0">绿野农场</p>
</div>
</div>
</div>
</div>
</section>
<!-- 行动号召 -->
<section class="cta-section">
<div class="container text-center">
<h2 class="mb-4">开始你的结伴之旅</h2>
<p class="lead mb-5">加入结伴客,体验不一样的旅行方式</p>
<a href="merchant/apply.html" class="btn btn-light btn-lg btn-rounded me-3">商家入驻</a>
<a href="contact.html" class="btn btn-outline-light btn-lg btn-rounded">联系我们</a>
</div>
</section>
<!-- 页脚 -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-md-4 mb-4">
<h5 class="mb-4">
<i class="bi bi-map-fill me-2"></i>结伴客
</h5>
<p>专注于结伴旅行活动的平台,包含独特的动物认领功能。</p>
<div class="d-flex">
<a href="#" class="social-icon me-2">
<i class="bi bi-wechat"></i>
</a>
<a href="#" class="social-icon me-2">
<i class="bi bi-weibo"></i>
</a>
<a href="#" class="social-icon">
<i class="bi bi-tencent-qq"></i>
</a>
</div>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">产品</h5>
<ul class="list-unstyled">
<li><a href="#" class="d-block py-1">旅行结伴</a></li>
<li><a href="#" class="d-block py-1">动物认领</a></li>
<li><a href="#" class="d-block py-1">送花服务</a></li>
<li><a href="#" class="d-block py-1">推广奖励</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">关于</h5>
<ul class="list-unstyled">
<li><a href="about.html" class="d-block py-1">关于我们</a></li>
<li><a href="case.html" class="d-block py-1">成功案例</a></li>
<li><a href="merchant/" class="d-block py-1">商家合作</a></li>
<li><a href="contact.html" class="d-block py-1">联系我们</a></li>
</ul>
</div>
<div class="col-md-4 mb-4">
<h5 class="mb-4">联系我们</h5>
<ul class="list-unstyled">
<li class="d-flex align-items-start mb-3">
<i class="bi bi-envelope-fill me-2 mt-1"></i>
<span>contact@jiebanke.com</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-telephone-fill me-2 mt-1"></i>
<span>17897111756</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-geo-alt-fill me-2 mt-1"></i>
<span>中国光谷</span>
</li>
</ul>
</div>
</div>
<div class="row pt-4 mt-4 border-top border-secondary">
<div class="col-md-6 text-center text-md-start">
<p class="mb-0">&copy; 2025 结伴客. 保留所有权利.</p>
<p class="mb-0 small">Copyright 2015 All rights reserved 鄂ICP备15009094号-1 jiebanke.com 武汉高灏科技有限责任公司</p>
</div>
<div class="col-md-6 text-center text-md-end">
<ul class="list-inline mb-0">
<li class="list-inline-item"><a href="#">用户协议</a></li>
<li class="list-inline-item"><a href="#">隐私政策</a></li>
<li class="list-inline-item"><a href="#">网站地图</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.js"></script>
</body>
</html>

302
website/merchant/apply.html Normal file
View File

@@ -0,0 +1,302 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>商家入驻申请 - 结伴客</title>
<meta name="description" content="申请成为结伴客平台合作商家,填写商家入驻申请表单,加入我们的生态体系,为旅行者提供优质服务。">
<meta name="keywords" content="结伴客, 商家入驻, 商家申请, 农场入驻, 花店入驻, 活动组织入驻">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<!-- 添加Logo -->
<a class="navbar-brand" href="../index.html">
<img src="../images/logo.png" alt="结伴客 Logo" width="30" height="30" class="d-inline-block align-top me-2">
<i class="bi bi-map-fill me-2"></i>结伴客
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="../index.html">首页</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../about.html">关于我们</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../case.html">成功案例</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="../merchant/">商家合作</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../contact.html">联系我们</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- 商家入驻横幅 -->
<section class="hero-section">
<div class="container text-center position-relative">
<h1 class="display-2 fw-bold mb-4">商家入驻申请</h1>
<p class="lead mb-5 fs-4">人生就像一场旅行,让我们一起为旅客创造美好回忆<br>填写以下信息,加入结伴客商家生态</p>
</div>
</section>
<!-- 申请步骤 -->
<section class="container mb-5">
<div class="step-indicator">
<div class="step completed">
<div class="step-number">1</div>
<div>填写信息</div>
</div>
<div class="step active">
<div class="step-number">2</div>
<div>提交审核</div>
</div>
<div class="step">
<div class="step-number">3</div>
<div>签约入驻</div>
</div>
<div class="step">
<div class="step-number">4</div>
<div>上线运营</div>
</div>
</div>
</section>
<!-- 申请表单 -->
<section class="form-section">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-10">
<div class="application-form">
<form>
<div class="row">
<div class="col-12 mb-4">
<h3 class="mb-4">基本信息</h3>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<label for="merchantType" class="form-label">商家类型 <span class="text-danger">*</span></label>
<select class="form-select" id="merchantType" required>
<option value="">请选择商家类型</option>
<option value="farm">农场</option>
<option value="flower">花店</option>
<option value="activity">活动组织者</option>
</select>
</div>
<div class="col-md-6 mb-4">
<label for="businessName" class="form-label">商家名称 <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="businessName" required placeholder="请输入商家名称">
</div>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<label for="contactPerson" class="form-label">联系人 <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="contactPerson" required placeholder="请输入联系人姓名">
</div>
<div class="col-md-6 mb-4">
<label for="contactPhone" class="form-label">联系电话 <span class="text-danger">*</span></label>
<input type="tel" class="form-control" id="contactPhone" required placeholder="请输入联系电话">
</div>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<label for="contactEmail" class="form-label">联系邮箱 <span class="text-danger">*</span></label>
<input type="email" class="form-control" id="contactEmail" required placeholder="请输入联系邮箱">
</div>
<div class="col-md-6 mb-4">
<label for="businessLicense" class="form-label">营业执照号码 <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="businessLicense" required placeholder="请输入营业执照号码">
</div>
</div>
<div class="row">
<div class="col-12 mb-4">
<label for="businessAddress" class="form-label">商家地址 <span class="text-danger">*</span></label>
<textarea class="form-control" id="businessAddress" rows="3" required placeholder="请输入详细地址"></textarea>
</div>
</div>
<div class="row">
<div class="col-12 mb-4">
<h3 class="mb-4">服务信息</h3>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<label for="serviceType" class="form-label">服务类型 <span class="text-danger">*</span></label>
<select class="form-select" id="serviceType" required>
<option value="">请选择服务类型</option>
<option value="animal">动物认领</option>
<option value="flower">送花服务</option>
<option value="activity">活动组织</option>
<option value="other">其他服务</option>
</select>
</div>
<div class="col-md-6 mb-4">
<label for="serviceArea" class="form-label">服务区域 <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="serviceArea" required placeholder="请输入服务区域">
</div>
</div>
<div class="row">
<div class="col-12 mb-4">
<label for="serviceDescription" class="form-label">服务描述 <span class="text-danger">*</span></label>
<textarea class="form-control" id="serviceDescription" rows="4" required placeholder="请详细描述您的服务内容和特色"></textarea>
</div>
</div>
<div class="row">
<div class="col-12 mb-4">
<h3 class="mb-4">资质证明</h3>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<label for="idCardFront" class="form-label">法人身份证(正面) <span class="text-danger">*</span></label>
<input type="file" class="form-control" id="idCardFront" required>
<div class="form-text">请上传清晰的身份证正面照片</div>
</div>
<div class="col-md-6 mb-4">
<label for="idCardBack" class="form-label">法人身份证(背面) <span class="text-danger">*</span></label>
<input type="file" class="form-control" id="idCardBack" required>
<div class="form-text">请上传清晰的身份证背面照片</div>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<label for="businessLicenseImg" class="form-label">营业执照 <span class="text-danger">*</span></label>
<input type="file" class="form-control" id="businessLicenseImg" required>
<div class="form-text">请上传清晰的营业执照照片</div>
</div>
<div class="col-md-6 mb-4">
<label for="otherCertificate" class="form-label">其他证明材料</label>
<input type="file" class="form-control" id="otherCertificate">
<div class="form-text">可上传其他相关资质证明</div>
</div>
</div>
<div class="row">
<div class="col-12 mb-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="agreement" required>
<label class="form-check-label" for="agreement">
我已阅读并同意 <a href="policy.html" target="_blank">《商家合作政策》</a> <span class="text-danger">*</span>
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<button type="submit" class="btn btn-primary me-3">提交申请</button>
<button type="reset" class="btn btn-outline-secondary">重新填写</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</section>
<!-- 页脚 -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-md-4 mb-4">
<h5 class="mb-4">
<i class="bi bi-map-fill me-2"></i>结伴客
</h5>
<p>专注于结伴旅行活动的平台,包含独特的动物认领功能。</p>
<div class="d-flex">
<a href="#" class="social-icon me-2">
<i class="bi bi-wechat"></i>
</a>
<a href="#" class="social-icon me-2">
<i class="bi bi-weibo"></i>
</a>
<a href="#" class="social-icon">
<i class="bi bi-tencent-qq"></i>
</a>
</div>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">产品</h5>
<ul class="list-unstyled">
<li><a href="#" class="d-block py-1">旅行结伴</a></li>
<li><a href="#" class="d-block py-1">动物认领</a></li>
<li><a href="#" class="d-block py-1">送花服务</a></li>
<li><a href="#" class="d-block py-1">推广奖励</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">关于</h5>
<ul class="list-unstyled">
<li><a href="../about.html" class="d-block py-1">关于我们</a></li>
<li><a href="../case.html" class="d-block py-1">成功案例</a></li>
<li><a href="../merchant/" class="d-block py-1">商家合作</a></li>
<li><a href="../contact.html" class="d-block py-1">联系我们</a></li>
</ul>
</div>
<div class="col-md-4 mb-4">
<h5 class="mb-4">联系我们</h5>
<ul class="list-unstyled">
<li class="d-flex align-items-start mb-3">
<i class="bi bi-envelope-fill me-2 mt-1"></i>
<span>contact@jiebanke.com</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-telephone-fill me-2 mt-1"></i>
<span>17897111756</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-geo-alt-fill me-2 mt-1"></i>
<span>中国光谷</span>
</li>
</ul>
</div>
</div>
<div class="row pt-4 mt-4 border-top border-secondary">
<div class="col-md-6 text-center text-md-start">
<p class="mb-0">&copy; 2025 结伴客. 保留所有权利.</p>
<p class="mb-0 small">Copyright 2015 All rights reserved 鄂ICP备15009094号-1 jiebanke.com 武汉高灏科技有限责任公司</p>
</div>
<div class="col-md-6 text-center text-md-end">
<ul class="list-inline mb-0">
<li class="list-inline-item"><a href="#">用户协议</a></li>
<li class="list-inline-item"><a href="#">隐私政策</a></li>
<li class="list-inline-item"><a href="#">网站地图</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.js"></script>
</body>
</html>

293
website/merchant/index.html Normal file
View File

@@ -0,0 +1,293 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>商家合作 - 结伴客</title>
<meta name="description" content="加入结伴客商家合作生态,为旅行者提供农场、花店和活动组织服务。了解合作优势、入驻流程和商家数据。">
<meta name="keywords" content="结伴客, 商家合作, 农场合作, 花店合作, 活动组织, 商家入驻, 合作优势">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<!-- 添加Logo -->
<a class="navbar-brand" href="../index.html">
<img src="../images/logo.png" alt="结伴客 Logo" width="30" height="30" class="d-inline-block align-top me-2">
<i class="bi bi-map-fill me-2"></i>结伴客
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="../index.html">首页</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../about.html">关于我们</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../case.html">成功案例</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="../merchant/">商家合作</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../contact.html">联系我们</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- 商家合作横幅 -->
<section class="hero-section">
<div class="container text-center position-relative">
<h1 class="display-2 fw-bold mb-4">商家合作</h1>
<p class="lead mb-5 fs-4">人生就像一场旅行,加入结伴客,为旅客提供温暖的港湾,让每一次相遇都成为美好回忆的一部分<br>与我们携手共创未来</p>
</div>
</section>
<!-- 合作优势 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title">合作优势</h2>
</div>
</div>
<div class="row">
<div class="col-md-4 mb-4">
<div class="benefit-box">
<div class="benefit-icon">
<i class="bi bi-people-fill"></i>
</div>
<h3>庞大用户群体</h3>
<p class="mb-0">接入超过10万注册用户为您的业务带来稳定客源。</p>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="benefit-box">
<div class="benefit-icon">
<i class="bi bi-phone-fill"></i>
</div>
<h3>技术支持</h3>
<p class="mb-0">提供完善的技术支持和培训,帮助您快速上手。</p>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="benefit-box">
<div class="benefit-icon">
<i class="bi bi-currency-dollar"></i>
</div>
<h3>收益保障</h3>
<p class="mb-0">透明的收益分配机制,确保您的利益最大化。</p>
</div>
</div>
</div>
</section>
<!-- 合作类型 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title">合作类型</h2>
</div>
</div>
<div class="row">
<div class="col-md-4 mb-4">
<div class="card h-100">
<div class="card-body">
<h5 class="card-title">农场合作</h5>
<p class="card-text">提供动物认领服务,让用户定期探望认领的动物,体验农场生活。</p>
<a href="apply.html" class="btn btn-primary">申请入驻</a>
</div>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="card h-100">
<div class="card-body">
<h5 class="card-title">花店合作</h5>
<p class="card-text">为用户提供送花服务,满足用户在旅行中的情感表达需求。</p>
<a href="apply.html" class="btn btn-primary">申请入驻</a>
</div>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="card h-100">
<div class="card-body">
<h5 class="card-title">活动组织</h5>
<p class="card-text">组织各类旅行活动,为用户提供丰富的旅行体验选择。</p>
<a href="apply.html" class="btn btn-primary">申请入驻</a>
</div>
</div>
</div>
</div>
</section>
<!-- 入驻流程 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title">入驻流程</h2>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="d-flex justify-content-between">
<div class="process-step">
<div class="process-number">1</div>
<h5>提交申请</h5>
<p class="mb-0">填写入驻申请表</p>
<div class="process-line"></div>
</div>
<div class="process-step">
<div class="process-number">2</div>
<h5>资质审核</h5>
<p class="mb-0">平台审核商家资质</p>
<div class="process-line"></div>
</div>
<div class="process-step">
<div class="process-number">3</div>
<h5>签约入驻</h5>
<p class="mb-0">签署合作协议</p>
<div class="process-line"></div>
</div>
<div class="process-step">
<div class="process-number">4</div>
<h5>上线运营</h5>
<p class="mb-0">正式开展业务</p>
</div>
</div>
</div>
</div>
</section>
<!-- 商家数据 -->
<section class="container mb-5">
<div class="row">
<div class="col-12 mb-5">
<h2 class="display-5 fw-bold section-title">商家数据</h2>
</div>
</div>
<div class="row">
<div class="col-md-3 col-6 mb-4">
<div class="stats-card">
<div class="stats-number">500+</div>
<div class="stats-label">合作商家</div>
</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="stats-card">
<div class="stats-number">50000+</div>
<div class="stats-label">月均订单</div>
</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="stats-card">
<div class="stats-number">1000万+</div>
<div class="stats-label">年交易额</div>
</div>
</div>
<div class="col-md-3 col-6 mb-4">
<div class="stats-card">
<div class="stats-number">4.8</div>
<div class="stats-label">用户评分</div>
</div>
</div>
</div>
</section>
<!-- 页脚 -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-md-4 mb-4">
<h5 class="mb-4">
<i class="bi bi-map-fill me-2"></i>结伴客
</h5>
<p>专注于结伴旅行活动的平台,包含独特的动物认领功能。</p>
<div class="d-flex">
<a href="#" class="social-icon me-2">
<i class="bi bi-wechat"></i>
</a>
<a href="#" class="social-icon me-2">
<i class="bi bi-weibo"></i>
</a>
<a href="#" class="social-icon">
<i class="bi bi-tencent-qq"></i>
</a>
</div>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">产品</h5>
<ul class="list-unstyled">
<li><a href="#" class="d-block py-1">旅行结伴</a></li>
<li><a href="#" class="d-block py-1">动物认领</a></li>
<li><a href="#" class="d-block py-1">送花服务</a></li>
<li><a href="#" class="d-block py-1">推广奖励</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">关于</h5>
<ul class="list-unstyled">
<li><a href="../about.html" class="d-block py-1">关于我们</a></li>
<li><a href="../case.html" class="d-block py-1">成功案例</a></li>
<li><a href="../merchant/" class="d-block py-1">商家合作</a></li>
<li><a href="../contact.html" class="d-block py-1">联系我们</a></li>
</ul>
</div>
<div class="col-md-4 mb-4">
<h5 class="mb-4">联系我们</h5>
<ul class="list-unstyled">
<li class="d-flex align-items-start mb-3">
<i class="bi bi-envelope-fill me-2 mt-1"></i>
<span>contact@jiebanke.com</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-telephone-fill me-2 mt-1"></i>
<span>17897111756</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-geo-alt-fill me-2 mt-1"></i>
<span>中国光谷</span>
</li>
</ul>
</div>
</div>
<div class="row pt-4 mt-4 border-top border-secondary">
<div class="col-md-6 text-center text-md-start">
<p class="mb-0">&copy; 2025 结伴客. 保留所有权利.</p>
<p class="mb-0 small">Copyright 2015 All rights reserved 鄂ICP备15009094号-1 jiebanke.com 武汉高灏科技有限责任公司</p>
</div>
<div class="col-md-6 text-center text-md-end">
<ul class="list-inline mb-0">
<li class="list-inline-item"><a href="#">用户协议</a></li>
<li class="list-inline-item"><a href="#">隐私政策</a></li>
<li class="list-inline-item"><a href="#">网站地图</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.js"></script>
</body>
</html>

View File

@@ -0,0 +1,257 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>合作政策 - 结伴客</title>
<meta name="description" content="了解结伴客平台商家合作政策,包括合作原则、资质要求、服务标准、费用结算、权利义务等内容。">
<meta name="keywords" content="结伴客, 合作政策, 商家合作, 合作原则, 服务标准, 费用结算">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<!-- 添加Logo -->
<a class="navbar-brand" href="../index.html">
<img src="../images/logo.png" alt="结伴客 Logo" width="30" height="30" class="d-inline-block align-top me-2">
<i class="bi bi-map-fill me-2"></i>结伴客
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="../index.html">首页</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../about.html">关于我们</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../case.html">成功案例</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="../merchant/">商家合作</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../contact.html">联系我们</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- 合作政策横幅 -->
<section class="hero-section">
<div class="container text-center position-relative">
<h1 class="display-2 fw-bold mb-4">合作政策</h1>
<p class="lead mb-5 fs-4">人生本就是一段孤独的旅程,但合作让我们携手同行<br>了解我们的合作条款和服务规范</p>
</div>
</section>
<!-- 合作政策内容 -->
<section class="policy-section">
<div class="container">
<div class="row">
<div class="col-lg-3">
<div class="toc">
<h5 class="mb-4">政策目录</h5>
<a href="#principles" class="toc-item">合作原则</a>
<a href="#requirements" class="toc-item">资质要求</a>
<a href="#standards" class="toc-item">服务标准</a>
<a href="#fees" class="toc-item">费用与结算</a>
<a href="#rights" class="toc-item">权利与义务</a>
<a href="#violations" class="toc-item">违规处理</a>
<a href="#disputes" class="toc-item">争议解决</a>
<a href="#changes" class="toc-item">政策变更</a>
</div>
</div>
<div class="col-lg-9">
<div class="card policy-card">
<div class="card-body p-5">
<h2 class="card-title mb-4">商家合作政策</h2>
<h4 id="principles" class="policy-title">1. 合作原则</h4>
<p>结伴客平台致力于为用户提供优质的旅行结伴和动物认领服务。我们与商家合作的基本原则包括:</p>
<ul>
<li><strong>诚信经营:</strong>商家需提供真实、准确的服务信息</li>
<li><strong>优质服务:</strong>商家应确保服务质量,满足用户需求</li>
<li><strong>合法合规:</strong>商家需遵守相关法律法规和平台规定</li>
<li><strong>互利共赢:</strong>平台与商家共同为用户提供价值</li>
</ul>
<h4 id="requirements" class="policy-title">2. 商家资质要求</h4>
<p>申请入驻的商家需满足以下基本条件:</p>
<ul>
<li>具备合法的营业执照和相关经营许可</li>
<li>拥有良好的商业信誉和经营状况</li>
<li>具备提供相关服务的能力和资源</li>
<li>认同并遵守平台的相关规定和政策</li>
</ul>
<h4 id="standards" class="policy-title">3. 服务标准</h4>
<p>合作商家需遵守以下服务标准:</p>
<ul>
<li>服务描述真实准确,不得夸大宣传</li>
<li>按时提供服务,不得无故延误或取消</li>
<li>保证服务质量,接受用户评价和监督</li>
<li>及时处理用户投诉和纠纷</li>
</ul>
<h4 id="fees" class="policy-title">4. 费用与结算</h4>
<p>平台费用和结算方式如下:</p>
<ul>
<li>平台将按约定比例收取服务佣金</li>
<li>具体佣金比例根据合作类型和服务内容确定</li>
<li>结算周期为每月一次,商家可随时查看收入明细</li>
<li>平台提供详细的财务报表和结算信息</li>
</ul>
<h4 id="rights" class="policy-title">5. 权利与义务</h4>
<h6>平台权利与义务:</h6>
<ul>
<li>为商家提供展示和交易平台</li>
<li>维护平台正常运营和秩序</li>
<li>保护商家合法权益</li>
<li>提供必要的技术支持和培训</li>
</ul>
<h6>商家权利与义务:</h6>
<ul>
<li>在平台展示和销售服务</li>
<li>获得合理的服务收益</li>
<li>要求平台提供必要的支持</li>
<li>遵守平台规定和合作协议</li>
</ul>
<h4 id="violations" class="policy-title">6. 违规处理</h4>
<p>对于违反平台规定的商家,平台将视情节轻重采取以下措施:</p>
<ul>
<li>警告并要求限期整改</li>
<li>暂停服务或限制功能</li>
<li>扣除保证金或违约金</li>
<li>终止合作并追究法律责任</li>
</ul>
<h4 id="disputes" class="policy-title">7. 争议解决</h4>
<p>合作过程中如发生争议,双方应友好协商解决;协商不成的,任何一方可向平台所在地人民法院提起诉讼。</p>
<h4 id="changes" class="policy-title">8. 政策变更</h4>
<p>平台有权根据业务发展需要对本政策进行修改,修改后的政策将在平台上公布,商家应定期关注政策变化。</p>
<div class="text-center mt-5 pt-4 border-top">
<p class="text-muted mb-2">最后更新时间2025年1月1日</p>
<p class="mb-0">如有疑问请联系客服400-123-4567</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- 页脚 -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-md-4 mb-4">
<h5 class="mb-4">
<i class="bi bi-map-fill me-2"></i>结伴客
</h5>
<p>专注于结伴旅行活动的平台,包含独特的动物认领功能。</p>
<div class="d-flex">
<a href="#" class="social-icon me-2">
<i class="bi bi-wechat"></i>
</a>
<a href="#" class="social-icon me-2">
<i class="bi bi-weibo"></i>
</a>
<a href="#" class="social-icon">
<i class="bi bi-tencent-qq"></i>
</a>
</div>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">产品</h5>
<ul class="list-unstyled">
<li><a href="#" class="d-block py-1">旅行结伴</a></li>
<li><a href="#" class="d-block py-1">动物认领</a></li>
<li><a href="#" class="d-block py-1">送花服务</a></li>
<li><a href="#" class="d-block py-1">推广奖励</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5 class="mb-4">关于</h5>
<ul class="list-unstyled">
<li><a href="../about.html" class="d-block py-1">关于我们</a></li>
<li><a href="../case.html" class="d-block py-1">成功案例</a></li>
<li><a href="../merchant/" class="d-block py-1">商家合作</a></li>
<li><a href="../contact.html" class="d-block py-1">联系我们</a></li>
</ul>
</div>
<div class="col-md-4 mb-4">
<h5 class="mb-4">联系我们</h5>
<ul class="list-unstyled">
<li class="d-flex align-items-start mb-3">
<i class="bi bi-envelope-fill me-2 mt-1"></i>
<span>contact@jiebanke.com</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-telephone-fill me-2 mt-1"></i>
<span>17897111756</span>
</li>
<li class="d-flex align-items-start mb-3">
<i class="bi bi-geo-alt-fill me-2 mt-1"></i>
<span>中国光谷</span>
</li>
</ul>
</div>
</div>
<div class="row pt-4 mt-4 border-top border-secondary">
<div class="col-md-6 text-center text-md-start">
<p class="mb-0">&copy; 2025 结伴客. 保留所有权利.</p>
<p class="mb-0 small">Copyright 2015 All rights reserved 鄂ICP备15009094号-1 jiebanke.com 武汉高灏科技有限责任公司</p>
</div>
<div class="col-md-6 text-center text-md-end">
<ul class="list-inline mb-0">
<li class="list-inline-item"><a href="#">用户协议</a></li>
<li class="list-inline-item"><a href="#">隐私政策</a></li>
<li class="list-inline-item"><a href="#">网站地图</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.js"></script>
<script>
// 目录滚动高亮
document.addEventListener('DOMContentLoaded', function() {
const tocItems = document.querySelectorAll('.toc-item');
const sections = document.querySelectorAll('.policy-title');
window.addEventListener('scroll', function() {
let current = '';
sections.forEach(section => {
const sectionTop = section.offsetTop;
if (pageYOffset >= sectionTop - 200) {
current = section.getAttribute('id');
}
});
tocItems.forEach(item => {
item.classList.remove('active');
if (item.getAttribute('href') === '#' + current) {
item.classList.add('active');
}
});
});
});
</script>
</body>
</html>