销售订单由 RN 向 web 分阶段灰度迁移
需求背景
React Native 开发效率显著低于 Web 开发,在技术栈迁移过程中还需兼顾原有功能迭代与 UI 界面重构
灰度细节
灰度环境部署
- 将灰度项目部署至
/projects-grey
目录下 - 灰度期间所有访问请求将自动重定向至灰度环境
- 将灰度项目部署至
灰度规则配置
- 支持多维度的灰度规则设置:
- 用户维度(单个用户)
- 店铺维度
- 集团维度
- 可配置灰度截止日期
- 支持按页面/项目粒度进行灰度配置
- 支持多维度的灰度规则设置:
灰度环境标识方案
- 通过引入灰度标识插件脚本(在 index.html 中加载)
- 脚本功能:
- 实时检测 location.pathname 是否匹配灰度项目路径
- 校验当前用户是否在白名单内
- 在灰度环境页面显示可视化标识点(用于环境确认)
订单看板版本控制方案
- 新旧版本并行策略:
- 新版本:跳转至 H5 新项目
- 旧版本:维持原有 RN 项目跳转
- 订单列表数据通过 API 根据灰度规则进行差异化返回
- 新旧版本并行策略:
RN 到 H5 的渐进式迁移
- 采用分阶段迁移策略,确保新项目与 RN 的兼容交互
- 本次变更涉及 RN 页面的配套改造
- RN 包更新将与 App 版本发布保持同步
注:所有技术方案需确保向后兼容,并做好版本控制。