From c55c0cc9417b6411727b1ecd3cffb4e672180973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=98=E9=A3=8E?= Date: Fri, 24 Apr 2026 14:42:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0wz-app=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E2026-04-24=E7=9A=84=E5=85=A8?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=BC=9A=E8=AE=AE=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=BB=8F=E9=AA=8C=E6=B8=85=E5=8D=95=E5=92=8C?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=B4=A2=E5=BC=95=E6=96=87=E6=A1=A3=EF=BC=8C?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E6=96=87=E6=A1=A3=E5=86=85=E5=AE=B9=E7=9A=84?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E6=80=A7=E4=B8=8E=E4=B8=80=E8=87=B4=E6=80=A7?= =?UTF-8?q?=EF=BC=8C=E5=90=8C=E6=97=B6=E8=AE=B0=E5=BD=95P0/P1/P2=E7=9A=84?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E4=B8=8E=E9=A1=B9=E7=9B=AE=E8=BF=9B=E5=BA=A6?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E5=8D=87=E5=9B=A2=E9=98=9F=E5=8D=8F=E4=BD=9C?= =?UTF-8?q?=E6=95=88=E7=8E=87=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evolution/2026-04-24-玩值全项目会议.md | 13 ++ .cursor/agent/团队/evolution/索引.md | 5 + .../evolution/2026-04-24-玩值全项目会议收尾.md | 14 ++ .cursor/agent/开发助理/evolution/索引.md | 1 + .cursor/agent/开发助理/经验清单.md | 2 + .cursor/agent/开发助理/项目索引/产品.md | 3 +- .cursor/agent/开发助理/项目索引/团队.md | 3 +- .cursor/agent/开发助理/项目索引/测试.md | 3 +- .cursor/agent/开发助理/项目索引/玩值.md | 2 + .../evolution/2026-04-24-全项目会议与P0接口.md | 14 ++ .../2026-04-24-收官计划-build-info与GIT_COMMIT.md | 10 + .cursor/agent/玩值API工程师/evolution/索引.md | 2 + .../evolution/2026-04-24-全项目会议与主次线.md | 14 ++ .../agent/玩值移动端工程师/evolution/索引.md | 1 + .../evolution/2026-04-24-全项目会议与运营可管.md | 15 ++ .../evolution/2026-04-24-收官计划-点卡订单管理页.md | 11 ++ .../agent/玩值管理端工程师/evolution/索引.md | 2 + .../2026-04-24_玩值全项目进度与三端缺口.md | 126 +++++++++++++ .cursor/meeting/README.md | 1 + .cursor/skills/assistant-doc-sync/sync-log.md | 2 + new/wz-admin/src/App.tsx | 2 + new/wz-admin/src/api/wanzhiAdmin.ts | 6 + new/wz-admin/src/config/adminMenu.ts | 2 + new/wz-admin/src/pages/wz/PointOrdersPage.tsx | 172 ++++++++++++++++++ new/wz-admin/src/pages/wz/PointsPage.tsx | 6 + new/wz-api/MIGRATION.md | 1 + new/wz-api/internal/config/config.go | 6 + new/wz-api/internal/handler/wanzhi_app.go | 7 +- 开发文档/玩值/三端对齐项目清单.md | 7 + 开发文档/玩值/迁移-API对照表.md | 5 +- 开发文档/玩值/进度-看板.md | 8 +- 31 files changed, 457 insertions(+), 9 deletions(-) create mode 100644 .cursor/agent/团队/evolution/2026-04-24-玩值全项目会议.md create mode 100644 .cursor/agent/团队/evolution/索引.md create mode 100644 .cursor/agent/开发助理/evolution/2026-04-24-玩值全项目会议收尾.md create mode 100644 .cursor/agent/玩值API工程师/evolution/2026-04-24-全项目会议与P0接口.md create mode 100644 .cursor/agent/玩值API工程师/evolution/2026-04-24-收官计划-build-info与GIT_COMMIT.md create mode 100644 .cursor/agent/玩值移动端工程师/evolution/2026-04-24-全项目会议与主次线.md create mode 100644 .cursor/agent/玩值管理端工程师/evolution/2026-04-24-全项目会议与运营可管.md create mode 100644 .cursor/agent/玩值管理端工程师/evolution/2026-04-24-收官计划-点卡订单管理页.md create mode 100644 .cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md create mode 100644 new/wz-admin/src/pages/wz/PointOrdersPage.tsx diff --git a/.cursor/agent/团队/evolution/2026-04-24-玩值全项目会议.md b/.cursor/agent/团队/evolution/2026-04-24-玩值全项目会议.md new file mode 100644 index 0000000..7601ce8 --- /dev/null +++ b/.cursor/agent/团队/evolution/2026-04-24-玩值全项目会议.md @@ -0,0 +1,13 @@ +# 团队 - 2026-04-24 跨角色决策 + +> 玩值全项目会议(乘风主持),详见 [`.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md`](../../meeting/2026-04-24_玩值全项目进度与三端缺口.md)。 + +## 架构与交付 + +- 玩值三端「打通」定义:对照表 + 看板 + 三端矩阵;单域在 wz-api 可追溯、C 可演示、Admin 对 P0 可运营,或文档 N/A。 +- 主线 C 端为 `old/app`;`new/wz-app` 为次线/联调壳,新功能默认不单独在次线扩张。 +- P0 锁定:点卡+订单、直播主链、认证/用户态;P1 管理端 P0 域运营闭环;P2 评论/大屏 view 等依立项。 + +## 后续 + +- 问题与作答区闭环由产品与 API/移动端按纪要分工填写。 diff --git a/.cursor/agent/团队/evolution/索引.md b/.cursor/agent/团队/evolution/索引.md new file mode 100644 index 0000000..17ec252 --- /dev/null +++ b/.cursor/agent/团队/evolution/索引.md @@ -0,0 +1,5 @@ +# 团队 - 经验索引 + +| 日期 | 主题 | +|------|------| +| 2026-04-24 | [玩值全项目会议(跨端决策)](2026-04-24-玩值全项目会议.md) | diff --git a/.cursor/agent/开发助理/evolution/2026-04-24-玩值全项目会议收尾.md b/.cursor/agent/开发助理/evolution/2026-04-24-玩值全项目会议收尾.md new file mode 100644 index 0000000..15081fb --- /dev/null +++ b/.cursor/agent/开发助理/evolution/2026-04-24-玩值全项目会议收尾.md @@ -0,0 +1,14 @@ +# 开发助理 - 2026-04-24 玩值全项目会议收尾 + +## 动作 + +- 生成纪要 [2026-04-24_玩值全项目进度与三端缺口.md](../../meeting/2026-04-24_玩值全项目进度与三端缺口.md)(含 P0/P1/P2、问题与作答区、待办表)。 +- 更新 `.cursor/meeting/README.md` 索引;同步 `开发文档/玩值/进度-看板.md`、`三端对齐项目清单.md` 最后更新与会议注记;`项目索引/玩值.md`、产品/团队/测试进度表;`sync-log`;玩值/团队/各玩值角色 evolution 当日条目。 + +## 产品向摘要(无独立 product agent 时) + +- 三端「打通」验收定义与 P0=订单/点卡/直播+认证已写入纪要,供《产品》索引进度引用。 + +## 待闭环 + +- 问题与作答区 4 项待产品/API 后续填写。 diff --git a/.cursor/agent/开发助理/evolution/索引.md b/.cursor/agent/开发助理/evolution/索引.md index 2900994..4477a02 100644 --- a/.cursor/agent/开发助理/evolution/索引.md +++ b/.cursor/agent/开发助理/evolution/索引.md @@ -4,6 +4,7 @@ | 日期 | 摘要 | 文件 | |------|------|------| +| 2026-04-24 | 玩值全项目会议收尾:纪要、索引、看板/三端/玩值与 sync-log | 2026-04-24-玩值全项目会议收尾.md | | 2026-04-24 | wz-app 经验吸收与文档同步(跨端摘要) | 2026-04-24-wz-app经验吸收与文档.md | | 2026-04-22 | TS 原生编译跨平台(Perry)全员吸收与 Skill 沉淀 | 2026-04-22-TS原生编译跨平台全员吸收.md | | 2026-03-21 | MBTI 头像小程序全链路兜底 + 匹配接口回填 | 2026-03-21-MBTI头像C端全链路兜底.md | diff --git a/.cursor/agent/开发助理/经验清单.md b/.cursor/agent/开发助理/经验清单.md index 3853024..69a7a2e 100644 --- a/.cursor/agent/开发助理/经验清单.md +++ b/.cursor/agent/开发助理/经验清单.md @@ -22,6 +22,8 @@ | 日期 | 角色 | 类型 | 升级 Skill | 摘要 | |------|------|------|------------|------| +| 2026-04-24 | 玩值三端、开发助理 | 收官实施 | wz-api-dev 可参考 | 纪要好四问;build-info gitCommit;点卡订单管理页与真源表同步 | +| 2026-04-24 | 玩值三端、产品、测试、团队、开发助理 | 团队会议 | — | 玩值全项目进度与三端缺口:P0/P1/P2、纪要、看板/三端注记、evolution 与项目索引同步 | | 2026-04-24 | 玩值移动端、开发助理 | 迁移/联调/文档 | wz-app-dev SKILL §5 | wz-app 占位清零:大屏只读、主播/观众 API、公会旅程埋点、动态评论本地态、删 Stub;对照表/看板/MIGRATION 同步 | | 2026-04-22 | 玩值API、玩值管理端、玩值移动端、开发助理 | 技术选型方法论 | ts-native-cross-platform SKILL | 基于 Perry 文章沉淀跨平台统一评估框架:POC 先行、指标门禁、工具链前置、回退机制 | | 2026-02-27 | 小程序、团队 | 最佳实践 | SKILL-小程序开发 §6、SKILL-管理端开发 §4.1 | 输入框 padding 用 view/div 包裹 | diff --git a/.cursor/agent/开发助理/项目索引/产品.md b/.cursor/agent/开发助理/项目索引/产品.md index f69c522..bb40de1 100644 --- a/.cursor/agent/开发助理/项目索引/产品.md +++ b/.cursor/agent/开发助理/项目索引/产品.md @@ -33,9 +33,10 @@ Soul 创业派对产品定位:面向创业者的社区/工具型小程序。 | 2026-04-07 | 开发文档与主需求交叉同步;闭环分析落盘(主路径成立、规则/风控与纪要问题区待闭环) | 已完成 | | 2026-04-13 | 会议:按功能同步开发文档;功能完成=实现+文档/索引可追溯;待办见纪要问题区 | 进行中 | | 2026-04-14 | 吸收沉淀:新建 `开发文档/1、需求/需求汇总.md` 与 `开发文档/10、项目管理/运营与变更.md`;需求清单 SYNC/LOOP/MAINT/BACKEND 行 | 进行中 | +| 2026-04-24 | 玩值全项目会议:三端「打通」验收定义、P0 域锁定、评论/次线抬主线等待问题区作答;纪见 `.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md` | 进行中 | > **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD,状态用:已完成 / 进行中 / 待续 / 搁置 --- -**最后更新**:2026-04-14 +**最后更新**:2026-04-24 diff --git a/.cursor/agent/开发助理/项目索引/团队.md b/.cursor/agent/开发助理/项目索引/团队.md index b7bf039..bb9b6da 100644 --- a/.cursor/agent/开发助理/项目索引/团队.md +++ b/.cursor/agent/开发助理/项目索引/团队.md @@ -37,9 +37,10 @@ Soul 创业派对全项目架构与约定:路由隔离(miniprogram/admin/db | 2026-04-13 | 会议:按功能同步开发文档;功能完成=实现+索引一行;跨端契约双写团队/纪要 | 进行中 | | 2026-04-14 | 吸收沉淀:小程序逆推闭环方法论;`role-flow-control` §1.2;开发文档需求真源 | 进行中 | | 2026-04-15 | 联网:垂直切片/追踪弹/验证优先/无责复盘 → `role-flow-control` §1.3、`团队/evolution/2026-04-15.md` | 已完成 | +| 2026-04-24 | 玩值全项目会议:P0/P1/P2、主线/次线、三端打通定义;`agent/团队/evolution/2026-04-24-玩值全项目会议.md` | 已完成 | > **格式说明**:每次架构级讨论后在此追加一行,日期格式 YYYY-MM-DD --- -**最后更新**:2026-04-15 +**最后更新**:2026-04-24 diff --git a/.cursor/agent/开发助理/项目索引/测试.md b/.cursor/agent/开发助理/项目索引/测试.md index f737f31..1e4a9fe 100644 --- a/.cursor/agent/开发助理/项目索引/测试.md +++ b/.cursor/agent/开发助理/项目索引/测试.md @@ -38,7 +38,8 @@ | 2026-04-02 | 会议:工作进度与需求同步;融合清单待联调后执行;deploy PR 增加 compose/health/smoke | 待续 | | 2026-04-13 | 会议:按功能同步开发文档;以文档与索引为真源更新回归;契约未入文档可阻塞 | 进行中 | | 2026-04-14 | 吸收沉淀:LOOP 需求与逆推清单纳入回归裁剪依据 | 进行中 | +| 2026-04-24 | 玩值全项目会议:P0 联调+回归(点卡/订单/直播/认证)、环境检查(wz-api 端口与新构建);纪见 `.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md` | 进行中 | --- -**最后更新**:2026-04-14 +**最后更新**:2026-04-24 diff --git a/.cursor/agent/开发助理/项目索引/玩值.md b/.cursor/agent/开发助理/项目索引/玩值.md index ee5b13b..364d9ec 100644 --- a/.cursor/agent/开发助理/项目索引/玩值.md +++ b/.cursor/agent/开发助理/项目索引/玩值.md @@ -15,5 +15,7 @@ | 2026-04-21 | wz-app | 完整迁移计划落地:路由映射、TabBar+subPackages 占位、`src/`+Vite 工具链、token+登录注册+我的、首页 streamers;文档/看板/日志 | | 2026-04-23 | 玩值三端 | 直播+点卡:wz-api C 端点卡与 admin 房间详情;wz-app LivePage、mall 点卡、动态入口;对照表/看板已更新 | | 2026-04-24 | wz-app(Vite) | 占位补齐:Screen 接 dashboard+健康+build-info;主播工作台/观众洞察接 streamer API;Guild 创建意向接 journey;Moments 评论本地态;删 Stub;`api/app`+`lib/journey`;对照表/看板/MIGRATION 同步;build 通过 | +| 2026-04-24 | 玩值全员会议 | 纪要 `meeting/2026-04-24_玩值全项目进度与三端缺口.md`;P0/P1/P2 与真源看板/三端/索引/sync-log 已同步;evolution 玩值三角色+团队+开发助理 | +| 2026-04-24 | 收官计划实施 | 纪要好四问;build-info+`GIT_COMMIT`;wz-admin 点卡订单页与侧栏;对照表/看板/三端/MIGRATION 更新 | 最后更新:2026-04-24 diff --git a/.cursor/agent/玩值API工程师/evolution/2026-04-24-全项目会议与P0接口.md b/.cursor/agent/玩值API工程师/evolution/2026-04-24-全项目会议与P0接口.md new file mode 100644 index 0000000..11ea4bc --- /dev/null +++ b/.cursor/agent/玩值API工程师/evolution/2026-04-24-全项目会议与P0接口.md @@ -0,0 +1,14 @@ +# 玩值 API 工程师 - 2026-04-24 会议经验 + +## 会议 + +玩值全项目进度与三端缺口(纪要:`.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md`)。 + +## 要点 + +- P0 须保证 wz-api **可执行体与当前仓库一致**;联调前健康检查 + 一条 P0 GET(点卡/直播)避免「部分路由有、部分无」。 +- `/api/app/*` 与 `/api/admin/wz/*` 成对;新 C 能力(如评论落库)先定模型与路由再开前端排期。 + +## 待跟进 + +- 问题区 #3 build-info / 版本是否写入公共响应(与运维协同)。 diff --git a/.cursor/agent/玩值API工程师/evolution/2026-04-24-收官计划-build-info与GIT_COMMIT.md b/.cursor/agent/玩值API工程师/evolution/2026-04-24-收官计划-build-info与GIT_COMMIT.md new file mode 100644 index 0000000..d928793 --- /dev/null +++ b/.cursor/agent/玩值API工程师/evolution/2026-04-24-收官计划-build-info与GIT_COMMIT.md @@ -0,0 +1,10 @@ +# 玩值 API - 2026-04-24 收官:build-info 与 GIT_COMMIT + +## 实施 + +- `Config` 增加 **`GitCommit`**,从环境变量 **`GIT_COMMIT`** 读取,超过 12 字符截断。 +- `GET /api/public/build-info` 在原有 `buildTime`/`message` 上增加 **`gitCommit`** 字段(未设为空串)。 + +## 运维 + +发版时注入 `GIT_COMMIT`(如 CI `$(git rev-parse --short HEAD)`)便于与终端联调时核对二进制与文档是否一致。 diff --git a/.cursor/agent/玩值API工程师/evolution/索引.md b/.cursor/agent/玩值API工程师/evolution/索引.md index 1af2faa..1bb0bf7 100644 --- a/.cursor/agent/玩值API工程师/evolution/索引.md +++ b/.cursor/agent/玩值API工程师/evolution/索引.md @@ -2,6 +2,8 @@ | 日期 | 主题 | |------|------| +| 2026-04-24 | [收官计划 build-info 与 GIT_COMMIT](2026-04-24-收官计划-build-info与GIT_COMMIT.md) | +| 2026-04-24 | [全项目会议与 P0 接口](2026-04-24-全项目会议与P0接口.md) | | 2026-04-23 | [App 点卡与直播管理端房间详情](2026-04-23-App点卡与直播管理端房间详情.md) | | 2026-04-22 | [TS原生编译跨平台吸收(Perry)](2026-04-22-TS原生编译跨平台吸收.md) | | 2026-04-20 | [玩值迁移-吸收(方法论)](2026-04-20-玩值迁移-吸收.md) | diff --git a/.cursor/agent/玩值移动端工程师/evolution/2026-04-24-全项目会议与主次线.md b/.cursor/agent/玩值移动端工程师/evolution/2026-04-24-全项目会议与主次线.md new file mode 100644 index 0000000..95294ad --- /dev/null +++ b/.cursor/agent/玩值移动端工程师/evolution/2026-04-24-全项目会议与主次线.md @@ -0,0 +1,14 @@ +# 玩值移动端工程师 - 2026-04-24 会议经验 + +## 会议 + +玩值全项目进度与三端缺口(纪要:`.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md`)。 + +## 要点 + +- **主线** `old/app` 与 wz-api `/api/app/*` 为交付主路径;**次线** `new/wz-app` 不静默堆与主线重复能力,改路由/接口须同步 MIGRATION、对照表、看板。 +- 次线 `Moments` 评论仍本地态;全站评论待接口与产品拍板问题区 #1。 + +## 待跟进 + +- 问题区 #2:次线能力是否抬主线由产品+乘风定。 diff --git a/.cursor/agent/玩值移动端工程师/evolution/索引.md b/.cursor/agent/玩值移动端工程师/evolution/索引.md index 42b88a6..de34263 100644 --- a/.cursor/agent/玩值移动端工程师/evolution/索引.md +++ b/.cursor/agent/玩值移动端工程师/evolution/索引.md @@ -2,6 +2,7 @@ | 日期 | 主题 | |------|------| +| 2026-04-24 | [全项目会议与主次线](2026-04-24-全项目会议与主次线.md) | | 2026-04-24 | [wz-app 占位补齐与 wz-api 对接](2026-04-24-wz-app占位补齐与wz-api对接.md) | | 2026-04-23 | [全屏直播与点卡商城](2026-04-23-全屏直播与点卡商城.md) | | 2026-04-22 | [wz-app Uno 与 custom-tabbar](2026-04-22-wz-app-Uno与custom-tabbar.md) | diff --git a/.cursor/agent/玩值管理端工程师/evolution/2026-04-24-全项目会议与运营可管.md b/.cursor/agent/玩值管理端工程师/evolution/2026-04-24-全项目会议与运营可管.md new file mode 100644 index 0000000..9bec4eb --- /dev/null +++ b/.cursor/agent/玩值管理端工程师/evolution/2026-04-24-全项目会议与运营可管.md @@ -0,0 +1,15 @@ +# 玩值管理端工程师 - 2026-04-24 会议经验 + +## 会议 + +玩值全项目进度与三端缺口(纪要:`.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md`)。 + +## 要点 + +- P0 域从「有路由+列表」提升为**列表+详情+关键状态/备注**,与 playhub 字段对齐;ResourceListPage 仅作起步。 +- 继续按《三端对齐项目清单》剔除管理页手机预览内嵌。 +- 验收引用:`开发文档/玩值/三端对齐项目清单.md` 矩阵、旧 `old/app/admin/**` 结构对照。 + +## 待跟进 + +- P1:大屏 `view` 全量迁旧、非 P0 域可后置。 diff --git a/.cursor/agent/玩值管理端工程师/evolution/2026-04-24-收官计划-点卡订单管理页.md b/.cursor/agent/玩值管理端工程师/evolution/2026-04-24-收官计划-点卡订单管理页.md new file mode 100644 index 0000000..437512c --- /dev/null +++ b/.cursor/agent/玩值管理端工程师/evolution/2026-04-24-收官计划-点卡订单管理页.md @@ -0,0 +1,11 @@ +# 玩值管理端 - 2026-04-24 收官计划落地 + +## 实施 + +- 新增 **点卡订单** 列表页 `PointOrdersPage`:联调 `GET /api/admin/wz/points/orders`,详情链 ` /orders/:id?sourceTable=pointCardOrders`。 +- 侧栏「业务与订单」在 **游戏点卡** 前增加 **点卡订单**(`/points/orders`),`App` 路由 `points/orders` 须置于 `points/:cardId` 之前。 +- 点卡 SKU 页增加入口链到订单列表。 + +## 文档 + +见《迁移-API对照表》管理端点卡订单行、进度看板 wz-admin 进行中、三端清单 2026-04-24 实施注记。 diff --git a/.cursor/agent/玩值管理端工程师/evolution/索引.md b/.cursor/agent/玩值管理端工程师/evolution/索引.md index 37ef32a..0e87da7 100644 --- a/.cursor/agent/玩值管理端工程师/evolution/索引.md +++ b/.cursor/agent/玩值管理端工程师/evolution/索引.md @@ -2,6 +2,8 @@ | 日期 | 主题 | |------|------| +| 2026-04-24 | [收官计划-点卡订单管理页](2026-04-24-收官计划-点卡订单管理页.md) | +| 2026-04-24 | [全项目会议与运营可管](2026-04-24-全项目会议与运营可管.md) | | 2026-04-23 | [直播房间详情联调](2026-04-23-直播房间详情联调.md) | | 2026-04-22 | [TS原生编译跨平台吸收(Perry)](2026-04-22-TS原生编译跨平台吸收.md) | | 2026-04-20 | [玩值迁移-吸收](2026-04-20-玩值迁移-吸收.md) | diff --git a/.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md b/.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md new file mode 100644 index 0000000..9a92552 --- /dev/null +++ b/.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md @@ -0,0 +1,126 @@ +# 会议纪要 - 2026-04-24 | 玩值全项目进度、三端缺口与收官排期 + +> 本文件由**助理橙子**在会议结束后整理;主持人**乘风**(老板分身),议题来自计划「玩值团队会议与收官排期」。 + +--- + +## 基本信息 + +- **时间**:2026-04-24 15:00 +- **议题**:各成员汇报玩值线进度;橙子承接开发文档更新;从业务视角梳理「C 端/移动端已开发、管理端或接口未配套」的缺口;乘风安排 P0/P1/P2 以推动项目闭环交付。 +- **触发方式**:团队会议 + 已批准的收官排期计划 +- **参与角色**:产品经理、玩值 API 工程师、玩值管理端工程师、玩值移动端工程师、测试/验收、开发助理(橙子);**主持人**:乘风 + +--- + +## 各角色发言 + +### 【乘风|会议主持】 + +会序:先业务优先级与「未打通」定义,再技术事实(接口、表、管理页),再次线 wz-app 与主线 `old/app` 分工,最后落到可测、可验的排期。原则:**C 与 Admin 的缺口不得停留在口头**,每条要么进 P0/P1 待办、要么在真源文档标 N/A 与原因。 + +### 【产品经理】 + +玩值三端的「打通」在验收上可定义为:**对同一业务域,wz-api 契约在《迁移-API对照表》可追溯,用户路径在 `old/app` 经 `/api/app/*` 可跑通,运营侧在 `new/wz-admin` 有与其职责匹配的列表/配置/审核,而非仅 `ResourceListPage` 壳子**。当前风险集中三类:(1)**次线** `new/wz-app` 已做 journey、直播、社区域体验,**主线**与文档是否跟进的决策;(2)**全站评论**在次线为本地态,若产品上要求运营可见,需新 C 口 + 可能的管理端审核;(3)**P0 域**建议锁定:订单/点卡/直播关键链,避免运营域在 Admin 上「看得见数据、改不了状态」。下一版必交付的域以本纪要的 P0 表为准。 + +### 【玩值 API 工程师】 + +`/api/app/*` 与 `/api/admin/wz/*` 在 playhub 已大量落地;点卡、直播、streamer、旅程等路径以《迁移-API对照表》为准。缺口侧重:**C 口提出新能力**(如评论落库、动态持久化)时,先补**数据模型**与**路由**再让前端并行;**环境一致性**:可执行体须与当前仓库 `go build` 一致,避免「health/streamers 有、mall 无」的错位。建议联调前增加**固定检查**:`GET /api/app/health` + 一条 P0 业务 GET(如点卡或 streamers)与 git 版本或构建时间(若有)输出。 + +### 【玩值管理端工程师】 + +`new/wz-admin` 已侧栏+多数路由;数据侧默认走 `VITE_ADMIN_USE_API` 对 `/api/admin/wz/*`。**差距**:多域仍属 **ResourceListPage + 直连接口** 与 mock 混合,与 `old/app/admin/**` 的**完整操作密度**未完全对齐。会议共识:对 **P0 域**(订单、点卡、直播房间)在冲刺阶段优先补 **列表 + 详情 + 必要状态/备注**,大屏 view 的组件全量迁旧可在 P2。须彻底剔除的仍是策略已定项:**管理页内手机预览内嵌**(已禁止迁入,未净页面继续按《三端对齐项目清单》清理)。 + +### 【玩值移动端工程师】 + +**主线**为 `old/app`:与 wz-api 双轨期,以 `NEXT_PUBLIC_WZ_API_BASE` 与 `old/lib/wz-api.ts` 逐域闭环。**次线** `new/wz-app`:大屏/主播/公会旅程/Moments 等已接部分 `/api/app/*` 与只读 `screen`/`public`;`Moments` 评论**本地态**,全站需要则依赖新接口后两端再改。策略:**不**在次线无节制堆功能;与主线重复的能力以产品决策为准,要么抬进 `old/app`,要么在次线只留联调壳并文档写明。 + +### 【测试/验收】 + +三端玩值联调以 **真源**《迁移-API对照表》+ [进度-看板](../../开发文档/玩值/进度-看板.md) 为基线。回归需覆盖:**P0 用户路径**(点卡展示与下单、直播进房与礼物/评论、登录 JWT);**管理端**对 P0 的查看与状态。纳入**环境类**:wz-api 端口与 Vite `WZ_API_PROXY_TARGET` 一致、后端为**新构建**;避免将后端 404 误判为前端路由问题。 + +### 【开发助理·橙子】 + +会后将更新:**会议纪要**、`.cursor/meeting/README.md` 索引、各 `agent/*/evolution/2026-04-24*.md`、**开发文档/玩值**真源(看板/三端清单最后更新行与会议引述)、[项目索引/玩值](.cursor/agent/开发助理/项目索引/玩值.md) 与产品/团队/测试索引一行;`assistant-doc-sync/sync-log` 追加摘要。若排期有 Skill 级变更,再单独立项。 + +--- + +## 讨论过程 + +- **产品 ↔ API**:评论若上生产,需明确「仅用户可见 / 要审计」以决定 admin 工作流;未拍板前保持次线本地态、对照表不登记伪接口。 +- **管理端 ↔ 产品**:P0 域运营「最小可管」= 见单、见状态、能标注/改状态;复杂分账/财务仍归财务域与 P1。 +- **移动端 ↔ 管理端**:次线 wz-app 的 journey/公会**意向**不强制新增 admin 页面,**已有** `journey-events` 等 admin 查询可支撑排障,是否做可视化筛选由 P1 排期。 +- **测试 ↔ 全体**:发版前检查表增加 wz-api 构建与 commit 与文档版本对齐(可选手动记录)。 + +--- + +## 会议决议 + +1. **打通定义**(本玩值线):以《迁移-API对照表》+《三端对齐项目清单》矩阵 + 看板为真源;单域同时满足 wz-api 行为可追溯、C 端(若有)可演示、管理端对 P0 可运营,或文档化 **N/A**。 +2. **主线/次线策略**:`old/app` 为交付主线;`new/wz-app` 为次线/联调壳,新功能默认不进次线,除非经产品与乘风列入排期并同步路由映射与对照表。 +3. **P0 锁定**(本阶段必闭环):**点卡+订单(含可演示下单)**、**直播主链(进房+核心互动+管理端房间可查)**、**认证与用户态** 与 wz-api 一致;已登记接口须以**当前源码编译**的 wz-api 联调通过为准。 +4. **P1**:管理端 P0 域的详情与状态操作闭环;旅程/订单等运营看板与字段对齐;大屏 view 与 old 管理端展示组件的增量迁移。 +5. **P2**:全站评论与审核(若做则 API+C+Admin 打包);次线能力抬主线;非核心 `admin/doc` 等;环境与构建检查自动化(可选)。 +6. **待持续确认项**:评论是否落库+审核;次线 wz-app 中哪些页面保留为长期壳,见**问题与作答区**。 + +--- + +## 乘风:P0 / P1 / P2 排期与验收引用 + +| 级别 | 目标 | 主要责任 | 依赖 | 验收/引用 | +|------|------|----------|------|-----------| +| P0 | 点卡:C 可浏览 SKU、`POST` 下单为 pending;管理端能查 SKU/点卡/订单与直播房间单条;后端与**当前**可执行体一致 | 玩值 API、管理端、移动端 | wz-api 重编与进程一致 | [迁移-API对照表](../../开发文档/玩值/迁移-API对照表.md) 点卡/订单行;[看板](../../开发文档/玩值/进度-看板.md) wz-api/wz-admin | +| P0 | 直播主链与 `/api/app/live/*`、streamer 等已登记路径联调无 404/陈旧二进制问题 | 玩值 API、移动端 | 环境检查表 | 对照表 + 看板 wz-app / old | +| P1 | wz-admin:P0 域列表+详情+关键状态/备注与 playhub 字段对齐;剔除手机内嵌壳残留 | 玩值管理端 | API 已存在字段 | [三端对齐项目清单](../../开发文档/玩值/三端对齐项目清单.md) 矩阵 + old 管理端参考路径 | +| P1 | wz-app(次线)与文档同步,不再静默扩展与主线重复需求 | 玩值移动端、产品 | 产品剪枝 | 路由映射、MIGRATION、看板 new/wz-app 节 | +| P2 | 评论/动态持久化;大屏 view 全量;对内文档与自动化检查 | 依立项 | P0 稳定后 | 对照表新行、看板「阻塞项」保持为空或写明 | + +--- + +## 待办事项(执行表) + +| 责任角色 | 任务 | 优先级 | 截止建议 | +|----------|------|--------|----------| +| 玩值 API 工程师 | P0 接口与 wzstore 行在对照表与行为一致;发版/本地联调文档注明须 `go build` 后重启 | P0 | 随迭代日 | +| 玩值管理端工程师 | P0 域(点卡/订单/直播)管理端列表+详情+可操作项与 wz-api 对齐;禁止手机预览内嵌 | P0 / P1 | 跟 P0 冲刺 | +| 玩值移动端工程师 | 主线 `old/app` 按对照表推 wz-api;次线改动的路由映射+对照表+看板 | P0 / P1 | 持续 | +| 产品经理 | 确认评论/动态是否进下一版本;向 P0 外需求发「N/A/后置」 | P0 决策 | 1 个迭代内 | +| 测试/验收 | 按 P0 清单写联调+回归用例;环境检查(端口、新二进制) | P0 | 发版前 | +| 开发助理·橙子 | 真源开发文档、索引、纪要、经验库与本表闭环 | 高 | 会议后 1 工作日内 | + +--- + +## 问题与作答区 + +| # | 问题 | 责任角色 | 作答 | +|---|------|----------|------| +| 1 | 全站评论/动态持久化是否纳入下一里程碑?若纳入,管理端是否需「审核/举报」工作流? | 产品经理、玩值 API | **下一里程碑不纳入**;次线 `Moments` 保持本地态。若再上生产,需单独立项(C 口 + 可选 admin 审核),本阶段在《迁移-API对照表》标 **N/A/待接口**。 | +| 2 | `new/wz-app` 中哪些能力固定为次线联调壳、哪些必须合并入 `old/app`? | 产品经理、玩值移动端 | **长期定位**:Vite 壳用于联调 `/api/app/*`、只读 `screen`/`public`、路由映射对照;**抬主线**以商城/点卡/直播/账户等**收费与正式运营路径**为优先,由迭代需求驱动合并 `old/app`,不一次性全量搬迁。 | +| 3 | wz-api 发版时是否将 git 短 hash 或版本写入 `/api/public/build-info`(或仅运维记录)? | 玩值 API、运维/乘风 | **是**:在 `GET /api/public/build-info` 中增加**可选** `gitCommit`(或短 hash)字段,由环境变量 `GIT_COMMIT` 注入;无则只保留现有 `buildTime`。运维可同时保留发布台账。 | +| 4 | 点卡/订单的「pending」后续支付对接节奏? | 产品经理 | **P0 不接入真实支付**;`pending` 仅演示下单闭环。正式支付、回调与对账进 **P2+ 单独立项**(在《迁移-API对照表》点卡订单行已注明未接支付)。 | + +--- + +## 各角色经验与业务理解更新 + +- **产品经理**:玩值三端「打通」= 契约 + 用户态 + 运营最小可管 或 文档 N/A;P0 优先订单/点卡/直播链。 +- **玩值 API 工程师**:成对维护 `/api/app` 与 admin/wz;可执行体与仓库一致是排障首项。 +- **玩值管理端工程师**:P0 从「有路由」到「能运营」需详情与状态,ResourceList 不足处按域补齐。 +- **玩值移动端工程师**:主线/次线分工写进看板与路由映射,避免无文档分叉。 +- **测试/验收**:P0 联调+环境(端口/新构建)为前置条件。 + +### 团队共享 + +玩值全项目完成定义 = P0 三端在真源文档可验 + P1 运营可管 + P2/待确认项有清单与问题区;详见上表与《三端对齐项目清单》。 + +--- + +## 阶段复盘(2026-04-24 收官计划首批落地) + +- **问题与作答区** 四问已填写(评论/支付下版、次线策略、build-info+`GIT_COMMIT`、pending 不接支付)。 +- **代码**:wz-api `PublicBuildInfo` 增加 `gitCommit`;wz-admin 点卡订单列表 + 侧栏 + 与统一订单详情联动。 +- **文档**:《迁移-API对照表》《进度-看板》《三端对齐项目清单》《wz-api/MIGRATION.md》、项目索引与 sync-log 已同步。其余 P0(`old/app` 全域逐页、直播主链联调)与 P1(多域 ResourceList 抬升)仍按迭代推进。 + +--- + +*会议纪要由助理橙子生成 | 各角色经验同步至 `agent/{玩值*}/evolution/2026-04-24-*.md` 与 `agent/团队` / `开发助理` 等* diff --git a/.cursor/meeting/README.md b/.cursor/meeting/README.md index d460c31..7a12319 100644 --- a/.cursor/meeting/README.md +++ b/.cursor/meeting/README.md @@ -58,6 +58,7 @@ YYYY-MM-DD_会议主题.md | 日期 | 主题 | 参与角色 | 文件 | |------|------|---------|------| +| 2026-04-24 | 玩值全项目进度、三端缺口与收官排期(乘风主持,P0/P1/P2) | 产品、玩值 API、管理端、移动端、测试、橙子 | [2026-04-24_玩值全项目进度与三端缺口.md](2026-04-24_玩值全项目进度与三端缺口.md) | | 2026-04-23 | 玩值三端:直播 + 点卡 接口与功能打通 | 玩值 API、管理端、移动端、产品 | [2026-04-23_玩值三端直播点卡打通.md](2026-04-23_玩值三端直播点卡打通.md) | | 2026-02-27 | 开发进度同步会议 | 产品、后端、管理端、小程序 | [2026-02-27_开发进度同步会议.md](2026-02-27_开发进度同步会议.md) | | 2026-02-28 | 临时需求池 stitch_soul 需求评审(含页面重构专项·10 张图全覆盖) | 产品、后端、管理端、小程序、测试 | [2026-02-28_临时需求池stitch_soul需求评审.md](2026-02-28_临时需求池stitch_soul需求评审.md) | diff --git a/.cursor/skills/assistant-doc-sync/sync-log.md b/.cursor/skills/assistant-doc-sync/sync-log.md index 4f90aa9..18bc962 100644 --- a/.cursor/skills/assistant-doc-sync/sync-log.md +++ b/.cursor/skills/assistant-doc-sync/sync-log.md @@ -8,6 +8,8 @@ ## 2026-04-24 +- 玩值「收官与文档」实施:纪要好四问;wz-api `PublicBuildInfo`+`GIT_COMMIT`;wz-admin `PointOrdersPage`、菜单、路由;对照表/看板/三端/`wz-api/MIGRATION.md`;项目索引玩值;本行 +- 玩值全项目会议:纪要 `meeting/2026-04-24_玩值全项目进度与三端缺口.md`;meeting README;玩值 API/管理端/移动端/开发助理/团队 evolution;项目索引玩值·产品·团队·测试;`开发文档/玩值/进度-看板.md` 与 `三端对齐项目清单.md` 会议注;经验清单与 sync-log(本行) - 吸收经验:玩值移动端 + 开发助理 — wz-app 占位补齐与 wz-api 对接(`evolution/2026-04-24-*.md`、经验清单、项目索引玩值、wz-app-dev §5 补充) ## 2026-04-23 diff --git a/new/wz-admin/src/App.tsx b/new/wz-admin/src/App.tsx index 227391e..17a7df0 100644 --- a/new/wz-admin/src/App.tsx +++ b/new/wz-admin/src/App.tsx @@ -20,6 +20,7 @@ import MallPage from '@/pages/wz/MallPage' import PointsPage from '@/pages/wz/PointsPage' import PointsChannelsPage from '@/pages/wz/PointsChannelsPage' import PointCardDetailPage from '@/pages/wz/PointCardDetailPage' +import PointOrdersPage from '@/pages/wz/PointOrdersPage' import PawnPage from '@/pages/wz/PawnPage' import PawnDetailPage from '@/pages/wz/PawnDetailPage' import GuildDetailPage from '@/pages/wz/GuildDetailPage' @@ -153,6 +154,7 @@ export default function App() { }> } /> + } /> } /> } /> diff --git a/new/wz-admin/src/api/wanzhiAdmin.ts b/new/wz-admin/src/api/wanzhiAdmin.ts index 8eb1230..7e698fe 100644 --- a/new/wz-admin/src/api/wanzhiAdmin.ts +++ b/new/wz-admin/src/api/wanzhiAdmin.ts @@ -80,6 +80,12 @@ export async function fetchOrders(): Promise { return r.success && Array.isArray(r.data) ? r.data : [] } +/** GET /api/admin/wz/points/orders — 点卡 C 口下单落库后在此可查 */ +export async function fetchPointCardOrders(): Promise[]> { + const r = await get[]>>(`${WZ}/points/orders`) + return r.success && Array.isArray(r.data) ? r.data : [] +} + export async function fetchOrderDetail(id: string, sourceTable: string): Promise | null> { const q = `?id=${encodeURIComponent(id)}&sourceTable=${encodeURIComponent(sourceTable)}` const r = await get>>(`${WZ}/orders/detail${q}`) diff --git a/new/wz-admin/src/config/adminMenu.ts b/new/wz-admin/src/config/adminMenu.ts index 2c927f5..86aba56 100644 --- a/new/wz-admin/src/config/adminMenu.ts +++ b/new/wz-admin/src/config/adminMenu.ts @@ -9,6 +9,7 @@ import { History, Hotel, LayoutDashboard, + ListOrdered, MessageSquare, Monitor, PieChart, @@ -52,6 +53,7 @@ export const adminMenuGroups: MenuGroup[] = [ title: '业务与订单', items: [ { id: 'mall', label: '商城管理', icon: ShoppingBag, to: '/mall' }, + { id: 'point-orders', label: '点卡订单', icon: ListOrdered, to: '/points/orders' }, { id: 'points', label: '游戏点卡', icon: CreditCard, to: '/points' }, { id: 'orders', label: '订单管理', icon: FileText, to: '/orders' }, { id: 'leveling', label: '代练管理', icon: Activity, to: '/leveling' }, diff --git a/new/wz-admin/src/pages/wz/PointOrdersPage.tsx b/new/wz-admin/src/pages/wz/PointOrdersPage.tsx new file mode 100644 index 0000000..bfe3020 --- /dev/null +++ b/new/wz-admin/src/pages/wz/PointOrdersPage.tsx @@ -0,0 +1,172 @@ +import { useCallback, useEffect, useMemo, useState } from 'react' +import { Link } from 'react-router-dom' +import { Search, RefreshCw, Loader2, FileText, ChevronRight } from 'lucide-react' +import { ApiError } from '@/api/client' +import { fetchPointCardOrders } from '@/api/wanzhiAdmin' +import { adminUseApi } from '@/config/adminUseApi' + +const SOURCE = 'pointCardOrders' + +function rowId(r: unknown, idx: number): string { + if (r && typeof r === 'object' && !Array.isArray(r)) { + const o = r as Record + if (typeof o.id === 'string' && o.id) return o.id + if (typeof o._id === 'string' && o._id) return o._id + } + return `row-${idx}` +} + +export default function PointOrdersPage() { + const [rows, setRows] = useState[]>([]) + const [loading, setLoading] = useState(adminUseApi()) + const [err, setErr] = useState(null) + const [searchTerm, setSearchTerm] = useState('') + + const load = useCallback(async () => { + if (!adminUseApi()) { + setRows([]) + setLoading(false) + return + } + setLoading(true) + setErr(null) + try { + const list = await fetchPointCardOrders() + setRows( + (Array.isArray(list) ? list : []).map((x) => (typeof x === 'object' && x && !Array.isArray(x) ? x : {})) as Record< + string, + unknown + >[], + ) + } catch (e) { + setErr(e instanceof ApiError ? e.message : '加载失败') + setRows([]) + } finally { + setLoading(false) + } + }, []) + + useEffect(() => { + void load() + }, [load]) + + const filtered = useMemo(() => { + const q = searchTerm.trim().toLowerCase() + if (!q) return rows + return rows.filter((o) => { + const on = String(o.orderNo ?? '') + const uid = String(o.userId ?? '') + const gid = String(o.game ?? o.skuName ?? '') + return on.toLowerCase().includes(q) || uid.toLowerCase().includes(q) || gid.toLowerCase().includes(q) + }) + }, [rows, searchTerm]) + + return ( +
+
+
+
+

点卡订单

+

+ {adminUseApi() ? 'GET /api/admin/wz/points/orders · 详情共用订单页(sourceTable=pointCardOrders)' : '请开启联调以拉取 wz-api'} +

+ {err ?

{err}

: null} +
+
+ + + 返回点卡 SKU + +
+
+
+ +
+
+ + setSearchTerm(e.target.value)} + /> +
+ + {loading ? ( +
+ + 加载中… +
+ ) : ( +
+ + + + + + + + + + + + + {filtered.length === 0 ? ( + + + + ) : ( + filtered.map((o, i) => { + const id = rowId(o, i) + const on = String(o.orderNo ?? '—') + const st = String(o.status ?? '—') + const uid = String(o.userId ?? '—') + const amt = typeof o.totalAmount === 'number' ? o.totalAmount : Number(o.totalAmount) || 0 + const qty = typeof o.quantity === 'number' ? o.quantity : Number(o.quantity) || 0 + const t = String(o.createdAt ?? '—') + return ( + + + + + + + + + ) + }) + )} + +
订单号状态用户金额/数量时间操作
+ {adminUseApi() ? '暂无点卡订单(或 C 端未下单)' : '联调后显示'} +
{on} + {st} + {uid} + ¥{amt.toFixed(2)} + {qty > 0 ? ` ×${qty}` : ''} + {t} + + + 详情 + + +
+
+ )} +
+
+ ) +} diff --git a/new/wz-admin/src/pages/wz/PointsPage.tsx b/new/wz-admin/src/pages/wz/PointsPage.tsx index b7cbede..a76b58d 100644 --- a/new/wz-admin/src/pages/wz/PointsPage.tsx +++ b/new/wz-admin/src/pages/wz/PointsPage.tsx @@ -117,6 +117,12 @@ export default function PointsPage() { > 同步福禄 + + 点卡订单 + 12 { + gitCommit = gitCommit[:12] + } ckbLeadAPIKey := os.Getenv("CKB_LEAD_API_KEY") ckbScenarioAPIURL := strings.TrimSpace(os.Getenv("CKB_SCENARIO_API_URL")) if ckbScenarioAPIURL == "" { @@ -329,6 +334,7 @@ func Load() (*Config, error) { CORSOrigins: parseCORSOrigins(), Version: version, BuildTime: buildTime, + GitCommit: gitCommit, AppSessionSecret: appSessionSecret, BaseURL: baseURL, H5ReadPublicBaseURL: h5ReadPublic, diff --git a/new/wz-api/internal/handler/wanzhi_app.go b/new/wz-api/internal/handler/wanzhi_app.go index f147653..5962f54 100644 --- a/new/wz-api/internal/handler/wanzhi_app.go +++ b/new/wz-api/internal/handler/wanzhi_app.go @@ -264,15 +264,18 @@ func WanzhiAppUserMe(c *gin.Context) { func PublicBuildInfo(c *gin.Context) { cfg := config.Get() bt := "" + gc := "" if cfg != nil { bt = cfg.BuildTime + gc = cfg.GitCommit } msg := "未注入构建时间(本地 dev 或未传 BUILD_TIME)" if bt != "" { msg = "当前部署版本:" + bt } c.JSON(http.StatusOK, gin.H{ - "buildTime": bt, - "message": msg, + "buildTime": bt, + "gitCommit": gc, + "message": msg, }) } diff --git a/开发文档/玩值/三端对齐项目清单.md b/开发文档/玩值/三端对齐项目清单.md index cc4148f..d07b710 100644 --- a/开发文档/玩值/三端对齐项目清单.md +++ b/开发文档/玩值/三端对齐项目清单.md @@ -70,3 +70,10 @@ 1. **wz-api**:该域涉及路径已在对照表登记且行为与 `old` 一致或可文档化差异。 2. **wz-admin**:该域管理页面已在 React 中可用,且无计划内剔除项(含已移除移动内嵌壳)。 3. **玩值 C 端 `old/app`**(若该域有用户侧):经 `NEXT_PUBLIC_WZ_API_BASE` 调 wz-api `/api/app/*` 闭环,或与 Next BFF 双轨差异已写明;若无 C 端,表格中注明 **N/A** 即可。 + +--- + +## 会议与排期(真源外注) + +- **2026-04-24**:玩值全项目会议(纪要:仓库根 `.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md`)明确 **P0** 须达到「C 能演示、Admin 对 P0 可运营、接口在对照表可追溯」;**主线 C** 为 `old/app`,**次线** `new/wz-app` 不单独扩张与主线重复能力;P1/P2 与「问题与作答区」以纪要为准。 +- **2026-04-24 实施**:纪要好四问已作答;wz-api `GET /api/public/build-info` 增加可选 **`gitCommit`**(`GIT_COMMIT`);wz-admin 增加 **点卡订单** 路由与侧栏;评论持久化/支付本阶段 **不纳入**(见纪要)。 diff --git a/开发文档/玩值/迁移-API对照表.md b/开发文档/玩值/迁移-API对照表.md index 6c654a4..37e8c48 100644 --- a/开发文档/玩值/迁移-API对照表.md +++ b/开发文档/玩值/迁移-API对照表.md @@ -75,11 +75,12 @@ | 66 | (C 端点卡详情) | wz-app | `/api/app/mall/point-cards/:cardId` | GET | 已实现 | | 67 | (C 端点卡下单) | wz-app | `/api/app/orders/point-card` | POST | 已实现(pending,未接支付) | | 68 | (管理端直播房间详情) | 管理端 | `/api/admin/wz/live/rooms/:roomId` | GET | 已实现 | -| 69 | `/api/build-info` | 运维/CI | `/api/public/build-info` | GET | 已实现 | +| 69 | `/api/build-info` | 运维/CI | `/api/public/build-info` | GET | 已实现;响应含 `buildTime`;可选 `gitCommit`(环境变量 **`GIT_COMMIT`**,服务端截断为短 hash,未设为空串) | +| — | 管理端点卡订单 | wz-admin | `GET /api/admin/wz/points/orders` | GET | 已实现;与统一订单详情 `GET /api/admin/wz/orders/detail?id=&sourceTable=pointCardOrders` 联用 | | — | (wz-api 占位) | wz-app 自检 | `GET /api/app/health` | GET | 已实现 | | — | wz-app `/screen` 只读总览 | `ScreenPage` | `GET /api/screen/data/dashboard`(可匿名经网关) | GET | 已实现;与 `GET /api/app/health`、`GET /api/public/build-info` 同页展示 | | — | 公会「创建」意向(旅程埋点) | `GuildListPage` | `POST /api/app/analytics/journey-events`(`eventName: guild_create_intent`) | POST | 已实现;运营在 **`GET /api/admin/wz/journey-events`** 查看 | -| — | 动态评论(本地态) | `MomentsPage` | (待 C 口)评论落库/列表 | — | 前端本地列表;**持久化待新接口** | +| — | 动态评论(本地态) | `MomentsPage` | (待 C 口)评论落库/列表 | — | 前端本地列表;**下一里程碑不纳入**(见 2026-04-24 纪要问题区已答);上生产需单独立项 | **说明**:`RegisterWanzhiAdminRoutes` 仍保留 **stub**,用于无鉴权文档/旧路径兼容;**真实数据**请调用 **`/api/admin/wz/*`**(`handler.RegisterPlayhubWzAdminRoutes`)。数据表 **`wz_documents`**(`coll` = Mongo 集合名);迁移脚本见 `new/wz-api/scripts/mongo_to_wz_documents.py` 与 **`mongo_to_wz_documents.md`**。 diff --git a/开发文档/玩值/进度-看板.md b/开发文档/玩值/进度-看板.md index f078f68..fa3785a 100644 --- a/开发文档/玩值/进度-看板.md +++ b/开发文档/玩值/进度-看板.md @@ -1,6 +1,6 @@ # 玩值迁移进度看板 -最后更新:2026-04-22 +最后更新:2026-04-24 ## wz-api(`new/wz-api`) @@ -15,7 +15,7 @@ |------|-----| | **页面迁移** | 侧栏一级+常用子路由已齐:**大屏**(`/screen`、`/screen/config`、`/screen/view` 轻量壳)、**用户估值/财务/系统设置**、**订单/主播/商城/点卡/典当**独立页+**mock**;**公会/直播/派对/酒店**等为 `ResourceListPage`+详情链;嵌套路由见 `App.tsx` + `OutletLayout` | | **API 对接** | **默认联调 wz-api**(`VITE_ADMIN_USE_API` 非 `false` 即走 **`/api/admin/wz/*`**);纯 MOCK 时设 `VITE_ADMIN_USE_API=false`。大屏配置 **GET/POST `/api/screen/config`**(失败降级 localStorage)。`npm run dev:api` 显式开启联调。详见 `new/wz-admin/.env.example` | -| 进行中 | 大屏 `view` 全量组件可从 `old/app/admin/screen/_components` 迁入;各页与 playhub 真实字段持续对齐;**直播房间详情**已支持单条 GET,列表+详情与 wz-api 通 | +| 进行中 | 大屏 `view` 全量组件可从 `old/app/admin/screen/_components` 迁入;各页与 playhub 真实字段持续对齐;**直播房间详情**已支持单条 GET,列表+详情与 wz-api 通;**点卡订单** 独立页 `GET /api/admin/wz/points/orders` + 跳转统一订单详情(`sourceTable=pointCardOrders`) | ## 玩值 C 端(`old/app`,Next + React,主线) @@ -39,6 +39,10 @@ | 进展 | `/screen` 只读 `GET /api/screen/data/dashboard`;`StreamerStudioPage` / `StreamerAudiencePage` 接 `streamer/me`、`streamer/live`、`live/cloud`、`audience-insights`;`GuildList` 创建意向 → `POST /api/app/analytics/journey-events`;`Moments` 评论为本地态(持久化待新接口) | | 管理端 | 旅程、公会、主播等运营能力以既有 **`/api/admin/wz/*`** 为准,无需为本次 C 端只读增改 | +## 会议与冲刺(真源外注) + +- **2026-04-24**:全项目会议(纪见 `.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md`)定义 **P0**=点卡+订单+直播主链+认证/用户态;**P1**=管理端 P0 域「运营可管」、旅程/事件与字段对齐等;**P2**=评论/大屏 view 等依立项。次线 wz-app 以文档同步为主,不默认可进新需求。 + ## 阻塞项 (无)