Compare commits

27 Commits
main ... devlop

Author SHA1 Message Date
乘风
b01ce6ce6d 1 2026-05-06 10:20:37 +08:00
乘风
eeb7812688 更新wz-app和wz-api项目,新增玩值C端支付相关API接口,包括微信支付的预支付、通知和订单状态查询,完善支付回调配置,提升支付功能的稳定性与用户体验。同时,优化了商城和装扮页面的加载逻辑,增强了用户界面的友好性与响应速度,确保文档与代码的一致性。 2026-04-30 18:49:04 +08:00
乘风
f50090132d 更新wz-app项目,调整文档以明确玩值移动端(new/wz-app)的称谓,禁止使用「微信小程序」的表述,同时新增用户可见文案规范,确保用户界面不暴露技术细节,提升用户体验与合规性。此外,更新了相关API接口和功能,增强了系统的稳定性与可维护性。 2026-04-30 16:53:59 +08:00
乘风
e14d391676 更新wz-admin和wz-api项目,调整环境变量配置以支持MongoDB连接,移除MySQL相关代码,确保API端口与前端一致,优化路由处理逻辑,提升系统性能与可维护性,同时更新文档以反映最新的架构变更。 2026-04-30 14:53:27 +08:00
乘风
260732bf41 更新wz-admin和wz-api项目,优化Vite配置以支持环境变量加载,确保API代理目标与开发环境一致,同时在wz-api中新增MongoDB连接配置,提升数据库支持能力,更新master.py以改善错误处理和上传逻辑,增强用户体验。 2026-04-30 11:09:23 +08:00
乘风
1d9cdb931c 更新wz-admin和wz-api项目,调整开发和生产环境的端口配置,确保与前端Vite代理一致,优化错误提示信息以提升用户体验,同时更新API_BASE_URL为新的域名,确保跨域配置的正确性,删除不再使用的devloy.py文件,简化部署流程。 2026-04-29 16:32:27 +08:00
乘风
bdee665dec 更新wz-admin项目,新增大屏API接口以支持实时数据展示,包括接入GET /api/screen/data/dashboardGET /api/screen/streamers,并在ScreenViewPage中展示TOP5主播营收和城市分布,确保文档与项目索引同步更新,提升数据可视化效果与用户体验。 2026-04-28 14:55:37 +08:00
乘风
730d649389 更新wz-app项目,新增2026-04-27的三端迁移完成度会议记录,完善相关文档和项目索引,确保文档内容的完整性与一致性,同时记录迁移进度和决议,提升团队协作效率。 2026-04-28 14:36:26 +08:00
乘风
c4da1a0c50 更新wz-app项目,新增2026-04-27的三端迁移完成度会议记录,完善相关文档和项目索引,确保文档内容的完整性与一致性,同时记录迁移进度和决议,提升团队协作效率。 2026-04-28 14:30:16 +08:00
乘风
a48bccca85 1 2026-04-27 09:49:32 +08:00
乘风
c55c0cc941 更新wz-app项目,新增2026-04-24的全项目会议记录,完善经验清单和项目索引文档,确保文档内容的完整性与一致性,同时记录P0/P1/P2的定义与项目进度,提升团队协作效率。 2026-04-24 14:42:51 +08:00
乘风
3f0add60a5 更新wz-app项目,新增2026-04-24的占位补齐与wz-api对接记录,完善经验清单和项目索引文档,确保文档内容的完整性与一致性,同时优化相关功能以提升用户体验。 2026-04-24 10:42:12 +08:00
乘风
c3e89e5563 更新wz-app项目,完善迁移文档,新增屏幕数据大屏和主播工作台功能,重构相关页面以对接wz-api,确保评论功能本地化展示,优化公会创建流程,删除不再使用的占位组件,提升项目结构的清晰性与一致性。 2026-04-24 10:35:15 +08:00
乘风
8bf6c5a75f 更新wz-app项目,完善迁移文档,新增路由映射和组件速查,重构App.tsx以移除占位组件,确保所有非Tab路由均已挂载真实组件,增强项目结构的清晰性与一致性。 2026-04-23 18:01:25 +08:00
乘风
464be23f89 今日新增修改: 2026-04-23 16:28:35 +08:00
乘风
68966505ff 更新wz-app项目,优化环境变量配置以支持新的API代理地址,调整路由结构以对齐旧路径,重构登录页面以增强用户体验,确保代码结构清晰和一致性。 2026-04-23 14:38:56 +08:00
乘风
18c645a3f8 更新索引文档,新增2026-04-23的全屏直播与点卡商城及直播房间详情联调记录,同时在会议记录中添加相关会议主题,确保文档内容的完整性与一致性。 2026-04-23 14:23:00 +08:00
乘风
086099af3e 更新wz-app项目,调整CORS配置以支持IPv6,优化环境变量示例,增强.gitignore以排除不必要的文件,重构index.html以符合新结构,更新package.json和postcss配置以支持React和Tailwind,删除不再使用的配置文件,确保项目结构整洁和依赖项的有效性。 2026-04-23 13:57:43 +08:00
乘风
b3ba42ad29 今日新增修改: 2026-04-23 13:39:42 +08:00
乘风
8545abfe9f 更新dist目录中的文件,替换旧的JavaScript和CSS文件,删除不再使用的资源,确保项目结构整洁和依赖项的有效性。 2026-04-22 17:00:01 +08:00
乘风
d2c11d8e58 更新经验清单和索引文档,新增TS原生编译跨平台能力的相关记录,优化管理端与移动端的API接口文档,确保文档内容的完整性与一致性。 2026-04-22 16:55:52 +08:00
乘风
45ce909005 优化移动端与管理端的路由和请求封装,更新API接口文档,确保代码结构清晰 2026-04-22 15:27:33 +08:00
乘风
0ca423db21 全部迁移完成 2026-04-22 15:06:51 +08:00
乘风
f1717b2618 更新玩值项目索引,调整移动端开发策略为H5优先,增加API接口文档,优化管理端与移动端的路由和请求封装,整合依赖项,删除不再使用的文件,确保代码结构清晰。 2026-04-21 17:56:54 +08:00
乘风
d8d4b24e8a docs: 更新业务模块智能体目录及文件结构,优化文档内容 2026-04-20 15:24:47 +08:00
乘风
de40358073 初始化 2026-04-20 14:56:28 +08:00
乘风
524dee9d3c docs: 添加业务模块智能体目录及相关文件结构说明 2026-04-15 15:52:11 +08:00
1907 changed files with 172995 additions and 136 deletions

21
.cursor/README.md Normal file
View File

@@ -0,0 +1,21 @@
# Soul 创业派对 · `.cursor` 速览
## 路径约定
- 所有 Skill、会议纪要、agent 经验路径均以 **本 Git 仓库根** 为基准(与 `miniprogram/``soul-api/` 同级)。
- Rules 中「必须 Read」的路径形如 `.cursor/skills/{name}/SKILL.md`
- Python 脚本统一可用 `config/paths.py``ROOT``SKILLS``AGENT``MEETING`
## 入口优先级
1. **三端开发**`rules/soul-project-boundary.mdc` + `skills/*-dev` / `change-checklist`
2. **派对 AI**:若存在仓库根目录 `派对AI/`,可补充读其 `BOOTSTRAP.md`;与 `.cursor` 冲突时 **以 `.cursor` 三端约定为准**(见 `rules/party-ai-dev.mdc`)。
## 噪声与体积
- `meeting/``agent/`:历史纪要/evolution 会增多,属正常;需要时可按月归档到子目录或压缩备份。
- `scripts/db-exec/node_modules/`:已在 `.cursorignore``.gitignore` 中排除,首次使用在 `db-exec` 下执行 `npm install`
## 文档
- 架构与迭代说明:`docs/cursor规则与架构分析及优化建议.md`

View File

@@ -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/移动端按纪要分工填写。

View File

@@ -0,0 +1,10 @@
# 团队经验记录 - 2026-04-27 - 三端迁移完成度
## 来源
会议:`.cursor/meeting/2026-04-27_三端迁移完成度与文档同步.md`
## 要点
- **「三端是否迁移完成」** 在仓库内应区分:① **主迁移**(新三端承接契约与 P0、新功能只写 `new/`)— **是**;② **与 `old` 全量业务域/大屏 UI 1:1 无遗漏****否**,以 `开发文档/玩值/进度-看板.md``三端对齐项目清单.md` 为准持续勾项。
- 对外/对内表述建议用「**新三端主链已迁移并持续对齐**」,避免单独一句「已全部完成」产生验收歧义。

View File

@@ -0,0 +1,3 @@
# 团队共享经验 - 2026-04-30
Soul 三端契约与文档落点:**miniprogram 仅用 `/api/miniprogram/*`,管理端仅用 `/api/admin/*``/api/db/*`**;文档统一放在 `开发文档/Soul/`。玩值 **`/api/app/*`** 与前缀分离,禁止混用。未检出 Soul 源码时先做环境与 smoke代码级对接在检出后执行。

View File

@@ -0,0 +1,6 @@
# 团队 - 经验索引
| 日期 | 主题 |
|------|------|
| 2026-04-27 | [三端迁移完成度(主迁移 / 全量对齐)](2026-04-27-三端迁移完成度会议.md) |
| 2026-04-24 | [玩值全项目会议(跨端决策)](2026-04-24-玩值全项目会议.md) |

View File

@@ -0,0 +1,12 @@
# 开发助理(橙子)
> 规则进化执行、通用经验池、项目索引。经验:`.cursor/agent/开发助理/evolution/`
## 目录结构
| 目录 | 说明 |
|------|------|
| evolution/ | 通用经验池 |
| archived/ | 已归档经验 |
| script/ | 规则进化 bat 入口 |
| 项目索引/ | 各角色开发进度索引 |

View File

@@ -0,0 +1,5 @@
# 2026-02-26 | 助理橙子经验
> 本日经验条目,格式:类型 | 摘要 | 升级 Skill
---

View File

@@ -0,0 +1,7 @@
# 开发助理 经验记录 - 2026-03-11
## 会议收尾:开发团队对齐业务逻辑与以界面定需求
- 用户提出「结束会议」后执行会议收尾:生成会议纪要、各角色经验入库、更新项目索引与会议记录索引。
- 纪要:`.cursor/meeting/2026-03-11_开发团队对齐业务逻辑与以界面定需求会议收尾.md`
- 各角色经验已写入:团队、产品经理、后端工程师、管理端开发工程师、小程序开发工程师 evolution/2026-03-11.md项目索引团队、产品、后端、管理端、小程序、助理橙子开发进度表已追加 2026-03-11。

View File

@@ -0,0 +1,91 @@
# 用户交互习惯分析(基于 agent-transcripts 抽样)
> 乘风发起,读取 97 个 agent 会话记录,抽样分析后总结。用于优化 agent 响应策略与 Skill 设计。
---
## 一、角色与触发词使用习惯
| 触发词/角色 | 使用场景 | 期望动作 |
|-------------|----------|----------|
| **乘风** | 开会、同步进度、协调开发、总结经验 | 老板分身主持,协调各角色 |
| **开会** | 需求评审、方案讨论、进度同步 | 按 team-meeting SKILL 主持多角色会议 |
| **吸收经验** | 功能完成、讨论完毕 | 经验入库 + Skill 升级 + 同步需求文档 |
| **橙子 / 小橙** | 记录、同步文档、会议收尾 | 文档同步、纪要生成、索引更新 |
| **加个需求xxx** | 新增功能 | 产品经理三端分析 → 功能规划 → 指派 |
| **变更完成 / 检查一下** | 代码改完 | 过 change-checklist 三端关联检查 |
---
## 二、表达方式偏好
### 1. 直接点名角色
- 如:「小程序工程师」「后端工程师」「管理端工程师」「测试工程师」
- 期望agent 按该角色 Skill 执行,不混用其他端逻辑
### 2. @ 文件引用
- 如:@new-soul、@scripts@soul-admin、@开发文档
- 期望agent 读取并理解引用内容,作为上下文执行任务
### 3. 任务导向、先分析再实现
- 典型句式:「帮我对比」「整理出迁移清单」「分析有没有逻辑盲点」「从经营角度看看」
- 期望:先出方案/文档,再写代码;不直接动手改
### 4. 图片辅助反馈
- 经常截图 + 文字描述问题(如「@匹配有问题」「弹窗太大」「封面图要长这样」)
- 期望agent 结合截图理解 UI/交互问题,给出针对性修改
---
## 三、工作流程偏好
| 阶段 | 习惯 | 说明 |
|------|------|------|
| **需求** | 以需求驱动、以界面定需求 | 不凭空加功能,需求与实现可追溯 |
| **分析** | 先对比、出方案、写文档 | 迁移清单、逻辑盲点、技术协调、经营建议 |
| **实现** | 小步迭代、可读性优先 | 函数单一职责,避免深层嵌套 |
| **验收** | 测试 → 吸收经验 → 同步文档 | 闭环经验入库、Skill 升级、需求汇总更新 |
| **会议** | 开会 → 各角色发言 → 决议 → 橙子总结 | 会议结束触发收尾流程 |
---
## 四、沟通风格
- **简洁**:如「帮我处理」「帮我测试一下」「修复」
- **追问细节**:如「界面有什么变化」「有逻辑盲点吗」「从经营角度看看」
- **强调合理性**:如「产品经理要根据实际情况判断,不能随意增加管理列表」
- **确认后执行**:如「先帮我对比」「整理出迁移清单」——先出结果再决定是否实现
---
## 五、技术偏好Soul 项目)
- **三端隔离**:小程序只调 `/api/miniprogram/*`,管理端只调 `/api/admin/*``/api/db/*`
- **存客宝对接**Person、LinkTag、ckb_api_key、planType、sceneId、status 等参数约定
- **测试规范**scripts/test 目录miniapp / web / process 分类pytest + requests运行前显式提示测试环境
---
## 六、反馈与确认习惯
| 用户表达 | 触发动作 |
|----------|----------|
| 「搞定了」「可以了」「解决了」 | 经验自动收集(老板分身-索引.mdc |
| 「会议结束」「散会」 | 助理橙子会议收尾 |
| 「吸收经验」「同步到需求文档」 | 经验入库 + 需求汇总更新 |
| 「不要记录」「不用沉淀」 | 不触发经验入库 |
---
## 七、Agent 响应建议
1. **先理解再动手**用户说「帮我xxx」时先确认范围、出方案再写代码
2. **按角色执行**:用户点名角色时,必须 Read 对应 Skill按规范执行
3. **文档先行**:迁移、重构类任务,先出清单/分析文档,再实现
4. **闭环收尾**:功能完成时主动提示「可以说吸收经验同步到文档」
5. **图片理解**:用户发截图时,结合截图分析问题,不只看文字
---
**来源**agent-transcripts 抽样(约 15 个会话),结合经验清单与项目索引交叉验证。
**适用**:开发助理、老板分身、各角色 agent 的响应策略优化。

View File

@@ -0,0 +1,9 @@
# 开发助理 经验记录 - 2026-03-17
## 会议收尾2026-03-17
- **纪要**2026-03-17_会议收尾-源码优化完成与测试流程定稿.md
- **经验入库**:各角色 evolution 已追加收尾经验
- **项目索引**:后端、管理端、小程序、测试、助理橙子已更新
- **会议索引**README.md 已追加
- **开发文档**:运营与变更第十七部分已追加

View File

@@ -0,0 +1,15 @@
# 开发助理 经验记录 - 2026-03-18
## 开发文档归档整理(统一入口与索引一致性)
### 发现与修复
- `开发文档/README.md` 索引引用了 `开发文档/10、项目管理/项目落地推进表.md`,但该文件缺失。
- 已补齐:新建 `开发文档/10、项目管理/项目落地推进表.md`,用于记录里程碑、风险与下一步。
### 归档建议(持续维护规则)
- 需求基准:`以界面定需求.md`
- 需求清单:`需求汇总.md`
- 决议与变更:`运营与变更.md`
- 执行层推进:`项目落地推进表.md`
- 每次变更后按上述 4 份文档联动更新,避免“清单/决议/执行层”脱节。

View File

@@ -0,0 +1,13 @@
# 2026-03-21 MBTI 头像 C 端全链路兜底
## 问题
系统设置瘦身与 MBTI 映射迁到用户管理后,需在小程序多页面与匹配接口统一「无微信头像 → MBTI 映射」行为,避免仅海报单点生效。
## 做法
- 新增 `miniprogram/utils/mbtiAvatar.js``resolveAvatarWithMbti``app.resolveAvatarWithMbti` 封装全局 map。
- 我的页 `profileAvatarDisplay`;资料编辑 `avatarPreviewUrl`profile-show、member-detail、referral 海报复用同一逻辑。
- 后端 `match.go``avatar` 为空时用 `getMbtiAvatar`;响应增加 `mbti` 字段;找伙伴卡片 wxml 增加无图占位。
- 管理端 `MbtiAvatarsManager` 补充 downloadFile 域名说明。
## 可复用规则
配置驱动展示:公开 `GET /api/miniprogram/config/mbti-avatars` + 本地短时缓存;业务侧只调 `resolveAvatarWithMbti`,避免重复拼接 baseUrl。

View File

@@ -0,0 +1,6 @@
# 开发助理(橙子)经验记录 - 2026-04-14
## 吸收沉淀:各智能体同步开发需求
- 触发:用户「各智能体吸收经验沉淀,同步开发需求」→ 执行 `assistant-doc-sync` §5 + 文档同步:补齐仓库根 `开发文档/` 骨架,写入 `需求汇总.md``运营与变更.md`
- 同步 `经验清单.md``智能体-技能-经验总索引.md`、各角色 `evolution/索引.md`、项目索引一行、`sync-log`;轻量升级 `role-flow-control` §1.2(小程序逆推闭环)。

View File

@@ -0,0 +1,7 @@
# 开发助理 经验记录 - 2026-04-15
## 联网吸收:编程思维写入智能体
- **触发**:用户要求联网吸收优秀编程思维并沉淀到智能体。
- **动作**检索垂直切片、追踪弹、AI 编码验证、SRE 无责复盘等公开论述;写入 `agent/团队/evolution/2026-04-15.md`;在 `role-flow-control/SKILL.md` 增加 **§1.3 智能体协作提要**;更新 `经验清单``智能体-技能-经验总索引`、团队/助理橙子项目索引、`sync-log`
- **注意**:外链为思想参考;执行顺序仍以本仓库 `.cursor/rules` 与各主 Skill 为准。

View File

@@ -0,0 +1,7 @@
# 开发助理 经验记录 - 2026-04-22
## TS 原生编译跨平台全员吸收
- **触发**:用户要求分析公众号文章,并将相应开发能力作为 skills 给全员吸收。
- **动作**:提炼 Perry 与 RN/Flutter/Electron 的选型框架;新增通用 Skill `skills/ts-native-cross-platform/SKILL.md`;同步写入玩值 API、管理端、移动端三角色当日 evolution并更新各自索引、经验清单、sync-log。
- **注意**:该路线仍属评估型能力,默认先做 POC + 指标门禁,避免直接替换现有生产路线。

View File

@@ -0,0 +1,8 @@
# 开发助理 - 2026-04-23
## 跨端摘要
- **玩值** 直播App 全屏页对接既有 `/api/app/live/*`**点卡**:新增 App 只读目录 + 下单写 `pointCardOrders`,管理端仍管 SKU/福禄;**管理端** 直播详情节省列表全量拉取。
- 文档与索引:`开发文档/玩值/迁移-API对照表.md``进度-看板.md`、项目索引、会议纪要已同步。
详见各 `agent/玩值*/evolution/2026-04-23-*.md`

View File

@@ -0,0 +1,16 @@
# 2026-04-24 — wz-app 经验吸收与文档同步(跨端摘要)
## 背景
玩值次线 **`new/wz-app`** 完成占位清零与 wz-api 联调类改造,涉及文档多份与 **wz-app-dev** 规范补充。
## 跨端要点
- **文档真源**`迁移-API对照表.md``迁移-wz-app路由映射.md``进度-看板.md``MIGRATION.md` 与实现保持同步;新增/变更 C 端调用的路径必须登记。
- **管理端**:公会/旅程/主播数据运营侧沿用既有 **`/api/admin/wz/*`**(如 journey-events 查询),本次 C 端未要求新增 admin 页面。
- **API**:现有 `streamer/*``screen/data/dashboard``analytics/journey-events` 已满足本批;评论持久化属后续需求。
## 索引
- 玩值移动端工程师:`evolution/2026-04-24-wz-app占位补齐与wz-api对接.md`
- 项目索引:`agent/开发助理/项目索引/玩值.md` 开发进度表已追加。

View File

@@ -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 后续填写。

View File

@@ -0,0 +1,3 @@
# 开发助理 经验 - 2026-04-27
- 会议主题:三端迁移完成度;已更新 `开发文档/玩值/进度-看板.md``三端对齐项目清单.md``2026-04-27-日志.md`、项目索引玩值、meeting 索引、团队 evolution。

View File

@@ -0,0 +1,26 @@
# 开发助理 - 会议与文档归档 - 2026-04-30
- 执笔 Soul 专题会议纪要;新建 `开发文档/Soul/` 联调文档;同步 meeting README、sync-log、多角色项目索引。**说明**:本会话工作区不含 `miniprogram`/`soul-admin`/`soul-api` 目录Soul 接口对接以检出后按文档执行为准;玩值三端仍以 `开发文档/玩值/``new/wz-*` 为交付真源。
---
## 同日补充(术语)
- **玩值 `new/wz-app`** 条线统一称 **移动端 / H5+C 端****不称「小程序智能体」「微信小程序」**;「小程序」保留给 Soul `miniprogram/`。已改 soul/wanzhi boundary、wz-app Skill、paths 注释、`玩值移动端工程师/README`、change-checklist 引言等。
---
## 同日补充wz-app 去 mock + C 端文案)
- **目录数据**:多块页面改接 `catalog.ts`与既有 `mall`/`games`/`streamers` 等,减少硬编码列表;无后端能力时用用户向空态,不写「无 C 口」「GET /api/…」。
- **界面文案红线**:用户在 App 内**不得**看到接口路径、`Mongo``wz-api``ext_id``埋点` 等开发与库表术语;详见 **`玩值移动端工程师/evolution/2026-04-30-wz-app目录对接与用户可见文案.md`** 与 **`wz-app-dev` Skill**(用户可见文案专节)。
- **可选后续**:请求层对用户可见 **`Error.message`** 做温和映射,避免遗留技术句。
---
## 同日补充Cursor Agent 跨项目归档 → Skill
- **场景**:把本机 Cursor 在各工作区产生的 **Agent 会话jsonl** 与仓库内 **`.cursor/agent`** 分门别类镜像到同一归档根(如本机 `E:\AgentRecord` 或默认 `%USERPROFILE%\CursorAgentArchive`),便于检索与离线分析。
- **路径常识**:会话在 **`%USERPROFILE%\.cursor\projects\<键>\agent-transcripts\<UUID>\<UUID>.jsonl`**;计数必须 **`**/*.jsonl`**;项目目录名常见为 **`盘符单字母-路径段-路径段-...`** 映射到 Windows 路径(路径段含 `-` 时解码不可靠)。
- **实现要点**:镜像前 **`mkdir` 目标目录** 再写 `_META.txt`**仓库根** = `.cursor/agent`**`parent.parent`**(勿误用再往上一层);归档目录名对 **`Path.resolve()`** 做 **哈希后缀** 防碰撞;扩展扫描用 **`AGENT_RECORD_SCAN_ROOTS`**,避免全盘无界递归。
- **沉淀位置**Skill **`.cursor/skills/cursor-agent-archive/SKILL.md`**;可执行脚本 **`.cursor/scripts/cursor-agent-archive/sync_cursor_agent_records.py`**(默认输出用户目录下 `CursorAgentArchive`,可用环境变量改到 `E:\AgentRecord`)。

View File

@@ -0,0 +1,15 @@
# 开发助理 经验索引(通用)
> 无明确角色归属的通用经验。助理橙子执行时可按需参考。
| 日期 | 摘要 | 文件 |
|------|------|------|
| 2026-04-30 | Cursor Agent 跨项目归档:路径约定、增量镜像、新增 Skill + 仓库脚本 | 2026-04-30.md§同日补充 Cursor Agent |
| 2026-04-27 | 玩值三端迁移完成度会议:主迁移完成、全量对齐 ongoing看板/三端/纪要/索引 | 2026-04-27-三端迁移完成度会议.md |
| 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 |
| 2026-03-16 | 用户交互习惯分析(基于 agent-transcripts | 2026-03-16-交互习惯分析.md |
| 2026-04-14 | 各智能体吸收经验沉淀开发文档骨架、经验清单、role-flow §1.2 | 2026-04-14.md |
| 2026-04-15 | 联网吸收编程思维:团队 evolution、role-flow §1.3、索引与 sync-log | 2026-04-15.md |

View File

@@ -0,0 +1,46 @@
@echo off
chcp 65001 >nul
set PYTHONUTF8=1
set PYTHONIOENCODING=utf-8
cd /d "%~dp0..\..\..\.."
:menu
cls
echo ========================================
echo 开发助理 - 规则进化 一键操作
echo ========================================
echo.
echo 1. 添加经验(从 stdin 粘贴 JSON
echo 2. 列出经验池
echo 3. 执行进化(归档 + 可选应用新规则)
echo 4. 退出
echo.
set /p choice=请选择 (1-4):
if "%choice%"=="1" goto add
if "%choice%"=="2" goto list
if "%choice%"=="3" goto evolve
if "%choice%"=="4" exit
goto menu
:add
echo.
echo 请粘贴 AI 输出的 JSON按 Ctrl+Z 回车结束:
python .cursor\scripts\evolution.py add --stdin
pause
goto menu
:list
echo.
python .cursor\scripts\evolution.py list
pause
goto menu
:evolve
echo.
set /p RULE_FILE=新规则文件路径(留空则仅归档):
if "%RULE_FILE%"=="" (
python .cursor\scripts\evolution.py evolve --archive
) else (
python .cursor\scripts\evolution.py evolve --archive --rule "%RULE_FILE%"
)
pause
goto menu

View File

@@ -0,0 +1,6 @@
@echo off
chcp 65001 >nul
cd /d "%~dp0..\..\..\.."
echo 开发助理 - 列出经验池
python .cursor\scripts\evolution.py list
pause

View File

@@ -0,0 +1,6 @@
@echo off
chcp 65001 >nul
cd /d "%~dp0..\..\..\.."
echo 开发助理 - 执行进化(归档经验池)
python .cursor\scripts\evolution.py evolve --archive
pause

View File

@@ -0,0 +1,12 @@
@echo off
chcp 65001 >nul
set PYTHONUTF8=1
set PYTHONIOENCODING=utf-8
cd /d "%~dp0..\..\..\.."
echo 开发助理 - 添加经验
echo.
echo 请将 AI 输出的 JSON 粘贴到下方,按 Ctrl+Z 回车结束:
echo.
python .cursor\scripts\evolution.py add --stdin
echo.
pause

View File

@@ -0,0 +1,74 @@
# 开发团队经验清单
> 跨角色经验索引。经验在 `agent/*/evolution/`,项目索引在 `agent/开发助理/项目索引/`。
---
## 各角色经验库
| 角色 | 项目索引 | 按日经验 |
|------|----------|----------|
| 小程序 | [agent/开发助理/项目索引/小程序.md](./项目索引/小程序.md) | agent/小程序开发工程师/evolution/ |
| 管理端 | [agent/开发助理/项目索引/管理端.md](./项目索引/管理端.md) | agent/管理端开发工程师/evolution/ |
| 后端 | [agent/开发助理/项目索引/后端.md](./项目索引/后端.md) | agent/后端工程师/evolution/ |
| 产品 | [agent/开发助理/项目索引/产品.md](./项目索引/产品.md) | agent/产品经理/evolution/ |
| 测试 | [agent/开发助理/项目索引/测试.md](./项目索引/测试.md) | agent/软件测试/evolution/ |
| 助理橙子 | [agent/开发助理/项目索引/助理橙子.md](./项目索引/助理橙子.md) | agent/开发助理/evolution/ |
| 团队(跨角色共享) | [agent/开发助理/项目索引/团队.md](./项目索引/团队.md) | agent/团队/evolution/ |
---
## 索引表
| 日期 | 角色 | 类型 | 升级 Skill | 摘要 |
|------|------|------|------------|------|
| 2026-04-30 | 开发助理 | 工具链 | **cursor-agent-archive**(新建) | Cursor 会话 jsonl + 仓库 `.cursor/agent` 跨项目归档rglob、路径解码启发式、mkdir/哈希防碰撞、`AGENT_RECORD_SCAN_ROOTS`;脚本入 `.cursor/scripts/cursor-agent-archive/` |
| 2026-04-30 | 玩值移动端、开发助理 | 规范/迁移 | **wz-app-dev §7**、**wanzhi boundary** | wz-app 目录页去 mock 接 `/api/app`;用户界面禁止暴露接口路径/Mongo/wz-api 等技术话术;详见玩值移动端 evolution 2026-04-30 |
| 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 包裹 |
| 2026-02-28 | 小程序、管理端 | 最佳实践 | miniprogram §6、admin §4.1 | input 边距口诀「外边包 view、内部 width 100%」match 弹窗已修正 |
| 2026-03-03 | 小程序 | 最佳实践 | miniprogram §8 | 我的页面卡片区边距 16rpx个人中心类页面布局规范 |
| 2026-03-10 | 小程序 | 最佳实践 | miniprogram-dev SKILL §my | my.js 阅读统计改为后端接口loadDashboardStats禁止用随机数时间/标题占位 |
| 2026-03-10 | 后端 | bug 修复 | api-dev SKILL | 聚合接口三处修复recentChapters 去重、totalReadMinutes 最小1分钟、DB 错误返回 500 |
| 2026-03-10 | 团队 | 方法论 | - | 新旧版代码对比:以功能完整性为基准,批量 diff + 分类取舍,不以日期判优劣 |
| 2026-03-10 | 管理端 | 最佳实践 | admin-dev SKILL §toast | Toast 通知系统落地utils/toast.ts 纯原生实现,全系统 18 文件 alert → toast 批量替换 |
| 2026-03-12 | 管理端 | bug 修复 | admin-dev SKILL §ts | ContentPage TypeScript 严格类型:可选字段 ?? 兜底、接口补字段、API 映射、setState 传参 |
| 2026-03-12 | 团队 | 架构/设计 | - | 密钥/token 设计:关联小程序 key、@ 人物 token不暴露真实密钥、服务端兑换 |
| 2026-03-12 | 后端 | 最佳实践 | mysql-direct SKILL | persons token 字段Model 新增字段后需执行 ALTER 迁移脚本 |
| 2026-03-12 | 管理端 | 设计落地 | - | 关联小程序存 key、@ 人物 id=token链接标签与 PersonItem 约定 |
| 2026-03-12 | 小程序 | 设计落地 | - | contentParser mpKey/tokenonLinkTagTap、onMentionTap 传 key/token 兑换 |
| 2026-03-10 | 后端 | bug 修复 | api-dev SKILL | chapters 表新增 hot_score 列,修复 1054 Unknown column 错误DB 变更 SOPALTER→model→重启 |
| 2026-03-10 | 团队 | 方法论 | - | DB 变更 SOP + Toast 批量替换方法论(脚本替换后必须人工复查 toast.info 语义) |
| 2026-03-12 | 后端、团队 | 业务规则 | api-dev SKILL、team three-tier-arch | 9.9 买断统一由后端折叠为 hasFullBook/has_full_book小程序和管理端只认该信号可通过用户资料开关 OR 订单实现赠送全书 |
| 2026-03-13 | 小程序、后端、团队 | 业务规则 | api-dev SKILL、miniprogram-dev SKILL、three-tier-arch SKILL | 文章详情预览统一由后端按 50% 截取,小程序按 accessState 使用预览/全文,外层 content 与 data.content 始终一致以避免泄露全文 |
| 2025-03-14 | 小程序 | 最佳实践 | miniprogram-dev SKILL §10 | 阅读页文本长按选中复制text 组件 user-selectselectable 已废弃),正文/标题/预览均加 user-select |
| 2026-03-14 | 后端、管理端、小程序、团队 | 业务规则/bug 修复 | - | 内容排名算法修正(排名分公式);保存权重后 loadRanking 刷新;我的页设置隐藏;资料引导场景梳理 |
| 2026-03-16 | 软件测试 | 知识沉淀 | testing SKILL | scripts 目录与测试关联:本地启动.sh 联调必备、飞书脚本非回归范围、soul-api/scripts 与根 scripts 区分 |
| 2026-03-16 | 软件测试 | 目录约定 | testing SKILL §5 | scripts/testminiapp 小程序接口测试、web 管理端测试;测试工程师在此编写用例 |
| 2026-03-16 | 软件测试 | 目录约定 | testing SKILL §5 | scripts/test/process流程测试跨端多接口串联下单→支付→分润等 |
| 2026-03-16 | 软件测试 | 配置约定 | testing SKILL | pytest 架构、配置从 soul-api/.env* 读取、SOUL_TEST_ENV 必显;运行前报告头部显示测试环境,避免误测正式库 |
| 2026-03-16 | 小程序 | 最佳实践 | miniprogram-dev SKILL §10 | 编辑资料页分享名片:转发/朋友圈特殊处理Canvas 绘制 5:4 封面,标题「昵称+为您分享名片」,路径 member-detail |
| 2026-03-16 | 开发助理 | 交互习惯分析 | - | 乘风读取 agent-transcripts 抽样分析角色触发词、表达方式、工作流程、沟通风格、技术偏好、Agent 响应建议 |
| 2026-03-17 | 小程序、后端、团队 | 业务规则/bug 修复 | - | 代付美团式读页→代付页→分享PayNotify beneficiaryUserID 权益归发起人detail 返回 initiatorUserId目录 loading、最新新增 5 条折叠 |
| 2026-03-17 | 小程序 | 业务规则 | - | 代付统一到代付页gift=1&ref 打开 read 时 redirectTo 代付页,禁止在阅读页代付 |
| 2026-03-17 | 软件测试 | 流程定稿 | testing SKILL | 功能测试流程:成功 ☑、失败列问题、最终报告scripts/test/功能测试流程.md、测试报告-环境与用例清单.md |
| 2026-03-17 | 后端、团队 | 架构/最佳实践 | api-dev SKILL | Redis 缓存parts/hot/recommended/stats/config/章节 content容灾回退 DBOSS 上传;/health 返回 database/redis 状态 |
| 2026-03-18 | 小程序、团队 | 业务规则/最佳实践 | - | 分享链路兼容好友/朋友圈 singlePage单页模式能力降级不支付/不自动领取),引导点击底部“前往小程序”进入完整版 |
| 2026-03-18 | 产品、后端、管理端、测试 | 文档归档/需求口径 | - | 文档归档整理:以《以界面定需求》为基准,各角色重整“功能需求+验收口径+风险点”并写入各自经验库;补齐《项目落地推进表》 |
| 2026-04-14 | 团队、产品、后端、管理端、小程序、测试、助理橙子 | 方法论/需求同步 | role-flow-control SKILL §1.2、assistant-doc-sync 文档树说明 | 吸收沉淀小程序逆推闭环、写死vs配置、需求汇总+运营与变更骨架;各角色 evolution/2026-04-14.md |
| 2026-04-15 | 团队、助理橙子 | 方法论(联网) | role-flow-control SKILL §1.3 | 垂直切片、追踪弹与 AI slop 控制、验证优先、Google SRE 无责复盘;详 `agent/团队/evolution/2026-04-15.md` |
---
## 已吸收经验(历史)
- **SetVipModal**SKILL-管理端开发 4.1 表单弹窗
- **vip_roles**SKILL-API开发 3.2、SKILL-MySQL直接操作 8
---
**最后更新**2026-04-30

View File

@@ -0,0 +1,5 @@
# 项目索引
存放各角色子项目开发进度、状态。每角色对应一份索引。
- **玩值三端汇总**[`玩值.md`](玩值.md)(与 `开发文档/玩值/进度-看板.md` 联动)

View File

@@ -0,0 +1,43 @@
# 产品 - 项目索引
> 根据开发进度对项目做总结,保存开发进度,方便下次继续开发。**每次保存必须写日期**。
---
## 项目总结
Soul 创业派对产品定位:面向创业者的社区/工具型小程序。核心需求文档在 `开发文档/1、需求/2026-03-20-需求.md`(主需求清单,若未入库见同目录 `需求汇总.md`),闭环结论见 `开发文档/10、项目管理/闭环与文档同步-2026-04-07.md`(若存在),临时需求/分析在 `临时需求池/`(按需创建)。
---
## 开发进度
| 日期 | 摘要 | 状态 |
|------|------|------|
| 2026-02-26 | 项目索引初始化,.cursor 规则优化完成 | 已完成 |
| 2026-02-27 | 开发进度同步会议汇报进度待办「资料不解锁」补充、≥3 章弹窗明确 | 已完成 |
| 2026-02-28 | stitch_soul 需求评审:内容→会员→导师变现路径,待产品补充正式需求文档 | 待续 |
| 2026-03-05 | 分支冲突后功能完整性分析会议:核对需求文档与实现一致性 | 待续 |
| 2026-03-05 | 文章详情@某人加好友方案讨论:验收标准、添加好友接口 path 待确认 | 待续 |
| 2026-03-10 | 会议:管理端迁移 Mycontent-temp新菜单/布局与入口收敛验收口径确定 | 待续 |
| 2026-03-11 | 以界面定需求文档建立;需求基准以《以界面定需求》为准 | 已完成 |
| 2026-03-16 | 乘风发起例行开发进度同步 | 已完成 |
| 2026-03-16 | 会议new-soul 新需求与当前项目差异分析 | 已完成 |
| 2026-03-17 | 会议:稳定版源码质量优化;验收标准功能不变、三端联调通过 | 待续 |
| 2026-03-18 | 文档归档整理:以《以界面定需求》为基准,重整需求口径/验收点/分享 singlePage 约束,写入产品经验库 | 已完成 |
| 2026-03-18 | 会议:超级个体开通后自动创建@人与支付前资料引导(头像+昵称) | 已完成 |
| 2026-03-24 | 会议:开发进度同步;项目索引补齐 2026-03-19/20 及之后记录;文档同步原则确认 | 已完成 |
| 2026-03-24 | 会议:需求与进度及三端闭环评审;规则/风控缺口清单化VIP 支付前资料规则待拍板 | 已完成 |
| 2026-03-31 | 会议:超级个体列表与 @ 列表融合方案(先数据互链再单页);一期验收口径待拍板 | 待续 |
| 2026-04-02 | 会议:工作进度与需求同步;一期融合验收口径澄清、各端索引与需求 delta 跟进 | 进行中 |
| 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` | 进行中 |
| 2026-04-30 | 会议Soul 三端联调文档与小程序→管理端逆推核对;纪元 `.cursor/meeting/2026-04-30_Soul三端文档与接口对齐.md` | 进行中 |
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD状态用已完成 / 进行中 / 待续 / 搁置
---
**最后更新**2026-04-30

View File

@@ -0,0 +1,37 @@
# 助理橙子 - 项目索引
> 根据开发进度对项目做总结,保存开发进度,方便下次继续开发。**每次保存必须写日期**。
---
## 项目总结
助理橙子负责开发团队文档同步与经验升级。触发词:小橙/橙子/橙橙/🍊。核心流程文件:`SKILL-助理橙子-文档同步.md`。经验结构agent/*/evolution 按角色 + 按日/按条存储 + 项目索引。
---
## 开发进度
| 日期 | 摘要 | 状态 |
|------|------|------|
| 2026-02-26 | 项目索引初始化经验库五角色目录结构搭建SKILL 补充角色映射表与跨端写入规则 | 已完成 |
| 2026-02-28 | .cursor 按 cursor标准模板 重构agent 目录、config、evolution.py、meeting | 已完成 |
| 2026-03-11 | 会议收尾:开发团队对齐业务逻辑与以界面定需求;纪要生成、各角色经验入库、项目索引与会议索引更新 | 已完成 |
| 2026-03-16 | 乘风发起例行开发进度同步 | 已完成 |
| 2026-03-16 | 乘风读取 agent-transcripts 分析交互习惯,总结经验并吸收 | 已完成 |
| 2026-03-17 | 吸收需求代付美团式流程、PayNotify 权益归属、目录 loading、最新新增 5 条折叠 → 开发文档与 agent | 已完成 |
| 2026-03-17 | 乘风吸收经验与交互:迁移完成度与待办清单、运营与变更第十二部分 | 已完成 |
| 2026-03-17 | 吸收新需求代付统一到代付页gift=1&ref redirectTo→ 需求汇总、找朋友代付流程、运营与变更 | 已完成 |
| 2026-03-17 | 会议收尾:新版管理端迁移到稳定版实施方案确认;纪要、各角色经验入库、项目索引更新 | 已完成 |
| 2026-03-17 | 会议收尾:源码优化完成与测试流程定稿;纪要、经验入库、开发文档同步 | 已完成 |
| 2026-04-02 | 会议收尾:工作进度与需求同步会;纪要、各角色 evolution、项目索引与会议索引更新 | 已完成 |
| 2026-04-07 | 同步开发文档与主需求;新增《闭环与文档同步-2026-04-07》并更新索引、sync-log | 已完成 |
| 2026-04-14 | 吸收经验:各角色 evolution/2026-04-14、开发文档骨架、经验清单、总索引、role-flow §1.2 | 已完成 |
| 2026-04-15 | 联网吸收编程思维:团队 evolution/2026-04-15、role-flow §1.3、经验清单与 sync-log | 已完成 |
| 2026-04-30 | 吸收经验Cursor Agent 跨项目归档沉淀为 `cursor-agent-archive` Skill + 仓库脚本;经验清单/总索引/evolution/sync-log 同步 | 已完成 |
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD状态用已完成 / 进行中 / 待续 / 搁置
---
**最后更新**2026-04-30

View File

@@ -0,0 +1,55 @@
# 后端 - 项目索引
> 根据开发进度对项目做总结,保存开发进度,方便下次继续开发。**每次保存必须写日期**。
---
## 项目总结
soul-apiGo + Gin + GORM + MySQL提供三组路由`/api/miniprogram/*`(小程序)、`/api/admin/*` + `/api/db/*`(管理端)、`/api/payment/*`(支付回调)。微信生态通过 PowerWeChat 集成。当前核心模块用户、订单、分销、VIP、提现、章节、配置。
---
## 开发进度
| 日期 | 摘要 | 状态 |
|------|------|------|
| 2026-02-26 | 项目索引初始化,.cursor 规则优化完成 | 已完成 |
| 2026-02-27 | 开发进度汇报computeOrderCommission 会员分润差异化20%/10%已实现vip_roles、vip_activated_at、referral_config 扩展已完成miniprogram/admin/db 三组路由就绪 | 已完成 |
| 2026-02-27 | 开发进度同步会议:进度已同步至开发文档,待办资料完善校验 | 已完成 |
| 2026-02-28 | stitch_soul 需求评审:需梳理 chapter/book/vip设计导师/预约/会员权益模型与接口 | 待续 |
| 2026-03-05 | 分支冲突后功能完整性分析会议:在 soul-api 确认合并状态,核对 orders、distribution 接口 | 待续 |
| 2026-03-05 | 文章详情@某人加好友方案讨论content 内嵌 @ 标记、miniprogram 添加好友接口 | 待续 |
| 2026-03-10 | 会议:管理端迁移 Mycontent-temp后端接口边界不变overview 聚合接口可选但需降级 | 待续 |
| 2026-03-10 | 新增 GET /api/miniprogram/user/dashboard-stats聚合阅读统计接口含去重、min1分钟、500错误码修复 | 已完成 |
| 2026-03-10 | chapters 表新增 hot_score 列ALTER TABLE + model 同步),修复前端保存章节报 1054 错误 | 已完成 |
| 2026-03-11 | users 迁移仅 VIP 身份/状态五字段,不再新增 VIP 资料列chapters 补 hot_scoresync 脚本与 README-schema-sync 更新 | 已完成 |
| 2026-03-12 | persons 表新增 token 字段add-persons-token.sqlCKBLead 用 token 兑换 ckb_api_key | 已完成 |
| 2026-03-12 | 9.9 买断后端开关方案users 增手动 fullbook 开关purchase-status/check-purchased 折叠为统一 hasFullBook/has_full_book小程序免改即支持赠送全书 | 已完成 |
| 2026-03-13 | 文章详情预览统一与安全previewContent 改为截取正文前 50%findChapterAndRespond 保证外层 content 与 data.content 一致,未授权只返回预览 | 已完成 |
| 2026-03-14 | 内容排名算法修正computeSectionsWithHotScore 改为排名分公式(阅读/新度/付款前 N 名得分),支持手动 hot_score 覆盖 | 已完成 |
| 2026-03-16 | 乘风发起例行开发进度同步 | 已完成 |
| 2026-03-16 | ParseAutoLinkContent 添加 data-label存客宝 create planType=1 sceneId=9 status=1 | 已完成 |
| 2026-03-16 | 会议new-soul 新需求与当前项目差异分析content_upload.py 与 chapters 一致性待核对 | 待续 |
| 2026-03-17 | 代付 PayNotify 权益归属修复beneficiaryUserID代付=发起人gift-pay detail 返回 initiatorUserId | 已完成 |
| 2026-03-17 | 会议新版管理端迁移router 补齐 users/rfm、journey-stats、shensheshou 共 5 个;确认 ossConfig | 进行中 |
| 2026-03-17 | 会议:稳定版源码质量优化;敏感配置生产强制校验、新增 /api/admin/user/track、AdminWithdrawTest 环境限制 | 已完成 |
| 2026-03-17 | 会议收尾:源码优化 10 项全部完成;开发环境测试 10 通过 2 跳过 | 已完成 |
| 2026-03-17 | 性能优化会议Redis 缓存接入parts/hot/recommended/stats/config/章节 content、容灾回退 DBOSS 上传接入;/health 返回 database/redis 状态 | 已完成 |
| 2026-03-18 | 文档归档整理:按界面→接口→规则口径重整后端功能需求与风险点,写入角色经验库 | 已完成 |
| 2026-03-18 | 会议:超级个体开通后自动创建@人Person 绑定 userId 幂等)与资料完善 flags 方案 | 已完成 |
| 2026-03-20 | 提现审批逻辑修复、fail_reason/error_message 落库、referral_config withdrawFee/enableAutoWithdraw | 已完成 |
| 2026-03-24 | 会议开发进度同步项目索引补齐router/ossConfig 待确认 | 已完成 |
| 2026-03-24 | 会议:三端闭环评审;提现/CKB/匹配后端校验与 errorCode 为 P0/P1 | 已完成 |
| 2026-03-31 | 会议:超级个体与 @ 列表融合;优先扩展 vip-members 聚合 Person 关联字段 | 待续 |
| 2026-04-02 | 会议工作进度与需求同步deploy 验证后提交vip-members 聚合优先router/ossConfig 历史待办跟进 | 进行中 |
| 2026-04-13 | 会议:按功能同步开发文档;接口/迁移变更须标路由组与 P0/P1文档待补齐 | 进行中 |
| 2026-04-14 | 吸收沉淀:`需求汇总.md` 增加 BACKEND-P0 行;接口说明与迁移落文档 | 进行中 |
| 2026-04-15 | 业务补齐:`mentor_consultation` 支付计价/回调/权益;`CKBJoin` investor 显式失败;`getStandardPrice` 增加 buyerUserID | 已完成 |
| 2026-04-30 | 会议Soul 三端路由组隔离与玩值 `/api/app` 区分写入 `开发文档/Soul/`soul-api 检出后补充路由矩阵与 smoke | 进行中 |
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD状态用已完成 / 进行中 / 待续 / 搁置
---
**最后更新**2026-04-30

View File

@@ -0,0 +1,46 @@
# 团队 - 项目索引
> 跨角色共享的架构决策、业务规则、团队级经验。根据讨论进度更新,**每次保存必须写日期**。
---
## 项目总结
Soul 创业派对全项目架构与约定路由隔离miniprogram/admin/db、三端协同流程、经验按角色+按日存储、会议纪要独立存档、语义触发词驱动角色切换。
---
## 开发进度
| 日期 | 摘要 | 状态 |
|------|------|------|
| 2026-02-27 | 项目索引初始化;团队经验库目录建立 | 已完成 |
| 2026-02-28 | stitch_soul 需求评审:内容→会员→导师变现路径,需与现有三端架构协同 | 已完成 |
| 2026-03-08 | 文章阅读付费规则澄清:免费章节以 free_chapters 为准VIP 全章免费;后端 book.go 合并配置修复 | 已完成 |
| 2026-03-10 | 会议:管理端迁移 Mycontent-temp新菜单/布局作为团队规范基线,避免两套后台并行发散 | 待续 |
| 2026-03-10 | 新旧版代码对比方法论:以功能完整性而非日期判断优劣,批量 diff + 分类取舍 + 移植修复 | 已完成 |
| 2026-03-11 | 以界面定需求文档建立;需求基准与业务逻辑对齐(用户/VIP 资料、三端路由);会议收尾纪要与各角色经验入库 | 已完成 |
| 2026-03-12 | 密钥/token 设计:关联小程序 key、@ 人物 token不暴露真实密钥、服务端兑换 | 已完成 |
| 2026-03-12 | 9.9 买断团队约定:后端统一输出 hasFullBook/has_full_book小程序和管理端只认该信号支持通过用户资料开关 OR 订单赠送全书且不影响 VIP 逻辑 | 已完成 |
| 2026-03-13 | 文章详情预览规则统一:预览长度由后端统一按 50% 计算,小程序按 accessState 切换预览/全文,接口约定 content 与 data.content 始终一致 | 已完成 |
| 2026-03-14 | 内容排名算法跨端复用:管理端内容排行与小程序精选推荐共用 computeArticleRankingSections排名分公式、权重配置统一 | 已完成 |
| 2026-03-16 | 乘风发起例行开发进度同步 | 已完成 |
| 2026-03-16 | TipTap Mention 需 data-label 规则;链接人与事与存客宝对接优化会议收尾 | 已完成 |
| 2026-03-17 | 代付美团式流程与权益归属约定:读页→代付页→分享;权益/分佣归发起人PayNotify beneficiaryUserID | 已完成 |
| 2026-03-17 | 性能优化与 Redis 缓存方案落地Redis 容灾回退 DB、OSS 上传容灾;/health 返回 database/redis 状态 | 已完成 |
| 2026-03-18 | 吸收经验:分享进入链路需兼容朋友圈 singlePage单页模式不执行支付/自动领取等强动作并引导“前往小程序” | 已完成 |
| 2026-03-18 | 会议:超级个体开通后自动创建@人统一走 Person幂等键绑定 userId默认资料 flags 后端输出 | 已完成 |
| 2026-03-24 | 会议:需求与进度及三端闭环评审;主路径闭环成立、规则闭环待加固;失败响应与 err.response 契约 | 已完成 |
| 2026-03-31 | 会议:超级个体与 @ 列表融合;先数据与入口融合、路由边界不变 | 已完成 |
| 2026-04-02 | 会议:工作进度与需求同步;融合落地顺序与 deploy 验证门禁、问题与作答区待闭环 | 已完成 |
| 2026-04-07 | 文档同步:需求与开发文档索引对齐;闭环结论:主路径成立、规则/风控待加固项见《闭环与文档同步-2026-04-07》 | 已完成 |
| 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-24

View File

@@ -0,0 +1,61 @@
# 小程序 - 项目索引
> 根据开发进度对项目做总结,保存开发进度,方便下次继续开发。**每次保存必须写日期**。
---
## 项目总结
小程序微信原生C 端主要功能:用户注册/登录、VIP 购买、章节阅读、分销推荐、提现申请、找伙伴。当前已上线核心功能,持续迭代优化中。
---
## 开发进度
| 日期 | 摘要 | 状态 |
|------|------|------|
| 2026-02-26 | 项目索引初始化,.cursor 规则优化完成 | 已完成 |
| 2026-02-27 | 开发进度汇报:永平落地已完成(海报 scene、我的收益、推广中心、VIP 相关);找伙伴、提现、阅读、分销核心功能已上线 | 已完成 |
| 2026-02-27 | 开发进度同步会议进度已同步至开发文档待办资料完善弹窗、≥3 章弹窗 | 已完成 |
| 2026-02-27 | 吸收经验:输入框 padding 用 view 包裹,已升级 SKILL-小程序开发 §6 | 已完成 |
| 2026-02-28 | stitch_soul 需求评审:首页/目录/导师/会员/资料五类页面,待需求与接口确定后分阶段实现 | 待续 |
| 2026-02-28 | 吸收经验input 边距口诀「外边包 view、内部 width 100%」写入 Skill §6match 资源对接弹窗已按规范修正 | 已完成 |
| 2026-03-03 | 吸收经验我的页面卡片区边距优化16rpx 为个人中心类页面推荐值,已升级 SKILL §8 | 已完成 |
| 2026-03-05 | 分支冲突后功能完整性分析会议:修正 app.json 拆行、核心流程自测、确认 orders 接口 | 待续 |
| 2026-03-05 | 文章详情@某人加好友方案讨论:阅读页解析 @、高亮可点击、调添加好友接口 | 待续 |
| 2026-03-10 | 会议:管理端迁移 Mycontent-temp小程序侧关注内容产物格式变化与阅读页兼容回归 | 待续 |
| 2026-03-10 | 移植 loadDashboardStats()my.js 阅读统计改为后端接口,去除随机数时间/标题占位 | 已完成 |
| 2026-03-10 | 富文本渲染技术债分析contentParser.js 剥除 HTML 格式,建议改 rich-text 组件(待实施) | 待续 |
| 2026-03-11 | 以界面定需求:小程序界面清单纳入《以界面定需求》;展示以用户资料为准,与现有实现一致 | 已完成 |
| 2026-03-12 | 链接标签 mpKey 兑换 appId@ 人物 token 兑换 ckb_api_keycontentParser、onLinkTagTap、onMentionTap | 已完成 |
| 2026-03-13 | 阅读页文章预览与付费解锁对齐:预览长度改由后端统一计算,前端按 accessState 显示预览/全文,避免 data.content 泄露全文 | 已完成 |
| 2025-03-14 | 阅读页文本长按选中复制text 组件 user-select已升级 SKILL §10 | 已完成 |
| 2026-03-14 | 我的页设置入口隐藏wx:if资料修改引导场景梳理登录后、@某人、找伙伴、链接卡若) | 已完成 |
| 2026-03-16 | 乘风发起例行开发进度同步 | 已完成 |
| 2026-03-16 | 编辑资料页分享名片:转发/朋友圈改为分享名片Canvas 封面(头像+昵称+四栏信息),路径 member-detail | 已完成 |
| 2026-03-16 | 会议new-soul 新需求与当前项目差异分析派对AI 小程序站管理与当前一致 | 已完成 |
| 2026-03-17 | 代付美团式:读页→创建请求→跳转代付详情页;详情页双态(发起人分享/好友帮他付款);目录 loading、首页最新新增 5 条折叠 | 已完成 |
| 2026-03-17 | 代付统一到代付页gift=1&ref 打开 read 时 redirectTo 代付页,禁止在阅读页代付 | 已完成 |
| 2026-03-17 | 代付页营销:章节标题+20%内容预览;我的代付列表点击进详情;页面协调 | 已完成 |
| 2026-03-17 | 会议:稳定版源码质量优化;删除 payment.js、goToMatch 重复、备份文件config 读取、totalSections 动态化 | 已完成 |
| 2026-03-17 | 会议收尾:源码优化 5 项全部完成;开发环境测试通过 | 已完成 |
| 2026-03-18 | 吸收经验:分享链路需兼容好友/朋友圈 singlePage单页模式能力降级并引导“前往小程序”进入完整版 | 已完成 |
| 2026-03-18 | 会议:支付超级个体前/开通后资料默认校验,跳转 avatar-nickname 引导页(仅头像+昵称) | 已完成 |
| 2026-03-19 | 原生按钮覆盖定位cover-view经验入库 | 已完成 |
| 2026-03-20 | 手机号一键登录、login-modal 公用组件read/my/gift-pay 引入);我的收益取 availableEarnings | 已完成 |
| 2026-03-24 | 会议:开发进度同步;项目索引补齐;富文本 rich-text 技术债待续 | 已完成 |
| 2026-03-24 | 会议三端闭环评审app.request err.response提现双入口与后端契约对齐 | 已完成 |
| 2026-03-24 | 落地app.request 挂 err.responsesoulBridge 留资扩展;阅读页带码与 referral/my 提现 catch 对齐 | 已完成 |
| 2026-03-30 | 会议:文章详情 # 跳转关联小程序(如 MBTI时 path 追加 `phone`read.js 已实现 | 已完成 |
| 2026-03-31 | 会议:超级个体与 @ 列表融合C 端默认不改接口,仅回归 | 已完成 |
| 2026-04-02 | 会议:工作进度与需求同步;全局 app/request 类改动需主路径冒烟;融合仍以回归为主 | 已完成 |
| 2026-04-13 | 会议:按功能同步开发文档;页面级记 miniprogram 接口与分享行为;无接口变更亦标注 | 进行中 |
| 2026-04-14 | 吸收沉淀:逆推闭环自检写入 evolutionLOOP 需求行 | 进行中 |
| 2026-04-15 | 业务补齐:`app.js``err.response`;导师详情微信支付;找伙伴 join 失败展示后端文案 | 已完成 |
| 2026-04-30 | 会议Soul 三端文档与路由契约baseUrl/`/api/miniprogram/*`/合法域名对齐见 `开发文档/Soul/三端路由与联调说明.md`Soul 源码需单独检出后方可改接口 | 进行中 |
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD状态用已完成 / 进行中 / 待续 / 搁置
---
**最后更新**2026-04-30

View File

@@ -0,0 +1,47 @@
# 测试 - 项目索引
> 测试人员经验与测试进度。**每次保存必须写日期**。
---
## 项目总结
测试人员负责小程序、管理端、API 的功能测试、回归测试与三端联调。主 SkillSKILL-测试.md。
---
## 开发/测试进度
| 日期 | 进度摘要 | 状态 |
|------|----------|------|
| 2026-02-27 | 测试人员角色与 Skill 初始化 | 已完成 |
| 2026-02-27 | 小程序静态审查API 路径、页面接口、手工验证建议) | 已完成 |
| 2026-02-28 | stitch_soul 需求评审:关键场景为阅读/付费/会员/导师预约/资料;待需求确定后补充联调用例 | 待续 |
| 2026-03-05 | 分支冲突后功能完整性分析会议:制定「分支合并后回归清单」 | 待续 |
| 2026-03-05 | 文章详情@某人加好友方案讨论@ 展示与添加好友用例、联调与回归 | 待续 |
| 2026-03-10 | 会议:管理端迁移 Mycontent-temp回归重点为菜单一致性、隐藏路由可达性、鉴权跳转 | 待续 |
| 2026-03-16 | 乘风发起例行开发进度同步 | 已完成 |
| 2026-03-16 | scripts 目录知识吸收:本地启动、飞书脚本、联调环境准备 | 已完成 |
| 2026-03-16 | scripts/test 测试用例目录约定miniapp 小程序接口、web 管理端 | 已完成 |
| 2026-03-16 | scripts/test/process 流程测试目录:跨端业务流程 | 已完成 |
| 2026-03-16 | pytest 架构、配置从项目读取、运行前显示测试环境 | 已完成 |
| 2026-03-16 | 文章 @某人 自动创建存客宝:用例编写、执行、报告;归档规则 | 已完成 |
| 2026-03-16 | 会议new-soul 新需求与当前项目差异分析引入派对AI 时回归文章上传/飞书推送/小程序展示 | 已完成 |
| 2026-03-17 | 会议:稳定版源码质量优化;每项小回归、全部完成后完整三端联调 | 待续 |
| 2026-03-17 | 会议收尾:功能测试流程定稿、测试报告模板、开发环境 10 通过 2 跳过 | 已完成 |
| 2026-03-17 | 性能优化会议test_upload.py 6 用例;/health 可验证 database/redis部署后回归缓存接口 | 已完成 |
| 2026-03-18 | 文档归档整理:按界面驱动口径统一验收;补充分享 singlePage 降级与引导为必测项 | 已完成 |
| 2026-03-18 | 会议新增用例资料默认阻断支付、Person 自动创建幂等、昵称变更同步回归) | 已完成 |
| 2026-03-24 | 会议:开发进度同步;项目索引补齐;提现/登录/收益/推广设置用例补充singlePage、getPhoneNumber 边界 | 已完成 |
| 2026-03-24 | 会议三端闭环评审API 绕过负例与双入口提现回归待契约落地后执行 | 已完成 |
| 2026-03-31 | 会议:超级个体与 @ 列表融合;回归清单含排序/@/绑定/Webhook 边界 | 待续 |
| 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-24 | 玩值 P0 可重复步骤:`scripts/test/wz-playhub-p0.md`(点卡/直播/管理端核对 + `go build ./cmd/server` | 进行中 |
| 2026-04-30 | 会议Soul 三端 smoke路径前缀负例、`/api/miniprogram` 与 admin/db 分离);文档 `开发文档/Soul/三端路由与联调说明.md` | 进行中 |
---
**最后更新**2026-04-30

View File

@@ -0,0 +1,27 @@
# 玩值Wanzhi项目索引
真源进度看板:见 **`开发文档/玩值/进度-看板.md`**。本文件为橙子侧「开发进度」备查,与看板同步更新。
## 开发进度
| 日期 | 子项 | 内容摘要 |
|------|--------|----------|
| 2026-04-20 | wz-api | Go 模块名 `wz-api``GET /api/app/health``MIGRATION.md`部署脚本、Dockerfile 二进名对齐 |
| 2026-04-20 | wz-admin | React Router + Tailwind + 侧栏菜单与登录子页占位README |
| 2026-04-20 | wz-app | `utils/request.js`;首页联调 `/api/app/health`README |
| 2026-04-20 | .cursor | 玩值三智能体 + wz-* SkillsSoul 角色 agent 与 karuo-party 归档;总索引与 paths.py 更新 |
| 2026-04-20 | wz-app | 玩值小程序路径明确uni-app→mp-weixin`pages/login` 占位与首页入口README 微信小程序联调说明;看板/日志同步 |
| 2026-04-20 | wz-app | **策略**:主做 **H5**,后续 **App**小程序按需README/边界规则/wz-app-dev/看板/真源 README 已同步 |
| 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-appVite | 占位补齐Screen 接 dashboard+健康+build-info主播工作台/观众洞察接 streamer APIGuild 创建意向接 journeyMoments 评论本地态;删 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 | 收官续作清单落地 | `old/app` 点卡列表接 wz-api`live.ts` 房间 game 回退主播字段wz-admin 旅程筛选页、内容详情路由、大屏 MockSparkline、主播详情 isLive`scripts/test/wz-playhub-p0.md`;文档与 sync-log 同步 |
| 2026-04-24 | **交付真源决议** | 玩值新功能 **仅在 `new/wz-api`、`new/wz-admin`、`new/wz-app`**`old/` 仅对照;已同步 boundary、wz-app-dev、change-checklist、看板、三端清单、对照表头、wz-app README |
| 2026-04-27 | 三端迁移完成度会议 | 纪要 `meeting/2026-04-27_三端迁移完成度与文档同步.md`;结论「主迁移完成、全量对齐 ongoing」看板/三端清单/日志/团队与玩值 evolution 已同步 |
| 2026-04-28 | wz-admin 大屏 API 补齐 | `ScreenViewPage``GET /api/screen/data/dashboard`(失败回退);`wanzhiAdmin.ts``fetchScreenDashboardStats`wz-admin build 通过;看板与 2026-04-28 日志同步 |
| 2026-04-28 | wz-admin 实时区补齐 | `ScreenViewPage``GET /api/screen/streamers`;新增营收 TOP5 与城市分布 Top5`wanzhiAdmin.ts``fetchScreenStreamers`build 通过并同步看板 |
| 2026-04-30 | **new/wz-appC 端)** | 多块页面去 mock、接 catalog/真实 `/api/app/*`**用户可见文案**去除接口路径/Mongo/wz-api 等Skill `wz-app-dev` §7、`wanzhi-project-boundary` 补充;经验 `玩值移动端工程师/evolution/2026-04-30-wz-app目录对接与用户可见文案.md` |
最后更新2026-04-30

View File

@@ -0,0 +1,61 @@
# 管理端 - 项目索引
> 根据开发进度对项目做总结,保存开发进度,方便下次继续开发。**每次保存必须写日期**。
---
## 项目总结
管理端React + Vite + Tailwind主要功能用户管理、订单管理、提现审核、VIP 管理、内容/章节管理、配置项管理、数据统计。调用 `/api/admin/*``/api/db/*` 接口JWT Bearer 鉴权。
### 项目路径定义
| 版本 | 路径 | 说明 |
|------|------|------|
| **稳定版(主用)** | `soul-admin/` | 根目录,线上部署 |
| **新版(参考)** | `new-soul/soul-admin/` | 迁移时对照,含 ApiDocsPage 完整版、OSS region 等 |
---
## 开发进度
| 日期 | 摘要 | 状态 |
|------|------|------|
| 2026-02-26 | 项目索引初始化,.cursor 规则优化完成 | 已完成 |
| 2026-02-27 | 开发进度汇报:内容管理仅 API 按钮、推广中心、SetVipModal、VIP 角色管理、推广设置会员分润配置、VIP 排序等均已落地 | 已完成 |
| 2026-02-27 | 开发进度同步会议:进度已同步至运营与变更 | 已完成 |
| 2026-02-28 | stitch_soul 需求评审:待后端方案确定后规划章节/导师/会员/预约管理页面 | 待续 |
| 2026-03-05 | 分支冲突后功能完整性分析会议:全功能自测,记录 404/异常接口 | 待续 |
| 2026-03-05 | 文章详情@某人加好友方案讨论:编辑页插入 @用户、保存约定 content 格式 | 待续 |
| 2026-03-10 | 会议:管理端迁移 Mycontent-temp 新菜单/布局主导航收敛、author/admin 并入 Settings Tab | 待续 |
| 2026-03-10 | Toast 通知系统落地:创建 utils/toast.ts纯原生全系统 18 文件约 90 处 alert 全部替换为 toast.success/error/info | 已完成 |
| 2026-03-11 | 以界面定需求:管理端界面清单纳入《以界面定需求》,作为验收基准 | 已完成 |
| 2026-03-12 | ContentPage TypeScript 严格类型修复;关联小程序 key、@ 人物 token 设计(链接标签存 key、PersonItem.id=token | 已完成 |
| 2026-03-14 | 排名算法权重保存后刷新handleSaveRankingWeights 成功后 loadRanking + 关闭弹窗,列表立即更新 | 已完成 |
| 2026-03-16 | 乘风发起例行开发进度同步 | 已完成 |
| 2026-03-16 | 链接人与事table 布局、planId/apiKey 列、复制图标、删除 Dialog 弹窗 | 已完成 |
| 2026-03-16 | 会议new-soul 新需求与当前项目差异分析派对AI 不新增管理端需求 | 已完成 |
| 2026-03-17 | 会议:新版管理端迁移到稳定版实施方案确认;新版独有全部吸纳,内容管理以稳定版为主 | 已完成 |
| 2026-03-17 | 吸收新版管理端定义new-soul/soul-admin迁移 ApiDocsPage 完整版、OSS region、鉴权失败 clearAdminToken | 已完成 |
| 2026-03-17 | 修复 DistributionPage Order.description用户余额人工调整后端 adjust API + 用户详情入口);代付列表页(后端 gift-pay-requests + 推广中心 Tab | 已完成 |
| 2026-03-17 | 会议稳定版源码质量优化UserDetailModal 改 /api/admin/user/track、RichEditor HTML 转义 | 已完成 |
| 2026-03-17 | 会议收尾:源码优化已落地;开发环境测试通过 | 已完成 |
| 2026-03-17 | 性能优化会议OSS 配置后上传自动优先 OSS失败回退本地无需前端改动 | 已完成 |
| 2026-03-18 | 文档归档整理:按《以界面定需求》重整管理端功能需求与验收口径,写入角色经验库 | 已完成 |
| 2026-03-18 | 会议:超级个体开通后自动创建@人;管理端可选展示 userId/来源以便排查重名 | 已完成 |
| 2026-03-20 | 提现审核备注列fail_reason/error_message、自动审批开关推广设置提现手续费 | 已完成 |
| 2026-03-24 | 会议开发进度同步项目索引补齐DistributionPage Order.description 待修 | 已完成 |
| 2026-03-24 | 会议:三端闭环评审;管理端与小程序配套整体齐全;类型债择机修 | 已完成 |
| 2026-03-31 | 会议:超级个体与 @ 列表融合UsersPage 表格加 @ 状态与跳转内容页 | 待续 |
| 2026-04-02 | 会议工作进度与需求同步UsersPage 待接口字段就绪后联调deploy 文档基址与后端对齐 | 进行中 |
| 2026-04-13 | 会议:按功能同步开发文档;页面粒度记 admin/db 依赖;类型债排期入文档 | 进行中 |
| 2026-04-14 | 吸收沉淀MAINT-ADMIN-TS 入需求表;配置入口与运营与变更联动 | 进行中 |
| 2026-04-30 | 会议Soul 文档《逆推表》核对小程序模块与管理端入口;`VITE_API_BASE_URL``/api/admin` `/api/db` 约定见 `开发文档/Soul/三端路由与联调说明.md` | 进行中 |
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD状态用已完成 / 进行中 / 待续 / 搁置
---
**最后更新**2026-04-30
> soul-admin 构建仍有 DistributionPage Order.description 类型错误(与本次迁移无关),待修复。

View File

@@ -0,0 +1,51 @@
# 智能体技能&经验总索引
用途:让任何智能体在“开始实现或回答”之前,先快速匹配“有没有相关经验”和“应该用哪个 Skill”再综合处理。
**Soul 时期角色**(产品/测试/团队/安全/小程序/管理端/后端工程师)已迁至 **`.cursor/archive/agents-legacy-soul/`**,以下默认索引**不再**逐条展开其 evolution需要考古时直接打开归档目录内 `evolution/索引.md`
---
## 1. 经验索引(按角色)
- 助理橙子:`agent/开发助理/evolution/索引.md`
- 老板分身:`agent/老板分身/evolution/索引.md`
- **玩值 API 工程师**`agent/玩值API工程师/evolution/索引.md`
- **玩值管理端工程师**`agent/玩值管理端工程师/evolution/索引.md`
- **玩值移动端工程师**`agent/玩值移动端工程师/evolution/索引.md`
---
## 2. 技能索引(按任务类型/触发)
- **玩值 API**`skills/wz-api-dev/SKILL.md``new/wz-api`、玩值后端
- **玩值管理端**`skills/wz-admin-dev/SKILL.md``new/wz-admin`
- **玩值移动端 / C 端Vite+React in `new/wz-app`**`skills/wz-app-dev/SKILL.md`**`new/wz-app` 为交付主线****不叫「微信小程序」**`old/app` 仅对照
- Soul 小程序(归档期仍维护 `miniprogram/` 时):`skills/miniprogram-dev/SKILL.md`
- Soul 管理端(`soul-admin/``skills/admin-dev/SKILL.md`
- Soul 后端(`soul-api/``skills/api-dev/SKILL.md`
- 产品经理:`skills/product-manager/SKILL.md`(触发词仍可用;经验默认写入开发助理 evolution
- 测试:`skills/testing/SKILL.md`
- 助理橙子:`skills/assistant-doc-sync/SKILL.md`
- 团队会议:`skills/team-meeting/SKILL.md`
- 变更关联检查:`skills/change-checklist/SKILL.md`
- 跨端协同:`skills/role-flow-control/SKILL.md`
- 三端架构:`skills/three-tier-arch/SKILL.md`
- 新版/迁移分析:`skills/new-version-analyze/SKILL.md`
- next 预览:`skills/next-preview/SKILL.md`
- Next 拆解:`skills/next-split/SKILL.md`
- MySQL 直连:`skills/mysql-direct/SKILL.md`
- 安全运维:`skills/security-miner-guard/SKILL.md``skills/security-server-ops/SKILL.md`
- 飞书 Webhook`skills/feishu-webhook/SKILL.md`
- **卡若运营技能包(已归档)**:见 `.cursor/archive/skills-karuo-party/karuo-party/SKILL.md`
- **TS 原生编译跨平台评估**`skills/ts-native-cross-platform/SKILL.md` — Perry、RN/Flutter/Electron 技术选型对比
- **Cursor Agent 记录归档跨项目、Windows**`skills/cursor-agent-archive/SKILL.md``agent-transcripts` jsonl、仓库 `.cursor/agent` 镜像、脚本 `scripts/cursor-agent-archive/sync_cursor_agent_records.py`
---
## 3. 使用流程(任何智能体都照做)
1. 先归类:根据编辑目录或触发词判断“可能涉及哪些角色/任务类型”。
2. 再查经验:打开对应角色的 `evolution/索引.md`,找最近且最贴近的经验条目。
3. 再查技能:打开对应 Skill 的 `SKILL.md`,按其执行流程/约束落地。
4. 再综合:若命中多个条目,按“边界规则 + 变更闭环(如 change-checklist+ 必要的联动(如会议/跨端)”合并决策。

View File

@@ -0,0 +1,7 @@
# 玩值 API 工程师
- **绑定目录**`new/wz-api/`
- **主 Skill**`.cursor/skills/wz-api-dev/SKILL.md`
- **契约真源**`开发文档/玩值/迁移-API对照表.md``迁移-API前缀决议.md`
负责 Go 服务、路由分组(`/api/admin``/api/db``/api/app``/api/screen``/api/public`、GORM 模型与迁移脚本。

View File

@@ -0,0 +1,8 @@
# 2026-04-20 玩值迁移 - 经验吸收摘要
从 Soul/团队经验中抽取、**去掉 Soul 业务专有名词**后适用于玩值 API 的条目:
1. **路由按使用方分组**:管理端与 C 端路径前缀分离,共用逻辑可复用 handler 但须分别注册(与 wz-api-dev 一致)。
2. **GORM 变更闭环**model → AutoMigrate 或 scripts SQL → handler → router → 开发文档对照表状态更新。
3. **列表接口**:分页参数 `page`/`pageSize`、返回 `total` 等与前端约定写进对照表,避免联调返工。
4. **Mongo→MySQL**:以《迁移-数据模型.md》为真源先表结构再写接口避免无表实现。

View File

@@ -0,0 +1,17 @@
# 2026-04-22 TS 原生编译跨平台吸收Perry
## 场景
分析《RN、Flutter、Electron全被 TS 一锅端了!》后,提炼可用于玩值后端协同的工程能力。
## 吸收结论
1. 跨平台技术选型不能只比“开发效率”,必须并列评估冷启动、内存、包体和构建时长。
2. TS 直编原生Perry路线强调“无运行时壳层”适合对启动性能敏感的客户端场景。
3. 后端应先提供稳定契约,减少客户端编译路线试验阶段带来的反复联调成本。
4. 评估必须先做 POC真实页面 + 真实接口),再决定是否进入生产路线。
## 对 Skill 的影响
- 联动 `skills/ts-native-cross-platform/SKILL.md` 作为选型评估标准。
- 同时影响:`wz-admin``wz-app`

View File

@@ -0,0 +1,12 @@
# 玩值 API 工程师 - 2026-04-23
## App 点卡C 端)
- 新增 `GET /api/app/mall/point-cards``GET /api/app/mall/point-cards/:cardId`:仅返回 `status=active``stock>0`(若存在 stock 字段)的 SKUDTO 不含内部全量 JSON。
- 新增 `POST /api/app/orders/point-card`:鉴权 `playhubAppUserID`,写入 `wzstore.CollPointCardOrders`,字段含 `orderNo``userId``game``faceValue``quantity``totalAmount``status=pending`,与 `playhub_aggregate` 点卡订单一致。
## 管理端
- 新增 `GET /api/admin/wz/live/rooms/:roomId`:与列表同集合 `liveRooms`,便于管理端详情页直查。
注册位置:`internal/handler/playhub_wz_register.go``RegisterPlayhubAppPlayhubRoutes` / `RegisterPlayhubWzAdminRoutes`)。

View File

@@ -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 / 版本是否写入公共响应(与运维协同)。

View File

@@ -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)`)便于与终端联调时核对二进制与文档是否一致。

View File

@@ -0,0 +1,3 @@
# 玩值 API 工程师 经验 - 2026-04-27
- 会议结论:`new/wz-api` 在**分组、P0 域、对照表登记**上属主迁移**已完成**;未实现/未登记行随域迭代,不等同于「迁移未开始」。

View File

@@ -0,0 +1,10 @@
# 玩值 API 工程师 - 经验索引
| 日期 | 主题 |
|------|------|
| 2026-04-27 | [三端迁移完成度会议](2026-04-27-三端迁移完成度会议.md) |
| 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) |

View File

@@ -0,0 +1,9 @@
# 玩值移动端工程师(`new/wz-app`Vite + React
- **称谓**:本角色负责 **玩值用户侧移动端 / H5 C 端****不叫「微信小程序」或「Soul 小程序智能体」**;后者指归档内的 **Soul `miniprogram/`**
- **绑定目录(主线)****`new/wz-app/`**(唯一新功能交付)
- **对照/考古**`old/app/``old/components/` — 仅核对漏页、漏接口,非真源
- **主 Skill**`.cursor/skills/wz-app-dev/SKILL.md`
- **API 前缀**`/api/app/*`(见 `开发文档/玩值/迁移-API前缀决议.md`
不维护 Soul 微信原生 `miniprogram/`(另有「小程序开发工程师」归档角色)。

View File

@@ -0,0 +1,8 @@
# 2026-04-20 玩值迁移 - 经验吸收摘要
从原小程序/团队经验中可迁移到 **uni-app** 的概念(非 WXML 语法):
1. **登录与票据**uni 存储 token请求头携带方式与 wz-api `/api/app` 约定一致;登出清理本地态。
2. **支付/微信能力**:用 `uni.requestPayment` 等与后端回调 URL 对齐;错误提示用户可理解文案。
3. **契约双写**:任何新接口同步《迁移-API对照表》与进度看板避免「前端写了路径后端未挂」。
4. **垂直切片**:一用户旅程(如登录→列表→详情)尽量同迭代内闭环 API + 页面。

View File

@@ -0,0 +1,17 @@
# 2026-04-22 TS 原生编译跨平台吸收Perry
## 场景
针对移动端跨平台路线,提炼 TS 直编原生能力评估要点。
## 吸收结论
1. RN 的 Bridge、Flutter 的自绘体系、Perry 的原生二进制是不同权衡,不能用单一指标决策。
2. 选择 Perry 时要确认团队是否接受“各平台原生 UI 差异”,并提前制定 UI 规范边界。
3. 优先验证登录、支付、消息推送等强原生能力链路,避免只在静态页面得出乐观结论。
4. Windows/macOS/Linux 工具链准备属于前置门槛,未满足前不进入正式排期。
## 对 Skill 的影响
- 启用 `skills/ts-native-cross-platform/SKILL.md` 作为跨平台方案评估模板。
- 同时影响:`wz-api``wz-admin`

View File

@@ -0,0 +1,6 @@
# 2026-04-22 wz-app UnoCSS + custom-tab-bar + 主题对齐
- **问题**Vite 以 CJS 读 `vite.config.js``unocss/vite` 为纯 ESM加载失败`vite.config.mjs` 中 ESM 默认导入 `@dcloudio/vite-plugin-uni` 得到非函数。
- **处理**:将配置改为 `vite.config.mjs`,用 `createRequire(import.meta.url).default` 引入 uni 插件Uno 置于 uni 前。
- **H5 底栏选中态**`page.getTabBar` 在部分 H5 环境不可靠,在 `custom-tab-bar` 内对 H5 做 `getCurrentPages` 短轮询同步 `selected`;小程序仍走各页 `syncTabBarSelected`
- **补充**H5 开发时若 `import 'virtual:uno.css'` / `import 'uno.css'`**main.js 或 App.vue**`Failed to resolve import`uni 对入口的 import 分析与 Vite 虚拟模块顺序问题),最终采用 **`postcss.config.mjs` + `@unocss/postcss`**,在 **`src/styles/wz-theme.css` 文件首行写 `@unocss;`**,由 `App.vue``@import` 该 CSS**不要**再使用 `unocss/vite` 插件(与当前 uni 链二选一)。`uno.config.js` 需加 `content.filesystem` 扫描 `src/**/*.vue` 等。

View File

@@ -0,0 +1,14 @@
# 玩值移动端工程师 - 2026-04-23
## 路由
- `/live/:streamerId` 放在 `RequireAuth` 下且**不**包 `AppShell`,避免与全屏底栏/输入条与 Tab 底栏叠层。
- `/mall/points``MallPointsPage``GET /api/app/mall/point-cards`,购买调 `POST /api/app/orders/point-card`
## 直播
- `LivePage`context、评论轮询 5s、礼物、评论发送`MomentsPage` 顶部 API 主播条 + 静态 feed 中 `goLive``apiStreamers` 映射 24 位 `streamerId`
## 首页点卡
- `getMallPointCards` 有数据时展示真实 SKU 横滑,无则回退静态块;统一点进 `/mall/points`

View File

@@ -0,0 +1,23 @@
# 2026-04-24 — wz-app 占位补齐与 wz-api 对接
## 场景
`new/wz-app`Vite + React按「占位补齐与团队开发指挥计划」消除纯占位页与核心演示态并与 wz-api 契约对齐。
## 结论 / 做法
1. **大屏 `/screen`**`ScreenPage`**`GET /api/screen/data/dashboard`** 展示聚合统计,并联 **`GET /api/app/health`**、**`GET /api/public/build-info`**失败时明确错误提示与刷新。C 端只读,完整运营多屏仍在 wz-admin。
2. **主播域**`StreamerStudioPage`**`GET /api/app/streamer/me`** 同步状态,**`POST /api/app/streamer/live`** 开/关播,**`GET /api/app/streamer/live/cloud`** 取推拉流占位 URL非已审主播引导「申请大神」。`StreamerAudiencePage`**`GET /api/app/streamer/audience-insights`** 展示旅程事件汇总与列表。
3. **公会**`GuildListPage` 新晋/排行榜用数据填充;「创建公会」弹窗提交 **`POST /api/app/analytics/journey-events`**(如 `guild_create_intent`),封装在 **`new/wz-app/src/lib/journey.ts`**`sessionId` / `clientEventId` / `source: h5`,未登录补 `anonymousId`)。
4. **社区**`MomentsPage` 评论为**会话内本地列表**,全站持久化需后续 C 口;`ZoneDetailPage` 四宫格改为真实路由跳转;`StarDetailPage` 分享为复制主页链接。
5. **API 封装**:集中在 **`new/wz-app/src/api/app.ts`**(含 `screenDataDashboard``publicBuildInfo``appStreamerMe`、live、cloud、audience-insights**禁止** C 端调 `/api/admin/*`
6. **收尾**:删除未再引用的 `StackStubPage` / `ParamStubPage`;更新 `MIGRATION.md`、路由映射、**`开发文档/玩值/迁移-API对照表.md`**、**`进度-看板.md`**`npm run build` 通过。
## 待续
- 动态评论落库:需新增 **`/api/app/*`** 评论接口后再接 `MomentsPage`
- 观众洞察:当前为旅程事件简化版;若产品要「按观众维度」指标,需 API 扩展与管理端配置。
## 升级 Skill
- `wz-app-dev`:补充 **new/wz-app** 下 Vite 请求层、只读大屏与旅程埋点例外、主播接口清单。

View File

@@ -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:次线能力是否抬主线由产品+乘风定。

View File

@@ -0,0 +1,3 @@
# 玩值移动端工程师 经验 - 2026-04-27
- 会议结论:`new/wz-app` 为 C 端真源、主能力已接;**路由映射 / build / 对照表硬验收** 为持续工作,与「新栈已承接迁移」并行表述。

View File

@@ -0,0 +1,17 @@
# 2026-04-30 wz-app 去 Mock直播流/CP/商城商品/派对礼物
## 问题
C 端仍存在硬编码列表(直播推荐 `mixedFeed``MOMENTS_BY_ID`、CP、`MallPage` 装扮与礼物、派对 `GIFTS`),与线上玩值数据不一致。
## 处理
- **直播 Tab `/moments`**`GET /api/app/streamers` 映射竖滑卡片;详情 `/moments/:id` 使用 `getStreamerById`/`useStreamer`
- **CP `/cp`**:列表与详情改为 `GET /api/app/stars``GET /api/app/stars/:id`;无性别字段时 Tab 用文案「偏女声向/偏男声向」+ 标签粗分。
- **商城 `MallPage`**`GET /api/app/products` + `mall-product-buckets` 分装扮/礼物/福利;无数据给用户向空态。
- **派对详情送礼**:礼物列表同源 `products` 分桶中的 gift 类。
- **文案**去掉「占位价」「仅本地演示」「WebSocket」等用户可见技术表述主播工作台云说明改为产品向。
## 规则
无独立 Feed 接口前,直播推荐与 streamers 列表对齐;商品分桶依赖后台 `category`/`name` 关键词,需在管理端规范命名以便归类。

View File

@@ -0,0 +1,48 @@
# 2026-04-30 — wz-app 目录接口去 mock 与用户可见文案规范
## 场景
玩值 C 端 `new/wz-app` 从硬编码/mock 清单迁到 **`/api/app/*`** 真实数据(与 `wz-api` Mongo 目录只读口径一致);随后发现 **空态/副标题/Tost** 中写了 `GET /api/...`、Mongo 集合名、`wz-api` 等,**会直接出现在用户界面**,体验与合规不达标。
## 结论 / 做法
### 1. 数据来源与封装
- **目录只读**:统一走 **`src/api/catalog.ts`**`skipAuth: true` 的列表/详情:`guilds``venues``products``content/items``stars``game-accounts``leveling/products``party/rooms` 等),与后端 `playhub_*_wz_app_*` 注册路由对齐。
- **已有专项封装**:主播列表 `streamers.ts`;游戏分区 `games.ts`;点卡 `mall.ts`。**新 C 口子先查对照表再在 `catalog` 或独立模块补齐**,避免页面内手写 `fetch`
### 2. 移除 mock 的边界
- **能接库的页**guild/venue/mall/companion/coach/course/star部分/planet 派对 Tab/派对详情/专区/星球匹配等,优先 **加载态 + 空态**,不要保留假卡片当「演示」。
- **尚无 C 口的域**:车队列表、部分社交流等用 **简短用户向说明**(如「暂未开放」「敬请期待」),**不写**「无 C 端列表接口」一类开发话术。
- **主播工作台 / 大屏 `/screen`**:仍可能偏运营,但也要避免把 **路径字符串**、**栈名** 摆在标题或正文里。
### 3. 用户可见文案(强制)
以下 **禁止** 出现在用户在 `new/wz-app` 能看到的任何 UI含 Toast `description`、页面脚注、大屏说明)——接口说明应写在 **`开发文档/玩值/迁移-API对照表.md`** 或代码注释:
- HTTP 方法与路径字面量:`GET /api/app/...``/api/admin/...`、反引号路径
- 内部实现词:`Mongo``collection``wz-api``contentItems``ext_id``埋点``streamerId`(除类型安全的代码字段名外)、`Vite 代理``SKU`/`福禄` 等供应链内部词
- 空态:**用产品语言**,例如「暂时没有可展示的点卡,请稍后再来」,**不要** 「暂无数据 · 接口 xxx」
**允许**`npm run build`、PR 描述、`.md` 文档、**仅开发者可见**的注释。
### 4. 全局报错
- `request.ts` 等在 **502/非 JSON** 时抛给用户看的 Error 文案仍可能偏技术;后续若产品上要求「一律温和提示」,再在请求层统一映射(本次未改层,规则先记在 Skill
### 5. Gotchas
- **TS**:空态重置 `messages` 等状态时,若有 `system`/`user` 联合类型,`useState` 需显式 **`ChatMsg[]`**,否则会收窄类型报错。
- **地图/列表**:传给弹层的参数用 **VenueRow**`{ name, lat, lng }` 分清,不要将「城市默认定位」伪造成 `VenueRow`
- **索引号**`guild.id` 等对用户可称「公会编号」,避免写 **Mongo ext_id**
## 升级 Skill / 规则
- `.cursor/skills/wz-app-dev/SKILL.md`:新增 **「用户可见文案」**专节。
- `.cursor/rules/wanzhi-project-boundary.mdc`**玩值 C 端**界面禁止暴露接口路径与技术栈内幕(与 Skill 呼应)。
## 待续
- 剩余页面若有 mock装扮、路演、活动等按需接 API 或统一空壳。
- 可选:`request.ts` 对用户可见错误做一次 **文案脱敏映射**

View File

@@ -0,0 +1,13 @@
# 玩值移动端工程师 - 经验索引
| 日期 | 主题 |
|------|------|
| 2026-04-30 | [wz-app 去 mockstreamers/stars/products 对接](2026-04-30-wz-app去mock接streamers-stars-products.md) |
| 2026-04-30 | [wz-app 目录对接与用户可见文案规范](2026-04-30-wz-app目录对接与用户可见文案.md) |
| 2026-04-27 | [三端迁移完成度会议](2026-04-27-三端迁移完成度会议.md) |
| 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) |
| 2026-04-22 | [TS原生编译跨平台吸收Perry](2026-04-22-TS原生编译跨平台吸收.md) |
| 2026-04-20 | [玩值迁移-吸收](2026-04-20-玩值迁移-吸收.md) |

View File

@@ -0,0 +1,7 @@
# 玩值管理端工程师
- **绑定目录**`new/wz-admin/`
- **主 Skill**`.cursor/skills/wz-admin-dev/SKILL.md`
- **脚手架参考**`soul-admin/`(同栈复制后改环境变量与路由)
仅对接 wz-api 的 `/api/admin/*``/api/db/*`

View File

@@ -0,0 +1,8 @@
# 2026-04-20 玩值迁移 - 经验吸收摘要
从管理端/团队经验抽取:
1. **仅 admin/db 路径**:与 wz-api 的 `/api/app` 严格隔离client 统一封装 Token。
2. **列表页**分页、搜索防抖、loading、空状态、错误条禁止 `alert`,统一 Toast。
3. **TypeScript**:可选字段用 `??` 兜底API 响应类型与后端字段对齐,避免 `undefined` 流入 UI。
4. **文档**:每页依赖的 API 在《迁移-API对照表》与进度看板登记联调状态。

View File

@@ -0,0 +1,17 @@
# 2026-04-22 TS 原生编译跨平台吸收Perry
## 场景
基于 Perry 路线文章,沉淀管理端在桌面/跨端方案上的评估能力。
## 吸收结论
1. Electron 方案开发快但资源占用高,需在管理端高并发使用场景下重点测内存与启动速度。
2. RN/Flutter/Perry 属于不同层级方案评审时必须拆成“UI 框架”和“语言编译路线”两类比较。
3. Perry 路线若采用,应先验证真实业务页面,不以 Demo 结论直接替代生产结论。
4. 桌面端优先以“启动时间、包体、崩溃率、构建时间”四指标做里程碑门禁。
## 对 Skill 的影响
- 使用 `skills/ts-native-cross-platform/SKILL.md` 统一技术选型口径。
- 同时影响:`wz-api``wz-app`

View File

@@ -0,0 +1,10 @@
# 玩值管理端工程师 - 2026-04-23
## 直播房间详情
- `LiveDetailPage` 优先请求 `GET /api/admin/wz/live/rooms/:id``fetchLiveRoomById`),失败再回退从 `fetchLiveRooms` 列表匹配。
- API 见 `new/wz-admin/src/api/wanzhiAdmin.ts`
## 点卡
- 既有 `GET /api/admin/wz/points/cards` 与同步接口不变C 端订单可在 `points/orders` 查看。

View File

@@ -0,0 +1,15 @@
# 玩值管理端工程师 - 2026-04-24 会议经验
## 会议
玩值全项目进度与三端缺口(纪要:`.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md`)。
## 要点
- P0 域从「有路由+列表」提升为**列表+详情+关键状态/备注**,与 playhub 字段对齐ResourceListPage 仅作起步。
- 继续按《三端对齐项目清单》剔除管理页手机预览内嵌。
- 验收引用:`开发文档/玩值/三端对齐项目清单.md` 矩阵、旧 `old/app/admin/**` 结构对照。
## 待跟进
- P1大屏 `view` 全量迁旧、非 P0 域可后置。

View File

@@ -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 实施注记。

View File

@@ -0,0 +1,3 @@
# 玩值管理端工程师 经验 - 2026-04-27
- 会议结论wz-admin **骨架与主域**已迁;**大屏 view**(地图、实时区、投资卡等)及与 playhub 字段对齐为 **ongoing**,不属「主迁移未完成」的否定项。

View File

@@ -0,0 +1,10 @@
# 玩值管理端工程师 - 经验索引
| 日期 | 主题 |
|------|------|
| 2026-04-27 | [三端迁移完成度会议](2026-04-27-三端迁移完成度会议.md) |
| 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) |

View File

@@ -0,0 +1,4 @@
# 老板分身 经验索引
| 日期 | 摘要 | 文件 |
|------|------|------|

116
.cursor/apifox-mcp-setup.md Normal file
View File

@@ -0,0 +1,116 @@
# Apifox MCP 配置说明
已在 Cursor 的 `mcp.json` 中添加 Apifox MCP 配置,你需要根据使用场景填写对应参数。
## 前置条件
- Node.js >= 18
- Apifox 版本 >= 2.7.2(若使用项目/文档站)
---
## 方式一:项目 ID + 访问令牌(推荐,团队私有文档)
适用于:读取自己团队 Apifox 项目内的 API 文档。
### 1. 获取项目 ID
- 打开 Apifox 项目
- 左侧边栏 → **项目设置****基本设置**
- 复制「项目 ID」
### 2. 获取访问令牌
- Apifox 右上角头像 → **账号设置****API 访问令牌**
- 创建新的 API 访问令牌并复制
### 3. 修改 mcp.json
编辑 `C:\Users\29195\.cursor\mcp.json`,将 Apifox 配置中的占位符替换为实际值:
```json
"Apifox": {
"command": "npx",
"args": [
"-y",
"apifox-mcp-server@latest",
"--project-id=你的项目ID"
],
"env": {
"APIFOX_ACCESS_TOKEN": "你的访问令牌"
}
}
```
---
## 方式二Site ID公开发布的文档
适用于:读取已公开发布的 API 文档站,无需令牌。
### 1. 获取 Site ID
- Apifox 项目内:**分享文档** → **发布文档站****AI 功能**
- 开启 MCP 服务,复制生成的 `site-id`
### 2. 修改 mcp.json
将 Apifox 配置改为使用 `--site-id`,并移除 `env`
```json
"Apifox": {
"command": "npx",
"args": [
"-y",
"apifox-mcp-server@latest",
"--site-id=你的SiteID"
],
"env": {}
}
```
---
## 方式三OpenAPI/Swagger 文件
适用于:本地或线上的 OpenAPI/Swagger 文档,不依赖 Apifox 项目。
```json
"Apifox": {
"command": "npx",
"args": [
"-y",
"apifox-mcp-server@latest",
"--oas=https://example.com/openapi.json"
],
"env": {}
}
```
本地文件示例:`--oas=E:/path/to/openapi.json`
---
## 私有化部署
若使用 Apifox 私有化部署,需在 `args` 中增加:
```
"--apifox-api-base-url=https://你的私有化服务器地址"
```
---
## 生效方式
修改 `mcp.json` 后,重启 Cursor 或重新加载 MCP 服务即可。
## 使用示例
配置完成后,可对 AI 说:
- 「通过 MCP 获取 API 文档,然后生成 Product 及其相关模型的定义代码」
- 「根据 API 文档,在 Product DTO 里添加 API 文档新增的几个字段」
- 「根据 API 文档,生成接口 /users 相关的所有 MVC 代码」
文档有更新时,可提示 AI「刷新接口文档数据」。

View File

@@ -0,0 +1,3 @@
# 历史归档
存放已归档的文档、分析报告等。

View File

@@ -0,0 +1,13 @@
# 已归档Soul 派对时期角色智能体
2026-04-20 玩值三端迁移后,主仓库 `.cursor/agent/` 仅保留 **开发助理(橙子)**、**老板分身(乘风)** 与 **玩值三项目智能体**。下列目录为原 Soul 角色经验与脚本的完整搬迁,供查阅,**不再作为默认索引入口**。
- `产品经理/`
- `软件测试/`
- `团队/`
- `安全工程师/`
- `小程序开发工程师/`
- `管理端开发工程师/`
- `后端工程师/`
新开发请查 `agent/玩值*``开发文档/玩值/`

View File

@@ -0,0 +1,5 @@
# 2026-02-26 | 产品经验
> 本日经验条目,格式:类型 | 摘要 | 升级 Skill
---

View File

@@ -0,0 +1,19 @@
# 产品经理 经验记录 - 2026-02-28
## stitch_soul 需求评审会议
- **stitch_soul 串联「内容→会员→导师」变现路径**:临时需求池 10 个稿子覆盖目录、导师、会员、首页、资料编辑,需在正式需求文档中明确 73 章、导师、案例库、会员的业务定义与验收标准。
- **待澄清项**73 章与现有内容库是否同一套;导师与内容作者是否同一人;「案例库」是独立内容池还是章节分类;会员权益与价格策略。
- **优先级建议**:首页/目录/会员 > 导师列表/详情 > 资料编辑。
## 个人资料页实现评估会议
- **展示/编辑页一致性**展示页enhanced_professional_profile与编辑页comprehensive_profile_editor_v1_1需字段一一对应、配色统一。
- **skills「我擅长」**:展示页已有,编辑页必须补充;验收时确认两页数据一致。
## 文章类型(普通版/增值版)需求分析会议
- **普通版**9.9 元买断,与现有 fullbook 一致。
- **增值版**:基础价 + 后 N 章N 可配置)按章额外付费;每购一章价格累加该章单价。
- **已确认**:普通版与增值版**分开、互斥**,用户购买其一,非叠加。
- **待输出**:增值版基础价是否固定 9.9N 默认值。

View File

@@ -0,0 +1,12 @@
# 产品经理 经验记录 - 2026-03-05
## 分支冲突后功能完整性分析会议
- **分支冲突后需优先核对需求文档与实现一致性**:避免「文档在合并中丢失」导致需求与实现脱节。重点核对 `开发文档/1、需求/``临时需求池/` 与当前实现是否一致。
- **重点确认项**:个人资料页、增值版/普通版计价、找伙伴联系方式完善弹窗等近期需求是否按文档落地。
## 文章详情 @某人 高亮与一键加好友方案讨论
- **需求**:文章中支持 @某人,名称高亮、点击添加好友;编辑侧能插入 @用户并落库(含用户 id
- **验收**:详情页 @ 高亮可点击;点击调起添加好友并提示;管理端插入 @ 后保存再编辑不错位。
- **待确认**:添加好友接口 path、入参/出参及业务规则(已是好友、重复请求等);开发文档中接口放置位置。

View File

@@ -0,0 +1,13 @@
# 产品经理 经验记录 - 2026-03-10
## 管理端迁移 Mycontent-temp信息架构与验收口径
- **主导航收敛**:侧栏只保留运营主链路 5 项(概览/内容/用户/找伙伴/推广),系统设置固定在底部;其余能力不删除但不占主导航入口。
- **入口承载策略**:非主菜单页面(订单/提现/推广设置/VIP角色/导师等)通过“概览卡片/页面内按钮/系统设置 Tab”进入确保可达且路径更短。
- **验收标准**
- 菜单与布局一致(新规范)
- 隐藏页面路由仍可访问(功能不丢)
- author/admin 设置统一在 `/settings?tab=...` 承载,旧路径可兼容跳转
> 详见会议纪要:`.cursor/meeting/2026-03-10_管理端迁移Mycontent-temp菜单布局讨论.md`

View File

@@ -0,0 +1,7 @@
# 产品经理 经验记录 - 2026-03-11
## 需求基准:以界面定需求
- 需求与验收以《开发文档/1、需求/以界面定需求》为准;新增/变更功能时先对齐界面再更新《需求汇总》需求清单。
- 小程序与管理端界面清单、主要接口、业务逻辑对齐(用户/VIP 资料展示、三端 API 边界等)已落档,作为验收基准。
- 详见团队共享:`agent/团队/evolution/2026-03-11.md`

View File

@@ -0,0 +1,7 @@
# 产品经理 经验记录 - 2026-03-16
## new-soul 派对AI 与 Mycontent 定位差异会议new-soul 新需求与当前项目差异分析)
- **new-soul 派对AI**:内容运营侧 AI 助手服务于《一场soul的创业实验》的派对→录屏→剪辑→成片→分发→文章→小程序全链路
- **当前 Mycontent**:产品侧,面向创业者的社区/工具型小程序,核心是内容→会员→导师变现、存客宝对接、分销等
- **结论**:两者是同一业务的不同层面(运营 vs 产品),互补非替代

View File

@@ -0,0 +1,13 @@
# 产品经理 经验记录 - 2026-03-17
## 稳定版源码质量优化会议2026-03-17
- **验收标准**:优化后现有功能行为不变,三端联调通过
- **优先级**:高优(安全)→ 中优(可维护)→ 低优(性能/结构)
- **原则**:源码质量优化按安全→可维护→性能分批,用户无感知
---
## 会议收尾2026-03-17
- 10 项优化全部完成;测试流程与报告模板已定稿;开发文档已同步

View File

@@ -0,0 +1,38 @@
# 产品经理 经验记录 - 2026-03-18
## 文档归档与需求口径(界面驱动)
### 需求基准(验收口径)
- **需求以界面为准**:以 `开发文档/1、需求/以界面定需求.md` 的“界面清单 + 业务逻辑对齐”为验收基准。
- **需求清单与变更记录**
- 需求清单:`开发文档/1、需求/需求汇总.md`
- 近期讨论/决议:`开发文档/10、项目管理/运营与变更.md`
- 里程碑执行层:`开发文档/10、项目管理/项目落地推进表.md`
### 归档原则(避免文档发散)
- 新增/改版功能必须同步更新:
- 《以界面定需求》(界面与主要接口)
- 《需求汇总》(需求清单条目:日期/描述/状态/备注)
- 《运营与变更》(决议与实现摘要)
- 旧方案文档若已过时:在 `开发文档/README.md` 的“已移除文档”里登记清理原因,避免重复讨论。
### 功能需求整理(按产品域)
- **内容阅读与付费**预览与解锁规则、VIP 全章免费、余额支付与微信支付链路、阅读统计与埋点。
- **代付分享**:发起人支付后分享;好友打开阅读页自动领取并解锁;发起人可查看领取进度与明细。
- **推广分销与提现**:分润规则可配置(会员 20%/非会员 10%、内容 90%)、提现闭环(申请→审核/打款→回写→订阅消息)。
- **找伙伴/存客宝**@mention/#标签自动创建与同步;留资与匹配流程;限频与风控边界。
### 分享场景强约束(验收必测)
- **好友分享 vs 朋友圈分享singlePage**
- 朋友圈进入可能是单页模式,页面能力不完整
- 验收必须覆盖:单页模式不触发支付/自动领取等强动作,且明确引导“前往小程序”进入完整版
## 超级个体开通后自动创建@人与资料引导(会议决议)
### 业务目标与规则
- **自动创建 @人**:用户开通超级个体后,管理端「链接人与事」自动创建一条 Person 记录,展示名与用户**当前昵称一致**。
- **资料完善拦截**:支付超级个体前若昵称/头像为默认值,必须引导至仅头像+昵称的引导页完成修改;开通后进入权益/成功页也需再次检测兜底。
### 待确认
- 昵称变更后的同步规则:是否强制同步更新 Person.name是否需要保留历史别名/展示区分。

View File

@@ -0,0 +1,16 @@
# 产品经理 经验记录 - 2026-03-24
## 开发进度同步会议
### 文档同步原则
- 实现变更后需同步更新:《需求汇总》《运营与变更》及对应角色项目索引。
- 项目索引「最后更新」应与实际变更日期一致,避免滞后。
### 当前状态
- 2026-03-20 需求(提现、我的收益、推广设置等)已与实现对齐。
- 主需求、落地推进表已基本同步;项目索引已补齐至 2026-03-24。
## 需求与进度及三端闭环评审
- 区分「用户主路径闭环」与「规则/风控闭环」;后者缺口见《产品意图与功能闭环分析》,用清单驱动排期而非推翻里程碑。
- 待确认VIP 支付前是否强制完善头像昵称(与当前 vip.js 策略二选一)。

View File

@@ -0,0 +1,6 @@
# 产品经理 经验记录 - 2026-03-31
## 会议:超级个体列表与 @ 列表融合
- 超级个体VIP 曝光)与 @ 人物(内容引用)应视为同一业务的两面;融合优先统一运营心智与验收口径,再决定 UI 是否单页。
- 一期验收需明确:无 @ 人物的有效 VIP 的提示策略、管理端跳转路径是否满足运营闭环。

View File

@@ -0,0 +1,7 @@
# 产品经理 经验记录 - 2026-04-02
## 会议:工作进度与需求同步会
- **场景**4 月初全员同步进度,衔接 2026-03-31 超级个体与 @ 列表融合待办。
- **要点**融合类需求需同步明确「一期验收口径」UsersPage @ 状态、列表入口是否收敛),并写入需求汇总/运营与变更,避免实现先行、验收滞后。
- **待办**:问题与作答区 Q1 由产品补充作答后闭环。

View File

@@ -0,0 +1,6 @@
# 产品经理 经验记录 - 2026-04-13
## 会议:按功能同步开发文档
- **要点**:以可验收功能点为最小同步单位;主需求与《以界面定需求》为验收真源;跨端规则变更须同时更新需求清单状态与优先级。
- **待办**:核对 2026-04-02 以来实现与文档差异vip-members/融合一期验收口径在需求文档中单点定稿。

View File

@@ -0,0 +1,7 @@
# 产品经理 经验记录 - 2026-04-14
## 吸收沉淀:同步开发需求
- **需求清单**:在 `开发文档/1、需求/需求汇总.md` 维护编号行SYNC / LOOP / MAINT 等),状态与责任角色与纪要待办一致。
- **验收绑定**:功能完成 = 实现可合并 + **需求表或项目索引当日一行**;跨端规则须在需求或运营与变更中单点写清优先级。
- **管理端必要性**:沿用产品 Skill — 纯文案/纯视觉可不建管理端;**配置/开关/审核/统计** 必须显式在需求表标「管理端入口」避免壳功能。

View File

@@ -0,0 +1,10 @@
# 产品经理 经验索引
| 日期 | 摘要 | 文件 |
|------|------|------|
| 2026-03-05 | 分支冲突后需求文档与实现一致性核对 | [2026-03-05.md](./2026-03-05.md) |
| 2026-03-05 | 文章详情@某人高亮与一键加好友验收标准与待确认 | [2026-03-05.md](./2026-03-05.md) |
| 2026-03-10 | 管理端迁移 Mycontent-temp主导航收敛与隐藏页面入口承载策略 | [2026-03-10.md](./2026-03-10.md) |
| 2026-03-24 | 开发进度同步会议:文档同步原则、项目索引补齐 | [2026-03-24.md](./2026-03-24.md) |
| 2026-04-13 | 按功能同步开发文档会议:验收与需求真源、功能完成定义 | [2026-04-13.md](./2026-04-13.md) |
| 2026-04-14 | 吸收沉淀:需求汇总表维护、验收与管理端必要性 | [2026-04-14.md](./2026-04-14.md) |

View File

@@ -0,0 +1,5 @@
# 2026-02-26 | 后端经验
> 本日经验条目,格式:类型 | 摘要 | 升级 Skill
---

View File

@@ -0,0 +1,23 @@
# 后端开发 经验记录 - 2026-02-28
## stitch_soul 需求评审会议
- **现有基础**soul-api 已有 chapter、book、vip 模型;导师能力需新建或扩展现有 match 体系(现有 mentor 为 match 类型,非独立导师实体)。
- **待设计**:导师列表/详情/搜索筛选、预约单、会员权益与预约支付打通;接口挂 `/api/miniprogram/*`
- **协同**:与产品核对 chapter/book/vip 现状后,给出导师/预约/会员权益的模型与接口方案。
## chapter/book/vip 模型补充(问题 5 作答)
- **chapters 表**每行一节id 如 1.1/prefacepart/chapter/section 三层73 章=行数统计。
- **book**:无独立表,= chapters 聚合;接口 `/api/book/all-chapters``/api/book/chapter/:id`
- **vip**vip_roles 配置角色users 存 is_vip/vip_expire_date 等;权益优先 users无则 orders 兜底¥1980。
## 个人资料页实现评估会议
- **profile API**`GET/POST /api/miniprogram/user/profile` 已覆盖 skills 等全部扩展字段;无需新增接口。
## 文章类型(普通版/增值版)需求分析会议
- **premium_config**system_config 新增 premium_base_price、premium_chapter_count后 N 个 section
- **增值章节购买**:沿用 product_type=section、product_id=section_id金额为 chapters.price。
- **purchase-status 扩展**:需返回 editionType、premiumPurchasedSections 等。

View File

@@ -0,0 +1,13 @@
# 后端工程师 经验记录 - 2026-03-05
## 分支冲突后功能完整性分析会议
- **soul-api 被 gitignore 时**:需在 soul-api 所在位置单独确认 git 状态与合并情况,无法从本仓库直接检查。
- **重点核对接口**`/api/miniprogram/orders`(购买记录)、`/api/db/distribution`(分销)是否已实现并挂载到对应路由组。
- **建议**:对照「三端需求业务对齐」文档逐项核对接口注册与实现;明确 soul-api 的版本管理与合并策略。
## 文章详情 @某人 高亮与一键加好友方案讨论
- **内容存储**:推荐正文内嵌 @ 标记,格式 `@[昵称](userId)`(或 `{{@userId:昵称}}`),后端只存不解析;章节/文章接口原样返回 content。
- **添加好友接口**:在 miniprogram 路由组新增,如 `POST /api/miniprogram/friend/add`,入参 `targetUserId`;与存客宝 api_v1 分离,在开发文档中单独说明或 api_v1 新增小节。
- **数据模型**:无需单独 mention 表,扩展内容表 content 存带 @ 标记字符串即可。

View File

@@ -0,0 +1,67 @@
# 后端工程师 经验记录 - 2026-03-10
## 管理端迁移 Mycontent-temp后端视角注意点
- **接口边界不变**:管理端迁移/重构只允许调用 `/api/admin/*``/api/db/*``/api/orders`,严禁引入 `/api/miniprogram/*`
- **概览聚合接口可选**`/api/admin/dashboard/overview` 可作为“优化项”提供更轻量的统计聚合,但必须保留**降级策略**(用 `/api/db/users` + `/api/orders` 拼)以免阻塞前端迁移与部署节奏。
- **鉴权一致性**:页面入口/菜单变化不影响鉴权口径,仍以 `GET /api/admin` 作为 session/token 校验401 统一跳登录并清 token。
> 详见会议纪要:`.cursor/meeting/2026-03-10_管理端迁移Mycontent-temp菜单布局讨论.md`
---
## 新增聚合接口 UserDashboardStats
**场景**:小程序「我的」页需要一个聚合接口返回阅读统计,避免多次请求。
**接口**`GET /api/miniprogram/user/dashboard-stats?userId=xxx`
**数据来源**
- `readSectionIds` / `readCount``reading_progress` WHERE `user_id = userId`
- `totalReadMinutes``SUM(duration) / 60`(秒转分,最小值 1 分钟)
- `recentChapters``reading_progress` ORDER BY `last_open_at DESC` JOIN `chapters`(最近 5 条**去重**
- `matchHistory``match_records` COUNT WHERE `user_id = userId`
**三处 bug 修复点**(对比 Mycontent-temp 参考版发现):
| Bug | 错误做法 | 正确做法 |
|-----|---------|---------|
| 最近阅读重复 | 直接取前 5 条(同章节可重复) | `seenRecent` map 去重,保证 5 条不重复 |
| 阅读时长最小值 | 不足 60 秒返回 0 | `if totalReadSeconds > 0 && totalReadMinutes == 0 { totalReadMinutes = 1 }` |
| DB 错误状态码 | 返回 200 + `success:false` | 返回 HTTP 500 `InternalServerError` |
**规则沉淀**:新增聚合接口时,先参考已有版本实现,对比 diff 后修复潜在 bug再提交。
> 详见会议纪要:`.cursor/meeting/2026-03-10_小程序新旧版对比与dashboard接口新增.md`
---
## chapters 表新增 hot_score 字段
### 问题
前端 `ContentPage.tsx` 保存章节时传递 `hotScore` 字段,但后端 model 和数据库均缺少该列,导致:
```
Error 1054 (42S22): Unknown column 'hot_score' in 'field list'
```
### 修复步骤
1. 执行迁移 SQL`soul-api/scripts/add-hot-score.sql`
```sql
ALTER TABLE chapters ADD COLUMN hot_score INT NOT NULL DEFAULT 0;
```
2. 同步 model`internal/model/chapter.go`
```go
HotScore int `gorm:"column:hot_score;default:0" json:"hotScore"`
```
3. 重启后端服务生效
### 规则沉淀
- **model 与 DB 必须同步**:前端传入新字段时,必须先确认 DB 列存在,再确认 model struct 中有对应字段,缺一不可
- **变更流程**:前端加字段 → ALTER TABLE → 更新 model struct → 重启服务
- 迁移 SQL 统一放 `soul-api/scripts/` 目录,文件名格式 `add-{描述}.sql`
> 详见会议纪要:`.cursor/meeting/2026-03-10_Toast通知系统全局落地.md`

View File

@@ -0,0 +1,8 @@
# 后端工程师 经验记录 - 2026-03-11
## 数据库迁移users 仅 VIP 身份/状态chapters 补 hot_score
- users 表:迁移脚本只添加 is_vip、vip_expire_date、vip_activated_at、vip_sort、vip_role不再添加 vip_name、vip_avatar、vip_project、vip_contact、vip_bio小程序已改为直接读用户资料
- chapters 表SQL 导出仅有 hot_score_overrideModel 使用 hot_score迁移脚本增加 hot_score 列。
- 脚本:`soul-api/scripts/sync-users-vip-and-schema.sql`;说明:`soul-api/scripts/README-schema-sync.md`
- 详见团队共享:`agent/团队/evolution/2026-03-11.md`

View File

@@ -0,0 +1,61 @@
# 后端工程师 经验记录 - 2026-03-12
## 1. persons 表 token 字段与 DB 迁移
### 问题
新增 @ 人物时报错:`Unknown column 'token' in 'field list'`。GORM model 已加 `Token` 字段,但数据库未执行迁移。
### 解决方案
- **迁移脚本**`soul-api/scripts/add-persons-token.sql`
- **执行**`node .cursor/scripts/db-exec/run.js -f soul-api/scripts/add-persons-token.sql`
- **内容**`ALTER TABLE persons ADD COLUMN token VARCHAR(36) NOT NULL DEFAULT '' AFTER person_id` + 唯一索引
### 规则
- **Model 新增字段后**:需编写并执行 ALTER 脚本GORM AutoMigrate 不一定自动生效(取决于启动时机与连接)
- **迁移脚本位置**`soul-api/scripts/`,命名 `add-xxx.sql`
- **执行方式**db-exec 脚本读取 soul-api/.env 的 DB_DSN
---
## 2. CKBLead 用 token 兑换真实密钥
- `targetUserId` 现为 persons.token非 person_id
- 查询:`db.Where("token = ?", body.TargetUserID).First(&p)`
-`p.CkbApiKey` 调用存客宝
---
## 3. 9.9 买断与后端开关hasFullBook
### 场景
- 小程序已通过 `hasFullBook` 标识「买断全书」,权限判断和文案都依赖该字段(由 `/api/miniprogram/user/purchase-status``/api/miniprogram/user/check-purchased` 返回)。
- 现在需要在用户资料里增加一个布尔开关:运维/客服手动打开后,相当于该用户已经买过 9.9,全书可看,后续不再需要支付。
### 设计要点
- **统一事实来源**9.9 买断是否生效完全由后端计算,前端只认:
- `purchase-status` 返回的 `hasFullBook = true`
-`check-purchased` 返回 `isPurchased = true``reason = "has_full_book"`
- **用户资料开关**
-`users` 表或 user profile 中新增布尔字段(例如 `manual_fullbook`,具体命名按现有规范调整)。
- 仅管理端/运维修改该字段,小程序不直接写入。
- **接口契约调整**
- `/api/miniprogram/user/purchase-status`
- 计算 `hasFullBook` 时,将订单表中的全书订单结果与 `manual_fullbook`**OR**,只要任一为真就返回 `hasFullBook = true`
- `/api/miniprogram/user/check-purchased`
- 对章节做权限判断时,如果由 `manual_fullbook` 推导出可看,应返回:
- `isPurchased = true`
- `reason = "has_full_book"`
- 前端的 `chapterAccessManager.syncLocalCache` 会据此把 `app.globalData.hasFullBook = true` 并同步到 `userInfo.hasFullBook`
- **与 VIP 的边界**
- `hasFullBook`9.9 买断)与 `isVip`(会员)继续解耦:手动开 fullbook 开关不会自动授予 VIP。
- VIP 相关逻辑只看 `isVip` / `vipExpireDate`,不受 `manual_fullbook` 影响。
### 规则
- 不在前端增加「跳过支付」开关,所有免 9.9 行为都通过后端折叠到 `hasFullBook/has_full_book` 暴露给小程序。
- 满足以上约定后,小程序现有代码无需修改即可支持「后台手动赠送 9.9 买断」。

View File

@@ -0,0 +1,45 @@
# 2026-03-13 - 文章详情预览统一与内容安全
## 问题 / 场景
- 文章详情目前小程序侧只展示约 20% 内容作为预览,再引导用户付费解锁。
- 历史实现中前端本地按 20% 计算预览,后端曾同时返回外层 `content`(预览)和 `data.content`(全文),存在「接口约定不统一」和「误用 data.content 泄露全文」的风险。
- 需求:统一由后端按业务规则截取预览(改为 50%),小程序只按「是否已付费」选择用预览还是全文;未付费时,无论字段层级都不能拿到全文。
## 解决方案
-`internal/handler/book.go` 中调整章节预览逻辑:
- `previewContent` 改为按字符数取正文前 50%`total/2`),同时保证预览不少于 100 个字符;
- 预览结尾统一追加 `……(购买后阅读完整内容)` 作为提示文案。
-`findChapterAndRespond` 中统一内容返回策略:
- 先根据 system_config.free_chapters / chapter_config.freeChapters / chapters.is_free / price 判断章节是否免费;
- 免费章节:`returnContent = ch.Content`(全文);
- 付费章节:
-`checkUserChapterAccess` 判断用户已购买 / VIP / 全书:`returnContent = ch.Content`(全文);
- 否则:`returnContent = previewContent(ch.Content)`(仅预览);
- 构造响应时,将 `chForResponse.Content = returnContent`,并通过:
- 外层 `content: returnContent`
- 内层 `data: chForResponse`(其中 `content` 也为 `returnContent`
- 确保未授权用户在任意字段上都拿不到完整正文。
## 与前端的接口约定
- 小程序阅读页通过 `userId` 查询章节详情,`accessManager` 基于返回的章节信息与用户购买状态计算 `accessState`
-`accessState``free``unlocked_purchased` 时,前端使用 `res.data.content ?? res.content` 渲染全文;
-`accessState` 为未登录 / 未购买时,前端只使用 `res.content` 渲染预览。
- 预览比例完全由后端控制(当前为 50%),小程序不再自行用 20% 做二次截断,只是把后端提供的预览完整展示出来。
## 代码位置
- 后端:
- `soul-api/internal/handler/book.go`
- 小程序(前端配合):
- `miniprogram/pages/read/read.js`
- `miniprogram/pages/read/read.wxml`
## 对后续开发的约定
- 预览长度(包括比例、最小字符数、提示文案)统一由后端控制;如需调整比例,只需修改 `previewContent`,保持接口字段含义不变。
- 任何需要「只返回部分内容预览」的场景,应优先复用「外层 `content` + 内层 `data.content` 保持一致」的安全模式,避免在不同字段中混放全文与预览内容。
- 涉及付费内容时,优先在后端用「权限判断 + 统一内容裁剪」实现安全边界,前端只根据状态选择展示预览还是全文。

View File

@@ -0,0 +1,33 @@
# 2026-03-14 - 内容排名算法修正(排名分公式)
## 问题 / 场景
- 管理端「内容排行」与小程序「精选推荐」共用 `computeArticleRankingSections`,原算法错误:
- 使用「原始数值 × 权重」:`hot = readCnt×readWeight + payCnt×payWeight + recencyScore×recencyWeight`
- `recencyScore` 为 01 的天数衰减,非排名分
- 管理端修改权重后,列表不刷新(只调了 loadList未调 loadRanking
## 解决方案
### 算法修正db_book.go computeSectionsWithHotScore
- **公式**:热度积分 = 阅读权重×阅读排名分 + 新度权重×新度排名分 + 付款权重×付款排名分(三权重之和须为 1
- **排名分规则**
- 阅读量前 20 名:第 1 名=20 分 … 第 20 名=1 分,其余 0 分
- 最近更新前 30 篇:第 1 名=30 分 … 第 30 名=1 分,其余 0 分
- 付款数前 20 名:第 1 名=20 分 … 第 20 名=1 分,其余 0 分
- **权重配置**:从 `system_config.article_ranking_weights` 读取 readWeight、recencyWeight、payWeight
- **手动覆盖**:若 `chapters.hot_score > 0`,则优先使用该值
### 与前端约定
- 管理端保存权重后需同时调用 `loadList()``loadRanking()`,并关闭弹窗,列表才能立即刷新。
## 代码位置
- `soul-api/internal/handler/db_book.go``computeSectionsWithHotScore``computeArticleRankingSections`
- 管理端 `ContentPage.tsx``handleSaveRankingWeights` 中 loadRanking + setShowRankingAlgorithmModal(false)
## 影响
- 管理端内容排行榜、小程序精选推荐(`/api/miniprogram/book/recommended`)均复用该算法,修正后两端同步生效。

View File

@@ -0,0 +1,17 @@
# 后端工程师 经验记录 - 2026-03-16
## ParseAutoLinkContent 必须输出 data-label
- TipTap Mention 仅从 `data-label` 解析显示名,缺则回退显示 `data-id`token
- 新建 mention span`<span data-type="mention" data-id="TOKEN" data-label="名字">@名字</span>`
- 已损坏内容span 内为 token用 token 查 persons 取真实名字补回 data-label
## 存客宝创建计划参数
- planType=1、sceneId=9、scenario=9、status=1
- 管理端添加、文章 @ 自动创建两处均已同步
## new-soul 派对AI 与 content_upload.py会议new-soul 新需求与当前项目差异分析)
- content_upload.py 直连 DB 与 soul-api 并存,需核对 chapters 表结构与字段一致性
- 中长期可规划将文章上传迁移到 soul-api admin/db 接口,统一数据入口

View File

@@ -0,0 +1,73 @@
# 后端 - 2026-03-17
## 代付 PayNotify 权益归属修复
### 问题
代付支付回调中,`buyerUserID` 由 openID 解析得到,即**代付人**。权益激活全书、VIP、章节、余额充值和分佣均用 `buyerUserID`,导致权益错误给到代付人,而非发起人。
### 修复
引入 `beneficiaryUserID`(权益归属人):
- **代付订单**`beneficiaryUserID = order.UserID`(发起人)
- **普通订单**`beneficiaryUserID = buyerUserID`(付款人)
权益激活、分佣、取消未支付订单等逻辑统一改用 `beneficiaryUserID`
### 经验
- 代付场景:`order.user_id` = 发起人,`payer_user_id` = 代付人;权益与分佣必须按 `order.user_id` 处理
- PayNotify 中 openID 解析得到的是实际付款人,代付时需以 order 的 user_id 为权益归属
---
## gift-pay detail 返回 initiatorUserId
- 供小程序区分发起人/好友,展示不同 UI
- 字段:`initiatorUserId`(发起人 user_id
---
## 新版管理端迁移 - 后端任务会议2026-03-17
- **router 补齐**:迁移前注册 5 个路由:`db.GET("/users/rfm")``db.GET("/users/journey-stats")``admin.GET("/shensheshou/query")``admin.POST("/shensheshou/enrich")``admin.POST("/shensheshou/ingest")`
- **待确认**/api/admin/settings 是否已支持 ossConfig若不支持需补充
---
## 稳定版源码质量优化会议2026-03-17
- **敏感配置**生产环境MODE=release强制校验缺敏感 env 则 Fatal
- **user/track 鉴权**:新增 GET /api/admin/user/track + AdminAuth原 /api/user/track 保留给小程序 POST 埋点
- **AdminWithdrawTest**:非 develop 环境返回 404 或拒绝
---
## 会议收尾2026-03-17
- 源码优化 10 项全部完成;开发环境测试 10 通过 2 跳过
---
## 性能优化与 Redis 缓存方案落地2026-03-17
### Redis 缓存
- **internal/cache**Get/Set/Del、GetString/SetStringRedis 不可用时回退 DB
- **已缓存**book/parts、hot、recommended、stats、config、章节 content
- **失效**InvalidateBookParts、InvalidateBookCache、InvalidateConfig、InvalidateChapterContent
### OSS 上传
- **internal/oss**LoadConfig、Upload、Delete失败回退本地
- 配置从 system_config.oss_config 读取
### /health
- 返回 database、redis 连接状态ok/disconnected/disabled
### 经验
- Redis 容灾:未配置或失败时回退 DB不阻塞业务
- 缓存 keysoul:{业务}:{标识}

View File

@@ -0,0 +1,41 @@
# 后端工程师 经验记录 - 2026-03-18
## 功能需求口径整理(按接口契约与风险)
### 需求基准(后端视角)
-`开发文档/1、需求/以界面定需求.md` 的“界面→接口”映射为准:
- 小程序只用 `/api/miniprogram/*`
- 管理端只用 `/api/admin/*``/api/db/*``/api/orders`
### 核心功能域(必须稳定)
- **阅读与权限**
- 未授权只返回预览;授权返回全文
- VIP 全章免费信号必须后端折叠输出,前端只认统一字段(避免各端各自判断)
- **支付链路**
- 下单→支付→回调→解锁/分润,必须具备幂等与可追溯(订单号、来源、日志)
- **代付分享(发起人支付,好友领取)**
- 发起人支付后产生可分享 requestSn
- 好友领取必须并发安全(名额扣减原子、重复领取幂等)
- 权益归属必须正确(代付场景 beneficiaryUserID=发起人)
- **推广/分润/提现**
- 分润规则可配置,计算口径一致
- 提现流转:申请→审核/打款→回写状态→订阅消息
### 分享场景风险点(联调/验收必测)
- **朋友圈 singlePage**:属于前端能力限制,但后端要做到:
- 接口幂等(前端重试/重复进入会更频繁)
- 错误码与提示文案清晰(便于前端引导“前往小程序”)
### 文档归档(后端相关)
- 里程碑推进表:`开发文档/10、项目管理/项目落地推进表.md`
- 测试流程与回归口径:`scripts/test/功能测试流程.md`
## 超级个体开通后自动创建@人Person与资料完善 flags
### 幂等与建模建议
- 自动创建 Person 建议以业务主键(`userId`)作为**幂等键**,避免仅依赖昵称导致重名/改名混乱。
- 倾向在 `persons` 增加 `user_id`(并做唯一索引/约束),后续昵称变更时可按 `user_id` 同步更新 `name`
### 端上资料完善判断
- 默认头像/昵称判定不建议只靠前端字符串规则;后端可在用户资料/登录态接口返回明确布尔值(如 `profileNeedComplete` / `isDefaultAvatar` / `isDefaultNickname`),小程序仅消费并跳转引导页。

Some files were not shown because too many files have changed in this diff Show More