# 客户小程序:剩余迁移思路与执行计划(`miniprogram` → `sqxp-wx`) **前提**:以 `miniprogram` 为唯一标准;**不新增**源端没有的功能与入口;**不删减**源端已有的交互、校验、分页、空态与样式结构(除非源端本身已废弃且可举证)。 **配套文档**:差异登记表见 `docs/sqxp-wx-client-vs-miniprogram-diff.md`。 --- ## 1. 总体策略(推荐) 采用 **「源页整体替换 + 工程适配层」**,而不是在现有简化页上零散打补丁: 1. **以源文件为蓝本**:将 `miniprogram/src/pages/client/<页>.vue` 的 template + script + style **整体迁为** `sqxp-wx` 对应路径文件。 2. **做一层薄适配**(每页或统一 mixin/工具): - 请求:`sqxp-wx` 统一使用 `request` + `parseResponseJson(res)`,替换源中仍写 `res.data` 且未解析的用法。 - TypeScript → JavaScript:去掉类型注解,保留运行时校验与分支。 - **Vant**:源有 `van-*` 处,在 `sqxp-wx` 用 **uni 原生组件 + 样式** 做出 **同等布局与交互**(不引入新业务能力)。 3. **每页验收通过后再下一页**,避免并行大改难以回归。 --- ## 2. 基础设施先行(减少重复劳动) 按顺序完成,可在「首页大改」前并行: | 序号 | 工作项 | 说明 | |:----:|--------|------| | A1 | 迁入 `static/data/china-region-cascader.json` | 与源路径一致或约定 `@/static/data/...`,供 `address/edit` 多列省市区与源一致。 | | A2 | 迁入 `api/reviewApi.js`(由 `reviewApi.ts` 转写) | 与源 **同 URL、同方法、同参数**;评价相关页只调此模块,避免复制粘贴分叉。 | | A3 | 迁入 `utils/avatar.js`、`utils/service-contact.js` | 与 `profile` 头像、联系客服行为一致。 | | A4 | 扩展 `config/api.js` | 导出与源 `API_URL` 中 **客户页已使用** 的常量(如 `CLIENT_DASHBOARD`),保持路径字符串与源一致。 | | A5 | `phone-dial-inline` 视觉对齐 | 在**不引入 Vant** 的前提下,按源 scss 调整字号、间距、点击区,使与源截图一致。 | --- ## 3. 页面迁移优先级建议(依赖关系 + 风险) **原则**:被多页依赖的基础体验优先;**首页**体量最大,单独作为一大里程碑。 | 阶段 | 建议顺序 | 理由 | |:----:|----------|------| | P0 | `address/edit` → `address/address` → `address/select` | 下单、购物车、确认订单均依赖地址;且源与目标差异最大之一在 **省市区组件**。 | | P1 | `home/home` | 客户主入口;源含分类侧栏、多接口组合,完成后其它页的「从首页进」路径才与源一致。 | | P2 | `cart/cart` | 与首页、确认订单、商品浮层强耦合;需与源的 **分页列表、地址展示、浮层关闭刷新** 一致。 | | P3 | `order/create/create` | 依赖购物车与地址;源使用 Vant 按钮与布局,需整体替换适配。 | | P4 | `order/order` → `order/pay/pay` → `order/detail/detail` | 列表 → 支付 → 详情链路;`detail` 已与源较接近,可做 **终态 diff 扫尾**。 | | P5 | `product/view` → `product/detail` | 商品详情与兼容跳转页与源对齐。 | | P6 | `review/list` → `review/create` | 依赖 `reviewApi` 与商品信息参数,适合在 A2 完成后整体替换。 | | P7 | `profile/profile` | 依赖 A3、A4;并**按源菜单删除目标多出的入口**(如 profile 内「我的发票」若源无则移除)。 | | P8 | `invoice/invoice`、`settlement/settlement`、`refund/refund` | 在 P7 菜单与源一致后,再保证各页 **内部** 与源一致;避免菜单与源矛盾。 | --- ## 4. 单页标准作业程序(SOP) 对每一页执行: 1. **冻结基准**:记录当前 `miniprogram` 该页 commit 或文件哈希,迁移中源若变更需 conscious merge。 2. **结构对齐**:`