- Redesign order status: 0待接单→1已接单→2服务中→3待支付→4已完成 - Backend: startService now requires status=1, completeOrder sets status=3 - Backend: payment callback sets status=4, only status=3 can pay - Backend: cancel only allowed at status 0/1 (not during service) - Mini-program: update status labels and payment button to status=3 - Android: TobeSerFragment queries status=1, SerFragment queries status=2 - Update all status comments and UI mappings across three platforms Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
442 lines
13 KiB
Plaintext
442 lines
13 KiB
Plaintext
========================================
|
||
瑞来康健小程序项目文档
|
||
========================================
|
||
|
||
一、项目概述
|
||
----------------------------------------
|
||
项目名称:瑞来康健小程序(coupon)
|
||
项目类型:微信小程序
|
||
项目版本:1.0.0
|
||
小程序AppID:wx2d5ca40a16ebd1b3
|
||
开发框架:微信小程序原生开发
|
||
UI组件库:@vant/weapp (v1.10.0)
|
||
|
||
项目简介:
|
||
瑞来康健是一个医疗陪诊服务小程序,主要为用户提供医院陪诊、陪护等医疗相关服务。
|
||
用户可以通过小程序预约陪诊服务、查看订单、管理钱包等功能。
|
||
|
||
二、项目结构
|
||
----------------------------------------
|
||
├── app.js # 应用入口文件
|
||
├── app.json # 应用配置文件
|
||
├── app.wxss # 应用全局样式
|
||
├── package.json # 项目依赖配置
|
||
├── project.config.json # 项目配置文件
|
||
├── sitemap.json # 站点地图配置
|
||
│
|
||
├── pages/ # 主包页面目录
|
||
│ ├── index/ # 首页
|
||
│ ├── order/ # 订单列表页
|
||
│ ├── my/ # 我的页面
|
||
│ ├── peizhen/ # 陪诊服务页
|
||
│ ├── peihu/ # 陪护服务页
|
||
│ ├── orderdetail/ # 订单详情页
|
||
│ ├── reforderdetail/ # 退款订单详情页
|
||
│ ├── wodeqianbao/ # 我的钱包页
|
||
│ ├── mechanism/ # 机构信息页
|
||
│ ├── guanyu/ # 关于页面
|
||
│ ├── webpage/ # 网页页面
|
||
│ ├── tuiguang/ # 推广页面
|
||
│ └── myshoucang/ # 我的收藏页
|
||
│
|
||
├── shopping/ # 分包目录
|
||
│ └── pages/
|
||
│ ├── goddess/ # 商品/服务详情页
|
||
│ ├── payment/ # 支付页面
|
||
│ ├── paysuccess/ # 支付成功页
|
||
│ └── withdrawal/ # 提现页面
|
||
│
|
||
├── component/ # 自定义组件目录
|
||
│ └── picker/ # 日期时间选择器组件
|
||
│
|
||
├── utils/ # 工具函数目录
|
||
│ ├── util.js # 通用工具函数
|
||
│ ├── dateTimePicker.js # 日期时间选择器工具
|
||
│ └── shareLogo.js # 分享Logo配置
|
||
│
|
||
├── miniprogram/ # 小程序npm包目录
|
||
│ └── @vant/weapp/ # Vant Weapp组件库
|
||
│
|
||
└── pages/image/ # 图片资源目录
|
||
|
||
三、核心功能模块
|
||
----------------------------------------
|
||
|
||
3.1 首页模块(pages/index/)
|
||
功能描述:
|
||
- 展示轮播图banner
|
||
- 展示医疗服务项目列表:
|
||
* 全程陪诊(200元):排队、预约、挂号、缴费、取药、记录医嘱
|
||
* 诊前约号(20元):协助办理完成挂号
|
||
* 代办问诊(100元):使用病人或家属取检查报告化验单向医生问明情况
|
||
* 取送结果(50元):包括给病人或家属取检查报告化验单等
|
||
- 展示医院列表(从后端API获取)
|
||
- 点击服务项目跳转到服务详情页
|
||
- 点击医院跳转到陪护服务页
|
||
|
||
主要接口:
|
||
- GET /system/hospital/list - 获取医院列表
|
||
|
||
3.2 订单模块(pages/order/)
|
||
功能描述:
|
||
- 订单列表展示,支持按状态筛选
|
||
- 订单状态类型:
|
||
* 全部
|
||
* 待付款(status: "1")
|
||
* 待服务(status: "2")
|
||
* 服务中(status: "3")
|
||
* 已完成(status: "4")
|
||
* 已取消(status: "-2")
|
||
- 支持下拉刷新
|
||
- 点击订单跳转到订单详情页
|
||
|
||
主要接口:
|
||
- GET /system/view/list - 获取订单列表
|
||
参数:pageNum, pageSize, status, usercId
|
||
|
||
3.3 订单详情模块(pages/orderdetail/)
|
||
功能描述:
|
||
- 展示订单详细信息
|
||
- 支持订单操作(付款、取消等)
|
||
|
||
3.4 陪诊服务模块(pages/peizhen/)
|
||
功能描述:
|
||
- 展示陪诊服务列表
|
||
- 支持医院筛选
|
||
- 跳转到服务详情页
|
||
|
||
主要接口:
|
||
- GET /system/hospitalUserView/list - 获取医院用户视图列表
|
||
|
||
3.5 陪护服务模块(pages/peihu/)
|
||
功能描述:
|
||
- 展示院内陪护服务
|
||
- 支持医院筛选
|
||
- 跳转到服务详情页
|
||
|
||
主要接口:
|
||
- GET /system/hospitalUserView/list - 获取医院用户视图列表
|
||
参数:hospitalId(可选)
|
||
|
||
3.6 我的模块(pages/my/)
|
||
功能描述:
|
||
- 用户登录(微信授权登录)
|
||
- 获取用户手机号
|
||
- 用户信息展示
|
||
- 功能入口:
|
||
* 我的收藏
|
||
* 我的订单
|
||
* 我的钱包
|
||
* 关于我们
|
||
|
||
主要接口:
|
||
- POST /weixinLogin - 微信登录
|
||
参数:encryptedData, iv, wxcode
|
||
- POST /member/logintwo - 登录测试数据上传
|
||
|
||
3.7 钱包模块(pages/wodeqianbao/)
|
||
功能描述:
|
||
- 展示资金明细列表
|
||
- 资金流水类型:
|
||
* 微信提现
|
||
* 订单退款
|
||
* 购买商品
|
||
|
||
主要接口:
|
||
- POST /app/Goddesswechat/getCapitalDetails - 获取资金明细
|
||
参数:version_number, uid, token, page, page_size
|
||
|
||
3.8 支付模块(shopping/pages/payment/)
|
||
功能描述:
|
||
- 订单支付
|
||
- 跳转到提现页面
|
||
|
||
3.9 提现模块(shopping/pages/withdrawal/)
|
||
功能描述:
|
||
- 用户提现功能
|
||
|
||
3.10 服务详情模块(shopping/pages/goddess/)
|
||
功能描述:
|
||
- 展示服务/商品详情
|
||
- 支持下单购买
|
||
|
||
四、技术架构
|
||
----------------------------------------
|
||
|
||
4.1 开发环境
|
||
- 微信开发者工具
|
||
- Node.js环境(用于npm包管理)
|
||
- 微信小程序基础库版本:3.13.2
|
||
|
||
4.2 技术栈
|
||
- 微信小程序原生框架
|
||
- JavaScript ES6+
|
||
- Vant Weapp UI组件库(v1.10.0)
|
||
|
||
4.3 数据存储
|
||
- 使用微信小程序本地存储(wx.setStorageSync/wx.getStorageSync)
|
||
- 存储内容:
|
||
* uid - 用户ID
|
||
* token - 用户认证令牌
|
||
* phone - 用户手机号
|
||
* uidFlag - 登录标识
|
||
|
||
4.4 网络请求
|
||
- 使用wx.request进行HTTP请求
|
||
- 请求头配置:
|
||
* content-type: application/x-www-form-urlencoded
|
||
* Authorization: Bearer {token}
|
||
- 基础URL:https://ruilaizipj.com
|
||
|
||
4.5 认证机制
|
||
- 使用Bearer Token认证
|
||
- Token存储在本地存储中
|
||
- 请求时自动在Header中添加Authorization
|
||
|
||
五、全局配置
|
||
----------------------------------------
|
||
|
||
5.1 应用配置(app.json)
|
||
- TabBar配置:
|
||
* 首页(pages/index/index)
|
||
* 订单(pages/order/order)
|
||
* 我的(pages/my/my)
|
||
- 导航栏:自定义样式(navigationStyle: "custom")
|
||
- 分包配置:
|
||
* shopping分包(独立分包:false)
|
||
|
||
5.2 全局数据(app.js)
|
||
- globalData:
|
||
* url: 'https://ruilaizipj.com' - API基础地址
|
||
* uid - 用户ID
|
||
* token - 认证令牌
|
||
* phone - 用户手机号
|
||
* code - 微信登录code
|
||
* version_number: '1.0.0' - 版本号
|
||
|
||
5.3 全局方法(app.js)
|
||
- getRequestHeader() - 获取请求头
|
||
- buildUrl(path, params) - 构建URL
|
||
- buildUrltwo(path, params) - 构建第二个URL
|
||
- getCache(key) - 获取缓存
|
||
- setCache(key, value) - 设置缓存
|
||
- tip(params) - 显示提示弹窗
|
||
|
||
六、自定义组件
|
||
----------------------------------------
|
||
|
||
6.1 日期时间选择器(component/picker/)
|
||
功能:
|
||
- 支持年、月、日、时、分、秒不同粒度的时间选择
|
||
- 支持设置开始时间和结束时间范围
|
||
- 支持默认值设置
|
||
- 支持禁用状态
|
||
|
||
属性:
|
||
- start: 开始时间(默认:'1900-00-00 00:00:00')
|
||
- end: 结束时间(默认:'2500-12-30 23:59:59')
|
||
- value: 默认值(默认:'2019-03-15 10:45:00')
|
||
- fields: 时间粒度(year/month/day/hour/minute/second)
|
||
- disabled: 是否禁用
|
||
|
||
事件:
|
||
- changedatepicker: 时间改变事件
|
||
- canceldatepicker: 取消选择事件
|
||
|
||
七、工具函数
|
||
----------------------------------------
|
||
|
||
7.1 util.js
|
||
- token() - 获取Token
|
||
- getShareInfo(opts) - 获取分享信息配置
|
||
- formatTime(date) - 格式化时间
|
||
|
||
7.2 dateTimePicker.js
|
||
- 日期时间选择器相关工具函数
|
||
|
||
7.3 shareLogo.js
|
||
- 分享Logo配置数组
|
||
|
||
八、API接口文档
|
||
----------------------------------------
|
||
|
||
8.1 用户相关接口
|
||
- POST /weixinLogin - 微信登录
|
||
请求参数:
|
||
encryptedData: 加密数据
|
||
iv: 初始向量
|
||
wxcode: 微信code
|
||
返回数据:
|
||
code: 状态码(200表示成功)
|
||
data: {phoneNumber, userId, token}
|
||
msg: 提示信息
|
||
|
||
8.2 医院相关接口
|
||
- GET /system/hospital/list - 获取医院列表
|
||
请求头:Authorization: Bearer {token}
|
||
返回数据:
|
||
code: 状态码(200表示成功)
|
||
data: 医院列表数组
|
||
|
||
8.3 订单相关接口
|
||
- GET /system/view/list - 获取订单列表
|
||
请求头:Authorization: Bearer {token}
|
||
请求参数:
|
||
pageNum: 页码
|
||
pageSize: 每页数量
|
||
status: 订单状态(可选)
|
||
usercId: 用户ID
|
||
返回数据:
|
||
code: 状态码(200表示成功)
|
||
data: 订单列表数组
|
||
|
||
8.4 服务相关接口
|
||
- GET /system/hospitalUserView/list - 获取医院用户视图列表
|
||
请求头:Authorization: Bearer {token}
|
||
请求参数:
|
||
hospitalId: 医院ID(可选)
|
||
返回数据:
|
||
code: 状态码(200表示成功)
|
||
data: 服务列表数组
|
||
|
||
8.5 钱包相关接口
|
||
- POST /app/Goddesswechat/getCapitalDetails - 获取资金明细
|
||
请求头:Authorization: Bearer {token}
|
||
请求参数:
|
||
version_number: 版本号
|
||
uid: 用户ID
|
||
token: 认证令牌
|
||
page: 页码
|
||
page_size: 每页数量
|
||
返回数据:
|
||
erro: 错误码(0表示成功)
|
||
detail: 资金明细数组
|
||
total: 总记录数
|
||
|
||
九、页面路由
|
||
----------------------------------------
|
||
|
||
9.1 主包页面路由
|
||
- /pages/index/index - 首页
|
||
- /pages/order/order - 订单列表
|
||
- /pages/my/my - 我的
|
||
- /pages/peizhen/peizhen - 陪诊服务
|
||
- /pages/peizhen/peizhendetail - 陪诊详情
|
||
- /pages/peihu/peihu - 陪护服务
|
||
- /pages/orderdetail/orderdetail - 订单详情
|
||
- /pages/reforderdetail/reforderdetail - 退款订单详情
|
||
- /pages/wodeqianbao/qianbao - 我的钱包
|
||
- /pages/mechanism/mechanism - 机构信息
|
||
- /pages/guanyu/guanyu - 关于我们
|
||
- /pages/webpage/webpage - 网页页面
|
||
- /pages/tuiguang/extensionInfor - 推广信息
|
||
|
||
9.2 分包页面路由(shopping)
|
||
- /shopping/pages/goddess/goddess - 服务/商品详情
|
||
- /shopping/pages/payment/payment - 支付页面
|
||
- /shopping/pages/paysuccess/paysuccess - 支付成功
|
||
- /shopping/pages/withdrawal/withdrawal - 提现页面
|
||
|
||
十、订单状态说明
|
||
----------------------------------------
|
||
订单状态码定义:
|
||
- -2: 已取消
|
||
- -1: 拒绝接单
|
||
- 0: 待接单/待付款
|
||
- 1: 已接单/已付款
|
||
- 2: 已接单(待服务)
|
||
- 3: 服务中
|
||
- 4: 已完成
|
||
- 5: 申请退款
|
||
- 6: 退款中
|
||
- 7: 已退款
|
||
- 8: 已结算
|
||
|
||
十一、开发规范
|
||
----------------------------------------
|
||
|
||
11.1 代码规范
|
||
- 使用ES6+语法
|
||
- 使用微信小程序原生API
|
||
- 页面文件命名:小写字母,多个单词用下划线分隔
|
||
- 组件文件命名:小写字母
|
||
|
||
11.2 文件结构规范
|
||
- 每个页面包含4个文件:.js, .wxml, .wxss, .json
|
||
- 组件包含:.js, .wxml, .wxss, .json
|
||
- 工具函数统一放在utils目录
|
||
|
||
11.3 命名规范
|
||
- 变量命名:驼峰命名法
|
||
- 函数命名:驼峰命名法
|
||
- 页面路径:小写字母,多个单词用下划线分隔
|
||
|
||
十二、部署说明
|
||
----------------------------------------
|
||
|
||
12.1 开发环境配置
|
||
1. 安装Node.js环境
|
||
2. 安装项目依赖:npm install
|
||
3. 使用微信开发者工具打开项目
|
||
4. 配置小程序AppID:wx2d5ca40a16ebd1b3
|
||
5. 配置服务器域名(在微信公众平台配置)
|
||
|
||
12.2 构建说明
|
||
- 项目使用微信小程序原生开发,无需构建
|
||
- 使用微信开发者工具直接编译运行
|
||
- 需要配置npm构建(project.config.json中已配置)
|
||
|
||
12.3 发布流程
|
||
1. 在微信开发者工具中点击"上传"
|
||
2. 填写版本号和项目备注
|
||
3. 在微信公众平台提交审核
|
||
4. 审核通过后发布
|
||
|
||
十三、注意事项
|
||
----------------------------------------
|
||
|
||
13.1 安全相关
|
||
- Token存储在本地,注意安全性
|
||
- API请求使用HTTPS协议
|
||
- 用户敏感信息需要加密传输
|
||
|
||
13.2 性能优化
|
||
- 使用分包加载减少主包大小
|
||
- 图片资源建议使用CDN
|
||
- 合理使用本地缓存
|
||
|
||
13.3 兼容性
|
||
- 基础库版本要求:3.13.2
|
||
- 需要测试不同版本的微信客户端
|
||
- 注意iOS和Android的差异
|
||
|
||
十四、已知问题
|
||
----------------------------------------
|
||
|
||
1. 部分页面存在测试数据,需要对接真实API
|
||
2. 部分功能可能未完全实现(如提现功能)
|
||
3. 错误处理机制需要完善
|
||
4. 部分接口可能需要调整
|
||
|
||
十五、后续优化建议
|
||
----------------------------------------
|
||
|
||
1. 完善错误处理和用户提示
|
||
2. 优化页面加载性能
|
||
3. 增加数据缓存机制
|
||
4. 完善用户反馈功能
|
||
5. 增加数据统计和分析
|
||
6. 优化UI/UX体验
|
||
7. 增加更多服务类型
|
||
8. 完善支付和退款流程
|
||
|
||
十六、联系方式
|
||
----------------------------------------
|
||
项目仓库:https://gitee.com/fang_hoo/coupon.git
|
||
项目版本:1.0.0
|
||
|
||
========================================
|
||
文档生成时间:2024年
|
||
文档版本:1.0
|
||
========================================
|