3.0 KiB
3.0 KiB
接口梳理(App 用户相关)
- 登录与绑定:
POST /api/app/users/weixin/login,请求含code、invite_code;响应含token、user_id、avatar、nickname、invite_code(.trae/documents/基于 Swagger 的 App 用户 API 汇总与 Uni-App 微信登录页面实现方案.md:5-10)POST /api/app/users/{user_id}/phone/bind,请求含微信手机号code;响应为标准成功(.trae/documents/基于 Swagger 的 App 用户 API 汇总与 Uni-App 微信登录页面实现方案.md:11-16)
- 用户资料与地址:
PUT /api/app/users/{user_id}(修改头像/昵称,avatar、nickname)(:19-22)- 地址列表/新增/删除/设默认(
:23-27),新增请求含基本地址字段(:25-27)
- 积分与统计:
GET /api/app/users/{user_id}/points/balance响应balance(:31-34)GET /api/app/users/{user_id}/stats响应coupon_count、item_card_count、points_balance(:35-37)
- 订单与卡券/道具:
- 订单列表、优惠券、邀请、道具卡与使用记录(
:40-48)
- 订单列表、优惠券、邀请、道具卡与使用记录(
技术方案
- 网络层:
- 方案A(推荐)复用
alova客户端与生成器,统一Authorization与错误处理(:51) - 方案B 以
uni.request封装最小所需接口(登录/绑定/统计),在请求头注入Bearertoken(:71-72)
- 方案A(推荐)复用
- 平台与配置:
baseURL指向后端http://127.0.0.1:9991;在微信小程序后台配置合法域名与 HTTPS 证书(:75)
- 状态与路由:
pages.json添加pages/login/index;登录成功后uni.reLaunch到首页;用pinia管理isLogin、userInfo、points(:79)
- 错误处理:
- 按既有分类提示与重试策略,覆盖网络错误、超时、404/500、参数错误(
:83)
- 按既有分类提示与重试策略,覆盖网络错误、超时、404/500、参数错误(
页面实现(Uni-App Vue3)
- 结构:Logo/说明、
「微信登录」按钮、open-type="getPhoneNumber"授权按钮、加载与错误提示(:57-58) - 流程:
- 触发
uni.login({ provider: 'weixin' })获取code→ 调用POST /api/app/users/weixin/login→ 持久化token、user_id(:61-62) - 可选手机号绑定:
onGetPhoneNumber取code→POST /api/app/users/{user_id}/phone/bind(:63-64) - 登录后拉取统计与积分余额更新首页(
:65-66)
- 触发
交付内容
- 新增
pages/login/index.vue(Composition API)含完整登录/绑定流程与错误提示(:91-94) - 接入并配置网络层(复用
alova或最小uni.request封装) - 路由与
pinia状态的最小接入
验证方法
- 在开发者工具/真机验证:
code获取、接口返回、token/user_id存储、后续接口成功(:87-88) - 输出必要的调试日志(不含敏感信息),观察错误分支与重试入口
执行步骤
- 接入 Swagger JSON(
http://127.0.0.1:9991/swagger/v1/swagger.json)同步生成或确认接口(:99-101) - 选定网络层方案并落地调用
- 新增登录页面与交互逻辑
- 调整路由与状态管理
- 自测与联调,完成交付