Files
zentao-flow/.agents/skills/mp-weixin-verify/SKILL.md
T

3.5 KiB
Raw Blame History

name, description
name description
mp-weixin-verify 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 <dist> --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

登录态注入(关键)

  • 存储键 = <VITE_APP_TITLE>__<版本>__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:<id> 匹配;用前 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