8.2 KiB
七日签到、新手礼包、战令:本次上线范围与检查
日期:2026-09-10。后端基线 main@e2a5c3d,客户端参考 MatchMaster@85d3dd6。本次仅检查与整理发布范围,未部署、未调用真实支付。
用户已明确:每日任务不进行上线操作,本次仅包含七日签到、新手礼包、战令。 之前全仓复查中的每日任务、Jungle、五彩迁移等独立模块失败不作为本次三模块的验收失败计数。共享依赖和支付链路仍须核对。
1. 检查结论
| 模块 | 结果 | 上线前要求 |
|---|---|---|
| 七日签到 | 后端测试通过;客户端仍存在领取已落库但资产未发放的恢复缺口 | 客户端接收并按 todayClaim.claimId 处理收据,不能仅按 canClaim 判断是否恢复奖励;覆盖响应丢失、加载失败、退出重进和 Day 7 完成态 |
| 新手礼包 | 期限、重开、购买快照、埋点、支付确认和补单相关测试通过;没有发现本次合并新增的礼包协议破坏 | 确认奖励采用实际客户端的 3000 金币、三种道具各 3、1800 秒无限体力;完成真机支付、提醒弹窗及真实埋点验收 |
| 战令 | 原 main 的战令兼容实现保留;支付共存测试和客户端—当前后端联动测试通过 | 核对 passCheckUpgrade 对外 POST 路由、依赖和实际生产部署代码;完成真实支付验收 |
不能因后端测试通过就认定三模块已全部具备上线条件。当前明确的功能问题仍是签到客户端收据恢复;礼包另有两项提醒测试未完成有效验证,见第 4 节。
2. 生产函数发布核对清单
以下均相对独立 server 仓库 laf-cloud/functions/。只对比并更新本清单与其必需依赖;同名线上函数已是目标实现时无需重复替换。不执行整仓、整目录同步。
| 归属 | 函数/模块 |
|---|---|
| 七日签到 | SignInActivity.ts、signInClaim.ts、signInActivityInfo.ts |
| 新手礼包 | limitedTimeEvent.ts |
| 战令 | passCheckUpgrade.ts、passCheck.ts |
| 三模块涉及的共享支付链路 | wx/orderPaySig.ts、wx/iosorderPaySig.ts、wx/KeFuInfo.ts、wx/checkIos.ts、wx/payCallBack.ts、wx/getPayInfo.ts、wx/iosgetPayInfo.ts、wx/getOrderReward.ts |
| 礼包迁移与战令补单关联 | login.ts、wucaiMigration.ts |
共 16 个函数/模块需核对,实际增量以正式当前版本为准。login/wucaiMigration 的核对仅针对礼包期限/轮次保留、登录配置及战令补单,不扩展为五彩迁移功能上线。
需要保留的现有依赖:Utils、jungleConfig、运行库 thinkingdata-node、ip2region 及现有存储桶私钥访问能力。jungleConfig 是共享支付代码现有 import,保留与调用方法匹配的线上实现,不因此发布 Jungle 活动入口或改奖励配置。发奖依赖的现有资产接口继续原流程,无需为本次发布携带每日任务新增道具字段。
明确排除: dayTaskInfo、getTaskReward、dailyTaskService、dailyTaskConfig、dailyTaskDebug、每日/周任务配置及 Postman 发布资料;也不发布 signInTestAdmin、废弃 starterPackConfig,不顺带更新 drawHead/userLevel/userProp 等非本次增量文件。
路由与顺序
- 先准备配置、变量及现有依赖,再发布公共实现
SignInActivity、limitedTimeEvent、passCheckUpgrade、wucaiMigration。 - 发布
signInClaim后再发布signInActivityInfo;先有passCheckUpgrade再更新passCheck和引用它的支付函数。 - 更新支付链路与
login,核对客户端发布版本后启用签到配置,执行专用账号冒烟。 - 当前仓库
SignInActivity.ts、wx/iosorderPaySig.ts、passCheckUpgrade.ts没有对应 YAML。确认发布工具或控制台显式创建/更新函数;passCheckUpgrade和 iOS 下单需有客户端使用的 POST 路由,不能只凭源码存在判定部署完成。 signInClaim必须作为内部依赖发布;是否关闭它的外部 POST 要按正式客户端兼容情况决定。生产不开放签到测试管理接口。
每日任务隔离边界
合并后的 login 没有 import/call dailyTaskService;此次清单不会新增 V2 任务生成入口。每日任务不更新、且生产用户仍为旧任务结构时,上次发现的 V2 任务兼容问题不作为这次上线阻塞项。
唯一共享前提:若生产此前已存在 users.task.version=2 数据,旧登录刷新逻辑仍可能影响这三个模块的用户登录。这是需在发布前只读核对的线上存量条件,不能仅凭“本次不发布每日任务”判断不存在;当前没有读取生产数据。无需因此上线每日任务代码或执行任务数据迁移。
3. 本范围内仍需确认的配置
- 签到配置来自
sign-in-activity-config.json:等级 23、14 个 UTC+8 自然日累计 7 次、猫皮肤 ID 12;保留已有参加者引用的配置,恰有一条有效启用配置。签到状态和领取集合按原上线文档准备。 - 支付环境:
PAYMENT_APP_ENV、WX_MIDAS_PAY_SIGN_KEY;保留测试订单分流时还需TEST_WX_PAY_NOTIFY_URL。 - 登录:
WX_MINIGAME_APP_ID、WX_MINIGAME_APP_SECRET、IDCOUNT_NAME,且对应 idcount 文档存在;新建用户分号使用原生cloud.mongo.db。 - 旧 iOS 商户链路:
WX_MCH_ID、WX_MCH_CERT_SERIAL_NO、WX_PAY_NOTIFY_URL、现有私钥;iosgetPayInfo仍有硬编码商户/证书信息,需核对一致性。 - 战令现有周期配置:
passCheck使用 idcount 文档69fac1528463a95668c5e5db的passcheckTime,不能遗漏目标环境的记录。 - 埋点 SDK 必须支持
trackFirst;重试依赖订单快照及后续回调/查单,不等于已有可靠消息队列。 - 当前礼包客户端测试要求开发版、体验版、正式版都经真实支付确认。旧 README 关于开发版/体验版免费发货的文字不能作为本版本验收依据。
4. 本次限定范围的验证
| 验证 | 结果 |
|---|---|
| 后端:签到、礼包期限、礼包埋点/战令共存、支付分流 | 59/59 通过 |
| 战令客户端—后端联动 | 18/18 通过;测试读取后端函数时在内存中映射到独立 server 当前 main,非只测试 MatchMaster 内嵌副本 |
| 客户端:礼包、签到体力/加载、战令 UI | 56/58 通过,2 项失败 |
| 合计 | 135 项,133 通过、2 失败;不包含每日任务等范围外测试 |
后端命令:
$env:TEST_WX_PAY_NOTIFY_URL = 'https://sor779u2w8.sealoshzh.site/wx/payCallBack'
node --test --test-reporter=spec laf-cloud/tests/sign-in-activity.test.mjs laf-cloud/tests/starter-pack.test.mjs laf-cloud/tests/rookie-gift.test.mjs laf-cloud/tests/payment-routing.test.mjs
客户端测试文件:tools/test-battle-pass.cjs、tools/test-battle-pass-ui.cjs、tools/test-starter-pack.cjs、tools/test-seven-day-stamina.cjs、tools/test-seven-day-loading.cjs。
战令联动覆盖旧周期经验及领取记录、18/30/12 商品、旧上传兼容、并发发货、赠金/经验只发一次、丢失响应恢复、旧订单补发和过期订单保留。
两项失败位于 MatchMaster/tools/test-starter-pack.cjs:129 和 :140,分别是首次/每日提醒以及 Prefab 失败重试。错误为测试 VM 中 HomePopupQueue is not defined,该测试抽取方法但未注入队列依赖;实际 assets/Script/JiaZai.ts:12 有正确 import。这是现有测试运行环境的缺口,不直接等同于业务运行时缺少 import,也不能把这两个场景记为已通过。 本次没有修改客户端测试或业务代码。
上述测试没有覆盖签到 todayClaim 的完整客户端恢复路径;该问题已由前两次源码核对及定向模拟确认,当前客户端对应代码未变,因此仍列为待处理。没有调用真实微信支付、修改线上记录或触发真实数数事件。
5. 对原文档的使用说明
本文件是当前发布范围和验收结论的优先依据。main合并local后兼容性复查.md 保留全仓历史审计结果;七日签到与新手礼包生产上线文档.md 中的回滚、配置和奖励验收细节仍可参考,但每日任务及其他范围外模块不再按其旧清单执行。