--- name: mp-weixin-verify description: fly-home customer-app(uni-app)本机小程序端自动化验证完整配方——构建、微信开发者工具 automator 连接、登录态注入、观测探针、分包坏态修复。当需要在微信小程序端走查/验证页面、注入 toc 登录态、复现砍价/下单等 C 端链路时使用。触发关键词:小程序验证、小程序走查、automator、mp-weixin 联调、小程序登录态注入。 --- # 小程序端本机验证配方(fly-home customer-app) > 经验证链路(2026-09-17 砍价 9370 七轮探针定论,勿回退)。适用 codes/fly-home-customer-app。 ## 链路总览 ``` corepack pnpm dev:mp-weixin # pnpm 不在 PATH,node 默认 v24 可用;产物 dist/dev/mp-weixin → 微信开发者工具 cli.bat auto --project --auto-port 9420 → miniprogram-automator connect({wsEndpoint:'ws://localhost:9420'}) → 驱动走查 + 截图存证 ``` **工具位置**: - DevTools CLI:`F:\tools\微信开发者工具\微信web开发者工具\cli.bat`(不在默认 Program Files) - automator:装在 `%TEMP%\mpauto`(npm i miniprogram-automator,勿入项目依赖) ## 坑(按代价排序,全部实测) 1. **服务端口必须人工开**:CLI 全家族强制"设置→安全设置→服务端口",SendKeys/配置直改都绕不过,需人工开一次 2. **kill 自动化会话会留分包坏态**:症状=该分包页面"NavBar 壳在、正文全空、wx://not-found、无 JS 异常、重连无效"。必须重启 IDE + 新开 cli auto。pagesGoods/createOrder 这类重分包页 IDE 重启后首次进入也常空渲染——先单独 reLaunch 该页等正文出现再驱动 3. **会话生命周期**:`mp.close()` 连带杀 9420 端口;复跑用 `mp.disconnect()` 只断 ws 再重起 cli auto;9420 起不来先杀僵尸 node.exe 4. dist 是否含新代码:别 grep import 名(编译改写),grep 函数体引用(如 getBargainZone) 5. 小程序请求走 `.env.development.local` 的 VITE_BASE_URL(本机联调指 localhost:8092 网关);dist project.config.json 需 urlCheck=false 才能请求 localhost ## 登录态注入(关键) - 存储键 = `__<版本>__TOKEN__` 大写(实测 `得依享家__2.1.0__TOKEN__`),值 = **JSON 壳** `{value, time, expire}`(dev 不加密;`wx.getStorageInfoSync` 看真键) - **expire 必须是未来毫秒时间戳**(对齐 setToken 默认 7 天):getCache 对 `expire:null` 会当场 remove 该键——症状"注入回读 OK、首个请求即未登录",曾误判为导航擦除存储 - 写与导航分两步:evaluate 写完回读 ack → **原生 `mp.reLaunch`**(evaluate 内 wx.reLaunch 在新会话不可靠) - USER__INFO__ 同壳同键族,USER_INFO_KEY='USER__INFO__' - token 从 dev redis(192.168.1.101:6379 db1 ruoyi123)scan `Authorization:login:token:*` 按 payload `toc_user:` 匹配;**用前 curl 实测有效性**(same-token 频繁互踢,批量测试前先重扫) ## 观测三件套(比猜页面状态快得多) 1. hook `wx.showToast` 存 `_toastlog`(业务错误/拦截全走 toast) 2. hook `wx.request` 记 url+method 3. 包 `opts.success` 截关键接口响应体(如 createBuy) ## 业务墙 - 每日发起/帮砍限额是真业务墙:联调日用满 5 次 dailyLaunchLimit 换 toc 测试用户(dev 库 userId 21/110/133/160 轮用) - 助推手段:`UPDATE bargain_order SET current_price=1, cut_amount=原价-1`(dev 库) 相关:[[fly-home-dev-service-test]] [[gateway-whitelist-nacos]]