gengxin
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# 唐侦探真实素材上云与清理
|
||||
|
||||
正确项目:`xuetang/TongjiUniApp`。上传批次:`b9ab703a-49a6-4b6b-ac34-979eca1d4828`。
|
||||
|
||||
## 已完成上传与核验
|
||||
|
||||
用户自行登录 `https://xt.zhenyangtang.com.cn/admin/` 后,通过已有图片上传和语音直传界面上传;没有提取登录令牌或长期密钥,没有点击“确定发布”,没有改变桶权限。后台显示腾讯云 COS(对象存储)开启。原始文件仅复制为带序号的上传副本,没有生成、重编码、裁剪或压缩内容。
|
||||
|
||||
- 204 条唐侦探媒体路径:160 JPG、44 MP3、0 视频,总原始字节 24,052,082。
|
||||
- 去重后 180 个实际对象:136 图片、44 音频。所有对象已完成不带凭据的 HTTPS(加密传输)完整下载,长度、类型和 SHA-256(摘要)均与原件一致。
|
||||
- 全部 44 音频另通过 Range(分段下载)206 状态、范围头及首段原始字节一致性检查。
|
||||
- 实际使用现有域名 `https://gz-1349751149.cos.ap-guangzhou.myqcloud.com`。图片位于 `uploads/images/20260908/`,语音位于 `uploads/voice/20260908/`;完整 URL(地址)逐条保存在真实清单。
|
||||
|
||||
证据文件:
|
||||
|
||||
- `build/tang-detective-source-manifest.json`:原始 473 项快照,保持原字节与固定摘要。
|
||||
- `build/tang-detective-admin-upload-plan.json`:去重与上传副本对应关系;它本身不是成功证明。
|
||||
- `build/tang-detective-admin-upload-observations.json`:管理界面实际返回地址,数组与上传副本序号对应。
|
||||
- `build/tang-detective-admin-upload-receipt.json`:180 个对象的真实完整回读结果,`complete=true`。
|
||||
- `build/tang-detective-cos-manifest.json`:完整 204 条路径的激活清单;仅全部验证通过后生成。
|
||||
- `build/tang-detective-admin-audit-receipt.json`:清理后再次真实回读全部 180 对象,`complete=true`;不改写原激活清单。
|
||||
- `build/tang-detective-cleanup-verification.json`:实际清理后源码、恢复副本、测试、构建与本机微信编译器结果和命令输出,`passed=true`。
|
||||
|
||||
## 清理状态
|
||||
|
||||
独立代码审查通过后,已将 204 个被真实远端地址替代的媒体,以及 10 个没有运行时代码引用的旧图片移出项目,共 214 文件、24,145,441 字节。凭证为 `build/tang-detective-media-prune-receipt.json`,绑定源快照、真实远端清单、上传批次、备份摘要与每条移出记录。没有删除共享后端、此前误迁的 `TUICallKit-Vue3`、原唐侦探项目、图标字体或运行库。
|
||||
|
||||
保留 2 张个人中心导航图标和 5 张仍有业务数据引用的订单图片。10 个无引用旧图片的精确清单在 `scripts/tang-cos/prune-verified-media.mjs`,其范围不能扩大为按扩展名批量删除。
|
||||
|
||||
项目外备份:`/Users/dagedagededagege/Pictures/tang-media-backup-20260908.9hdgCE/original-media.tar.gz`。归档含 221 个原媒体及源快照清单,222 项曾全部逐字节回读;清理预检查又独立回读了全部 214 个待移出条目。
|
||||
|
||||
归档 SHA-256:`656afc8d82ccb2343487dca5b931c69de4108c0ebc21116a9fae4f62dfd27b61`。归档没有密钥或登录配置。移出的原字节文件还保存在同目录 `pruned-originals/`,项目本身不需要访问此路径即可构建。
|
||||
|
||||
## 怎样运行和复核
|
||||
|
||||
在 `TongjiUniApp` 中执行:
|
||||
|
||||
```sh
|
||||
npm run test:tang
|
||||
npm run build:mp-weixin
|
||||
npm run check:tang-output
|
||||
node scripts/check-tang-native-compiler.cjs
|
||||
node scripts/tang-cos/verify-admin-upload.mjs audit
|
||||
```
|
||||
|
||||
最后一条只读取公开 COS 文件并写本地审计回执,不会再上传素材或改写激活清单。正常构建自动读取项目内清单;缺少媒体时必须同时提供完整、匹配的清理凭证,269 个非媒体源文件始终逐项校验。不应重新生成源快照、删除清单或用测试替身覆盖真实清单。
|
||||
|
||||
需要恢复本地原件时,应从上述项目外原件目录按精确路径恢复,并先核对备份及目标是否已有改动;不要覆盖现有代码。旧直连上传命令要求完整原件与可信数据库证书,此次没有绕过数据库证书错误,而是使用正常已登录上传通道。
|
||||
|
||||
## 已实测与限制
|
||||
|
||||
清理后的实际项目再次验证:81/81 自动测试通过;微信构建退出 0;24 个原生页、525 个相对依赖、原宿主路由与 API(接口)地址校验通过;唐侦探源目录和产物目录媒体数均为 0;本机微信 `wcc` / `wcsc` 对 24 页均编译通过。269 个非媒体源码及 214 个移出的恢复副本全部逐字节通过检查。另对原唐侦探项目的全部 473 个文件再次比对原快照,摘要与长度均一致。
|
||||
|
||||
实际产物已更新至 `TongjiUniApp/dist/build/mp-weixin`:原始构建文件总大小 7,438,230 字节,主包原始文件大小 1,412,653 字节。这些是磁盘文件字节统计,不是微信上传压缩包测量或发布通过证明。项目仅余 7 张仍有业务引用的宿主图片,无唐侦探本地图片、音频或视频。
|
||||
|
||||
老年友好小游戏验证规范用于保留原 120 页选图及 112 正式/8 临时状态,不提升音频试听、内容审核、可玩性或医疗审批状态。网络回读和编译不等于微信真机播放、账号云存档、老人体验、医生审签或公开发布。本次没有部署后端、提交数据库迁移、推送远端版本库、提交审核或发布小程序。
|
||||
|
||||
## 专业审查与资源收尾
|
||||
|
||||
微信小程序专业智能体完成严格删源后构建与清单校验,29/29 专项测试通过;代码审查专业智能体完成独立安全检查,44/44 隔离测试通过,未发现阻止本次清理的问题。主智能体负责真实上传、公开回读、备份核验、可恢复移出和实际项目删后复验。
|
||||
|
||||
上传/选择对话框已关闭,页面无音视频播放器;测试、编译、公开下载进程均已结束,没有新增监听服务。为保护用户工作,保留已登录后台、原有微信开发者工具及其他既有窗口;项目外归档和原字节恢复目录保留。无关闭失败资源。
|
||||
@@ -0,0 +1,50 @@
|
||||
# 素材上云与清理:历史阻塞和恢复点
|
||||
|
||||
本页记录用户登录后台之前的失败尝试,已被后续正常管理界面上传解除。当前真实结果请看 [2026-09-08 素材迁移记录](TANG-COS-MIGRATION-20260908.md) 与 `build/tang-detective-admin-upload-receipt.json`,不要把下面历史“上传 0”当作当前状态。数据库证书信任问题本身未被绕过或修复。
|
||||
|
||||
2026-09-08 用户再次明确:把图片、音频上传到 `xuetang/server` 配置的 COS(对象存储),随后删除 `TongjiUniApp` 中不必要的本地图音文件。上传、替换真实引用、校验和可恢复清理均已获授权;未授权绕过证书校验、改变桶权限、删除云端对象或发布小程序。
|
||||
|
||||
## 本次实际结果
|
||||
|
||||
- 安装了 `scripts/tang-cos` 锁定的 77 个工具依赖,未升级依赖、未改变小程序运行依赖。
|
||||
- `node scripts/tang-cos/upload.mjs inspect` 退出码 1,脱敏错误码 `HANDSHAKE_SSL_ERROR`;仅进一步确认其属于数据库自签名证书信任失败,没有输出原始连接信息。
|
||||
- 未取得实际 COS 配置或密钥;未发出 COS 写入请求;上传数为 0,删除数为 0,没有伪造真实激活清单。
|
||||
- 后端专业智能体确认存储配置来自配置表中的 `storage/default` 和 `storage/qcloud`;现有仓库没有数据库专用可信 CA(证书颁发机构)文件。本机 SSH(加密远程连接)配置中没有匹配该数据库主机的入口。
|
||||
- 已检查服务器现有管理入口 `https://xt.zhenyangtang.com.cn/admin/`,实际进入后台登录页,未登录。该标签页作为用户登录接续入口保留;未尝试账号或密码,也未读取浏览器凭据。
|
||||
|
||||
接续方式:请用户自行登录已打开的管理后台。登录后可检查现有图片/文件上传界面与配置驱动,通过正常已授权上传流程处理素材。不要从后台提取或输出长期密钥。若后台通道不可用,另一选项是管理员通过可信渠道提供数据库 CA 文件,再使用现有 `TANG_DB_CA_FILE` 配置;不能抓取对端自签名证书后自行建立信任。
|
||||
|
||||
## 已完成项目外备份
|
||||
|
||||
备份位置:`/Users/dagedagededagege/Pictures/tang-media-backup-20260908.9hdgCE/original-media.tar.gz`。
|
||||
|
||||
- 221 个图音素材,合计 24,179,649 字节,另含原唐侦探源文件摘要清单;排除了依赖、构建产物和运行库。
|
||||
- 全部 222 个压缩包条目已逐条回读,与当前原件逐字节相等。
|
||||
- 压缩包 SHA-256:`656afc8d82ccb2343487dca5b931c69de4108c0ebc21116a9fae4f62dfd27b61`。
|
||||
- 其中唐侦探为 204 条媒体路径:160 JPG、44 MP3,合计 24,052,082 字节;去重后 180 个对象。
|
||||
- 未删除或移动任何原件。备份不包含 `.env`、账号、登录令牌或 API 密钥文件。
|
||||
|
||||
## 清理前还要补齐
|
||||
|
||||
当前构建的远程模式能移除产物媒体,但校验器仍要求项目源目录中的全部媒体存在,不能直接删除源图片/音频后宣布完成。
|
||||
|
||||
微信开发专业智能体已确认最小变更范围:共享严格源清单校验;完整且真实的远程登记表可以承接缺失媒体,但必须保留全部非媒体源文件,拒绝额外文件、原件漂移、符号链接和不完整清单。本地模式缺原件必须失败。上传工具继续要求完整原件,清理回执绑定上传、远程登记表和外部备份摘要。
|
||||
|
||||
10 个无运行时引用的图音候选共 93,359 字节,尚未删除:
|
||||
|
||||
- `static/background.svg`
|
||||
- `static/calling-logo.png`
|
||||
- `static/check.png`
|
||||
- `static/user/home.png`
|
||||
- `static/user/home_no.png`
|
||||
- `static/wjw.png`
|
||||
- `static/ys.png`
|
||||
- `static/yy.png`
|
||||
- `static/zs.jpg`
|
||||
- `training/static/footprint.svg`(仅说明文件提及的备用素材)
|
||||
|
||||
保留仍被引用的个人中心图标、订单图、图标字体和不属于此次图音范围的运行库。实际删除前须重新核对引用、真实上传/公开回读与备份,不能把本清单当作已执行结果。
|
||||
|
||||
## 资源收尾
|
||||
|
||||
本次依赖安装、检查和归档命令均已结束,无临时监听服务或音视频播放。保留后台登录接续页和项目外备份;未操作或关闭已有小程序窗口、旧项目窗口及用户其他网页。无关闭失败。代码审查专业智能体未调用,因为尚未实施远程替换或删除。
|
||||
@@ -0,0 +1,95 @@
|
||||
# 唐侦探迁入 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`,可见「唐侦探」和「识糖小课堂」两个入口。没有修改调试启动配置,没有清除存档、点击业务提交、播放音频或上传发布;没有执行完整唐侦探游玩与云存档验证。
|
||||
|
||||
微信开发专业智能体只读核对了配置、路由、接口及启动行为。需注意:宿主启动会自动登录并读取业务信息;默认首页在特定账号状态下可能自动创建或关联健康记录上下文,进入唐侦探也可能提交已有待同步进度。因此本次界面运行不能称为纯离线检查,也不能仅根据首页可见断言后台没有自动写入。
|
||||
|
||||
当时开发者工具代码质量面板显示主包尺寸、未使用脚本及本地图片/音频资源项目未通过。此处为上云前历史提示,不能作为后续远端产物的当前结论;后续体积变化见素材清理记录。线上接口联调、真机与发布验收边界不变。
|
||||
|
||||
收尾:构建和检查进程已结束,导入选择框已关闭。当前正确项目窗口保留供用户继续使用;原有窗口和应用未主动关闭。没有新增临时服务或本任务启动的音视频播放,也无关闭失败项。
|
||||
Reference in New Issue
Block a user