187c426243
- 移除全项目 34 处调试 console.* 输出 - project.config.json: minified true、uploadWithSourceMap false、启用 lazyCodeLoading(requiredComponents 组件按需注入) - pages/records/records.json 补全 ui-skeleton 组件声明(此前漏声明,WXML 已使用) - 删除根目录残留 preview-buttons.html
4.4 KiB
4.4 KiB
平板支撑训练小程序 · 上线前审查报告
日期:2026-08-04 | 审查范围:上线就绪(合规 / 包体 / 性能 / 云函数部署)
一、总体结论
代码质量高,主包仅 540KB(远低于 2MB 上限),网络请求全部走云开发 wx.cloud.*(免 request 合法域名白名单配置),隐私合规链路已在上架期验证可行。
有 1 个上线阻断项(云函数部署)+ 1 个部署前置(tts 环境变量)必须处理,其余为建议优化项。未发现功能性 bug、无合规硬伤。
二、🔴 阻断项(上线前必须完成)
1. 云函数必须重新部署(最关键)
注意:git 提交 ≠ 云函数部署。云函数代码要生效,必须在微信开发者工具里「上传并部署」。
| 云函数 | 近期状态 | 动作 |
|---|---|---|
leaderboard |
本次 b52db87 改了 17 行(含 totalDays / 全榜勋章逻辑) |
必须重新部署,否则线上排行榜跑旧逻辑 |
tts |
8-03 改(循环训练语音播报) | 需部署 |
getOpenid |
基础服务,排行榜定位 + 云同步依赖 | 确认已部署 |
admin-dedupe |
一次性清理工具(文档注明部署一次后删除) | 可选 |
部署方式:微信开发者工具 → 右键云函数 → 「上传并部署:云端安装依赖」(项目无本地 node_modules,需云端 npm install)。tts 依赖 tencentcloud-sdk-nodejs 体积较大,云端安装需等待。
2. tts 云函数环境变量必须配好(部署前置)
cloudfunctions/tts/index.js 从环境变量读取密钥:
TTS_SECRET_ID / TTS_SECRET_KEY / TTS_REGION
若未配置,语音合成直接失败(循环训练 / 语音播报失效)。
确认路径:云开发控制台 → tts 云函数 → 环境变量;并确认腾讯云 TTS 服务已开通、密钥有效。
三、🟡 建议项(不阻断,建议上线前做)
- 清理调试
console.log:utils/cloud.js14 处 +storage.js/voice.js/app.js/leaderboard云函数等。上线应移除或降级(减小包体、避免泄露内部状态、减少日志噪声)。微信审核不强制。 project.config.json上线开关:minified: false→true;uploadWithSourceMap: true→false。防源码泄露、减小包体(开发者工具上传界面也有独立勾选,会覆盖此项)。- 隐私授权自定义弹窗:代码无
wx.onNeedPrivacyAuthorize处理。当前能跑(微信自动弹系统默认隐私窗,且后台隐私协议已配、已上架运行一月),但建议加自定义弹窗以更合规、体验更佳。非阻断。 - 全局错误上报:无
wx.onError/onUnhandledRejection/onPageNotFound。建议加全局异常捕获 + 轻量上报(云监控 / 自建),便于线上排查崩溃。 - 清理残留文件:
cloudfunctions/shared/(空死目录,重构遗留;leaderboard实际引用./data,不受影响)、根目录preview-buttons.html、.claude//.codegraph/(工具目录)。小程序只打包组成文件,不影响包体,但建议加packOptions.ignore或删除以免误传。 - 确认生产 env:
utils/cloud.js硬编码ENV_ID=cloudbase-d1g56kl2q8f4f7d8a,确认是生产环境(通常单一 env 即可)。
四、✅ 已核实合规 / 无风险项
- 主包 540KB << 2MB,无需分包
- 无硬编码
http://,全走wx.cloud(免 request 合法域名配置) - 隐私接口仅
chooseAvatar(buttonopen-type,后台已声明「用户信息」) app.json无需requiredPrivateInfos(chooseAvatar不在此列)sitemap.json标准 allowtabBarcustom +custom-tab-bar目录齐全- 云函数依赖声明齐全(
wx-server-sdk/tencentcloud-sdk-nodejs) - 内容安全风险低(昵称 / 头像均为用户自身数据,无实时 UGC 发布链路)
五、上线 Checklist
- 部署
leaderboard/tts/getOpenid云函数(云端安装依赖) - 配好
tts环境变量并验证 TTS 可用 - 开发者工具「上传」时勾选 压缩 + 不上传 sourcemap
- 体验版真机回归:训练 → 记录 → 排行榜(含空榜 / 1-2 名虚拟台)→ 设置改头像
- 确认 MP 后台类目(运动健身类)与隐私协议有效
- 提交审核,准备测试说明(功能无需登录,排行榜可空榜展示)