bindbox-mini/.trae/documents/基于 Swagger 接口实现 Uni-App Vue3 微信登录页.md
2025-11-24 22:37:11 +08:00

46 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 接口梳理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` 封装最小所需接口(登录/绑定/统计),在请求头注入 `Bearer` token`:71-72`
- 平台与配置:
- `baseURL` 指向后端 `http://127.0.0.1:9991`;在微信小程序后台配置合法域名与 HTTPS 证书(`:75`
- 状态与路由:
- `pages.json` 添加 `pages/login/index`;登录成功后 `uni.reLaunch` 到首页;用 `pinia` 管理 `isLogin``userInfo``points``:79`
- 错误处理:
- 按既有分类提示与重试策略覆盖网络错误、超时、404/500、参数错误`:83`
## 页面实现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`
- 输出必要的调试日志(不含敏感信息),观察错误分支与重试入口
## 执行步骤
1. 接入 Swagger JSON`http://127.0.0.1:9991/swagger/v1/swagger.json`)同步生成或确认接口(`:99-101`
2. 选定网络层方案并落地调用
3. 新增登录页面与交互逻辑
4. 调整路由与状态管理
5. 自测与联调,完成交付