96 lines
8.1 KiB
Markdown
96 lines
8.1 KiB
Markdown
# 唐侦探迁入 TongjiUniApp
|
||
|
||
核对日期:2026-09-08。本说明针对目录纠正后的 `xuetang/TongjiUniApp`,不是此前的 `xuetang/TUICallKit-Vue3`。用户登录后台后的素材上云结果见 [素材实测与清理记录](TANG-COS-MIGRATION-20260908.md);下方“迁移初始实测记录”保留历史阶段证据。
|
||
|
||
## 当前结果与边界
|
||
|
||
- 入口位于原首页 `tongji/pages/weekly`,作为与「识糖小课堂」并列的图标卡片。
|
||
- 微信端经 `tongji/tang-detective/index` 打开唐侦探原生首页;原 9 个主页面、5 个训练页面和登录/健康记录流程的源码保留。
|
||
- 迁入 24 个原生页面、15 回故事;保留原始 473 项源快照与摘要,其中 269 个非媒体文件必须完整。媒体上云不改变原始摘要,没有重新生成图片、音频或视频。
|
||
- `native-adapter/tang-detective` 隔离宿主与原生游戏的路径、页面生命周期、账号存档和媒体适配;不替换宿主 `App.vue`,不引入 TUICallKit 通话 SDK(软件开发工具包)。
|
||
- H5(网页端)可构建;唐侦探入口显示需从微信打开的提示,不宣称网页端已可游玩。
|
||
- 已通过正常登录后的管理界面上传素材,未提取长期密钥、改变桶权限、发布分发资源、部署后端、执行数据库迁移或推送 Git(版本库)。真机与发布验收仍未完成。
|
||
|
||
## 如何运行
|
||
|
||
在本项目目录执行:
|
||
|
||
```sh
|
||
cd /Users/dagedagededagege/Pictures/xuetang/TongjiUniApp
|
||
npm ci --ignore-scripts --no-audit --no-fund
|
||
npm run test:tang
|
||
npm run build:mp-weixin
|
||
npm run check:tang-output
|
||
node scripts/check-tang-native-compiler.cjs
|
||
```
|
||
|
||
微信开发者工具应导入本项目的 `dist/build/mp-weixin`,不要导入之前的 TUICallKit-Vue3 产物。首页进入「唐侦探」。命令行原生编译检查使用本机已安装的微信编译器;其他机器可用 `TANG_WECHAT_COMPILER_DIR` 指定编译器所在目录。该检查仅验证模板/样式语法,不会打开模拟器、登录、播放或上传。
|
||
|
||
网页端构建命令:
|
||
|
||
```sh
|
||
npm run build:h5
|
||
```
|
||
|
||
不升级原依赖版本。开发依赖沿用项目 `package-lock.json`,COS 工具可选依赖单独锁定在 `scripts/tang-cos/package-lock.json`,正常构建与本地测试不需要安装该可选依赖。
|
||
|
||
## 接口对接
|
||
|
||
`config/api.js` 是公开接口地址的单一来源,保留此宿主原地址 `https://xt.zhenyangtang.com.cn/`。`main.js` 与原生构建插件共用它;生成的 `tang-detective/utils/platformConfig.js` 只包含公开地址,不包含密钥或登录令牌。
|
||
|
||
游戏复用宿主登录后的 `token` 请求头:
|
||
|
||
- `GET /api/tang/catalog`
|
||
- `GET /api/tang/progress`
|
||
- `POST /api/tang/saveProgress`
|
||
|
||
只同步受白名单约束的章节、事件、卡片 ID(标识)和阅读位置;不上传健康回答、诊疗数据、剧情文字快照或音频。访客存档本地保留,不在登录后自动合并上传。账号切换、断网、登录过期及冲突场景保留独立状态,不能把请求已发送当作云端确认。
|
||
|
||
接口实现位于同级 `../server`,沿用先前实现,目录纠正未再次改动后端。契约及部署前置条件见 [后端说明](../../server/docs/tang-detective-progress.md) 和 [接口契约](../../server/docs/tang-detective.openapi.yaml)。本轮未对 `xt.zhenyangtang.com.cn` 执行真实登录与存档联调;其他项目域名的历史结果不能用于判断此域名已成功或失败。
|
||
|
||
## 素材与 COS(对象存储)
|
||
|
||
源素材为 160 张图片、44 个音频、0 个视频,共 204 条路径,去重后 180 个对象,合计 24,052,082 字节。原始摘要清单不改写;清理后由真实远端清单和项目内清理凭证共同承接缺失媒体,非媒体源文件仍需逐项通过校验。
|
||
|
||
不需要任何密钥的远端回读复核命令(只发公开读取请求,生成本地审计回执):
|
||
|
||
```sh
|
||
node scripts/tang-cos/verify-admin-upload.mjs audit
|
||
```
|
||
|
||
本次使用 `xuetang/server` 已配置并开启的 COS,通过已有管理界面上传。实际地址位于 `gz-1349751149.cos.ap-guangzhou.myqcloud.com` 下的 `uploads/images/20260908/` 和 `uploads/voice/20260908/`;地址来自上传结果,不由客户端猜测。清单第二版严格约束已实测的域名与对象命名。
|
||
|
||
`build/tang-detective-cos-manifest.json` 已由完整公开回读验证后激活。180 个对象的长度、SHA-256(摘要)、媒体类型全部一致;44 个音频均通过 Range(分段下载)206 与片段字节校验。实际回执为 `build/tang-detective-admin-upload-receipt.json`;旧直连配置失败的历史回执不代表当前上传状态。
|
||
|
||
原直连上传工具仍保留,要求完整原件与可信数据库证书;清理后直接运行其 `inventory` 或 `upload` 会明确拒绝缺失原件。不要关闭证书校验、重新生成源摘要或用测试清单激活项目。正常构建不读取数据库、密钥或项目外备份路径。
|
||
|
||
## 迁移初始实测记录(素材上云前的历史阶段)
|
||
|
||
| 检查 | 本轮结果 | 不能据此证明 |
|
||
| --- | --- | --- |
|
||
| `npm run test:tang` | 72/72 通过 | 真实服务器与存储可用;COS 相关网络用例使用替身 |
|
||
| 微信构建 | 退出码 0 | 模拟器可操作、真机可用、上传通过 |
|
||
| `npm run check:tang-output` | 24 个原生页面、204 个媒体、328 个相对依赖通过;启动页与原宿主路由保留;原生接口地址与本宿主一致 | 云端存档成功 |
|
||
| 微信 `wcc` / `wcsc` 编译器 | 24 页均通过,退出码均为 0 | 界面、音质与播放体验验收 |
|
||
| `npm run build:h5` | 退出码 0 | 唐侦探支持网页游玩 |
|
||
| 原件与迁入快照 | 473/473 逐字节相同 | 内容、声音授权或医疗审签通过 |
|
||
| 原误迁目录及共享后端保护 | 515 个选定文件组合摘要与本轮开始时一致 | 整个仓库未被其他任务修改 |
|
||
|
||
仍待验证:目标部署接口与数据库、微信合法域名的当前配置、开发者工具完整交互与真机播放/存档、老年用户体验、医疗内容复核、发布验收。真实 COS 地址的公开字节回读已在后续阶段完成,但不等于微信真机验收。老年友好小游戏验证规范用于保持原玩法、素材与审核状态,不因迁移提升任何内容的验收等级。
|
||
|
||
## 文件保护与收尾
|
||
|
||
本轮没有删除此前误迁到 `TUICallKit-Vue3` 的内容;原唐侦探和共享后端均保留。新依赖、源码、构建产物保留在正确项目中供复核。测试与构建进程已结束,没有打开新窗口、网页、播放器或常驻服务;既有微信开发者工具窗口未操作、未关闭。
|
||
|
||
## 后续小程序同步复核(2026-09-08 16:26)
|
||
|
||
用户继续要求「小程序也同步一下」后,重新执行微信构建和产物检查,均以退出码 0 结束。
|
||
|
||
开发者工具起初仍打开旧 TUICallKit-Vue3 产物;已通过导入选择框定位正确目录。后续复核时,工具已打开 `TongjiUniApp/dist/build/mp-weixin`,窗口名称为 `tongji-uniapp`,模拟器实际显示默认首页 `tongji/pages/weekly`,可见「唐侦探」和「识糖小课堂」两个入口。没有修改调试启动配置,没有清除存档、点击业务提交、播放音频或上传发布;没有执行完整唐侦探游玩与云存档验证。
|
||
|
||
微信开发专业智能体只读核对了配置、路由、接口及启动行为。需注意:宿主启动会自动登录并读取业务信息;默认首页在特定账号状态下可能自动创建或关联健康记录上下文,进入唐侦探也可能提交已有待同步进度。因此本次界面运行不能称为纯离线检查,也不能仅根据首页可见断言后台没有自动写入。
|
||
|
||
当时开发者工具代码质量面板显示主包尺寸、未使用脚本及本地图片/音频资源项目未通过。此处为上云前历史提示,不能作为后续远端产物的当前结论;后续体积变化见素材清理记录。线上接口联调、真机与发布验收边界不变。
|
||
|
||
收尾:构建和检查进程已结束,导入选择框已关闭。当前正确项目窗口保留供用户继续使用;原有窗口和应用未主动关闭。没有新增临时服务或本任务启动的音视频播放,也无关闭失败项。
|