gengxin
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# 唐侦探接入学堂:本地实现与交接
|
||||
|
||||
日期:2026-09-08。目标仓库为 `Pictures/xuetang`,前端 `TUICallKit-Vue3`,后端 `server`。
|
||||
|
||||
已完成本地代码接入。**尚不是已部署、可上传或真机验收通过的版本**:全量素材保留后包体积仍需处理;数据库迁移、真实接口联调和真机体验未执行。
|
||||
|
||||
COS 素材迁移补充见 [TANG-DETECTIVE-COS.md](TANG-DETECTIVE-COS.md):现已核齐204个媒体原路径,但配置数据库证书验证未通过,真实上传和地址切换尚未执行。下面的本地包体积/测试数据为迁移接入基线,不应当作远程素材模式的验收结果。
|
||||
|
||||
## 入口与保留内容
|
||||
|
||||
血糖管理页 `tongji/pages/weekly.vue` 增加《唐侦探》图标卡片,与现有《识糖小课堂》三消并列。点击经 `tongji/tang-detective/index.vue` 进入原生横屏故事;游戏首页增加“返回学堂”和阅读存档状态。入口沿用宿主图标、绿色卡片和文字层级,不改三消、血糖记录、通话或登录流程。
|
||||
|
||||
保留原十五回、六个主页面、十五个章节页面、三个音频播放器,共24页及18个原生分包;图片和音频原字节复制,不生成或重新编码。
|
||||
|
||||
原来源:`/Users/dagedagededagege/Documents/Codex/2026-07-22/new-chat/wechat-miniprogram/miniprogram`。原目录未修改。473文件快照在 `native/tang-detective/`,SHA-256清单在 `build/tang-detective-source-manifest.json`。不导入旧 `app.js`、私有工程配置或凭据;原 `app.json` 仅作为构建元数据。迁移修改均在构建插件和 `native-adapter/tang-detective/` 中完成。
|
||||
|
||||
H5可构建并显示明确的微信运行提示,**没有把原生游戏转换成网页可玩版本**。原配音的人工审核和远程音频配置状态保持不变;不能把迁移当作试听、授权或发布验收。
|
||||
|
||||
## 接口与存档
|
||||
|
||||
三个独立接口使用现有 `token` 请求头:
|
||||
|
||||
| 方法 | 路径 | 用途 |
|
||||
| --- | --- | --- |
|
||||
| GET | `/api/tang/catalog` | 十五回合法章节、事件、页码、卡片目录 |
|
||||
| GET | `/api/tang/progress` | 当前登录用户的阅读存档 |
|
||||
| POST | `/api/tang/saveProgress` | 修订匹配的替换/重置、幂等确认 |
|
||||
|
||||
前端和宿主共用 `config/api.js` 的 `API_BASE_URL`;原生构建生成独立的只含公开地址的 `utils/platformConfig.js`。需要调试另一套服务器时修改该公开地址并重建;不要在文件内写token或密钥。当前默认地址沿用宿主配置,本轮未请求该地址。
|
||||
|
||||
存档桥仅上传白名单ID、已完成事件、当前页和修订;不上传健康回答、正文快照、音频、偏好、患者信息或账号凭据。后端新增独立用户存档表,不写三消排行榜。
|
||||
|
||||
游客记录仅留本机,不自动转到登录账号。服务端确认用户ID后隔离本机存档;token指纹只用于本机身份映射,不保存另一份token。续签同一账号可恢复其本机待同步队列。旧账号页面回调不能写入新账号存档。原版旧存储键保留、不自动导入。
|
||||
|
||||
断网保留本机进度;保存请求串行、600ms合并,超时8秒。超时重试复用原请求ID和正文。发生版本/故事代次冲突时暂停自动覆盖,首页点击存档状态选择云端或本机,确认前保留可恢复的本机备份。重置保留收藏,服务端递增故事代次。永久契约错误不在页面切换时自动重试。
|
||||
|
||||
后端完整契约、错误码和验证边界见 `../server/docs/tang-detective-progress.md`(从仓库根:`server/docs/tang-detective-progress.md`),机器契约为 `server/docs/tang-detective.openapi.yaml`。
|
||||
|
||||
## 怎样运行
|
||||
|
||||
在前端目录执行:
|
||||
|
||||
```sh
|
||||
npm ci --ignore-scripts --no-audit --no-fund
|
||||
# 仅首次、TUICallKit尚不存在时,按项目原README准备SDK:
|
||||
test -e TUICallKit || cp -R node_modules/@trtc/calls-uikit-wx-uniapp TUICallKit
|
||||
test -f static/RTCCallEngine.wasm.br || cp node_modules/@trtc/call-engine-lite-wx/RTCCallEngine.wasm.br static/RTCCallEngine.wasm.br
|
||||
npm run test:tang
|
||||
npm run build:mp-weixin
|
||||
npm run check:tang-output
|
||||
node scripts/check-tang-native-compiler.cjs
|
||||
```
|
||||
|
||||
原生编译检查使用本机已安装的微信开发者工具内 `wcc`/`wcsc`,不打开应用、不上传、不播放。其他机器可通过 `TANG_WECHAT_COMPILER_DIR` 指向其编译器目录。
|
||||
|
||||
微信产物为 `dist/build/mp-weixin`。使用微信开发者工具打开该目录进行后续模拟器/真机检查;本轮没有自动打开用户已有工具窗口。调试构建仍用原项目 `npm run dev:mp-weixin`,开发监听及工具窗口由启动者负责关闭。
|
||||
|
||||
后端部署前由有权限的人核对数据库前缀、备份及运行环境,再审阅 `server/sql/1.9.20260908/add_tang_detective_progress.sql`;该脚本本轮未执行。先具备表和接口,再验证真实登录同步。不要运行现有三消上报接口来验证唐侦探。
|
||||
|
||||
## 实测与缺口
|
||||
|
||||
- 微信生产构建、H5生产构建:退出码0。
|
||||
- `npm run test:tang` 共44项通过:7项导入测试、27项存档桥/基础生命周期测试、10项加载真实章节与播放器的生命周期回归;不访问真实API或数据库。
|
||||
- 产物校验:24页、204份媒体、328个相对模块依赖;473份源快照与原目录哈希无漂移。
|
||||
- 本机微信编译器:24页WXML、WXSS编译退出码0,无诊断输出。只证明本机编译语法,不证明页面交互/设备表现。
|
||||
- 后端15章、60事件、120页、15卡ID逐项核对通过;OpenAPI YAML解析通过。
|
||||
- 两份PHP契约脚本已写,因本机没有PHP运行时而**未执行**;也没有真实MySQL、HTTP中间件、并发数据库或线上联调证据。
|
||||
- 未做模拟器交互、横屏小屏布局、真机、音频试听、目标老人/医生审核、上传或公开发布。
|
||||
|
||||
独立代码审查发现并复核闭环了5项迁移问题:离线重置后的新阅读保护、卸载资源清理、旧账号确认回调隔离、队列落盘失败后的恢复、播放器延迟初始化生命周期。复核仍限本地代码与模拟平台接口,不升级为真机或服务器验收。
|
||||
|
||||
当前原始文件主包3,157,378字节、总包32,595,927字节(约3.16MB和32.60MB,非微信上传压缩体积)。精确分包数据与哈希见 `build/tang-detective-native-validation.json`。**不得直接宣称可上传**;需要后续分包/受控静态资源托管方案及真实包分析,不应靠删除章节、改画质或关闭检查掩盖问题。
|
||||
|
||||
## 回退与资源
|
||||
|
||||
要停用入口,可回退本次入口/路由/构建插件接入;不要删除原项目、用户存档或新增存档表。保留快照和适配层便于逐项比较。没有提交或推送Git,没有部署服务器。
|
||||
|
||||
本任务的构建/测试/原生编译子进程均结束;测试临时目录已清理。依赖、SDK、本地构建结果和交接文件保留。没有打开浏览器、播放器或本地服务;用户已有应用与服务未触碰。
|
||||
Reference in New Issue
Block a user