Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b01ce6ce6d | ||
|
|
eeb7812688 | ||
|
|
f50090132d | ||
|
|
e14d391676 | ||
|
|
260732bf41 | ||
|
|
1d9cdb931c | ||
|
|
bdee665dec | ||
|
|
730d649389 | ||
|
|
c4da1a0c50 | ||
|
|
a48bccca85 | ||
|
|
c55c0cc941 | ||
|
|
3f0add60a5 | ||
|
|
c3e89e5563 | ||
|
|
8bf6c5a75f | ||
|
|
464be23f89 | ||
|
|
68966505ff | ||
|
|
18c645a3f8 | ||
|
|
086099af3e | ||
|
|
b3ba42ad29 | ||
|
|
8545abfe9f | ||
|
|
d2c11d8e58 | ||
|
|
45ce909005 | ||
|
|
0ca423db21 | ||
|
|
f1717b2618 | ||
|
|
d8d4b24e8a | ||
|
|
de40358073 | ||
|
|
524dee9d3c |
21
.cursor/README.md
Normal file
21
.cursor/README.md
Normal 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`
|
||||
13
.cursor/agent/团队/evolution/2026-04-24-玩值全项目会议.md
Normal file
13
.cursor/agent/团队/evolution/2026-04-24-玩值全项目会议.md
Normal 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/移动端按纪要分工填写。
|
||||
10
.cursor/agent/团队/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
10
.cursor/agent/团队/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# 团队经验记录 - 2026-04-27 - 三端迁移完成度
|
||||
|
||||
## 来源
|
||||
|
||||
会议:`.cursor/meeting/2026-04-27_三端迁移完成度与文档同步.md`
|
||||
|
||||
## 要点
|
||||
|
||||
- **「三端是否迁移完成」** 在仓库内应区分:① **主迁移**(新三端承接契约与 P0、新功能只写 `new/`)— **是**;② **与 `old` 全量业务域/大屏 UI 1:1 无遗漏**— **否**,以 `开发文档/玩值/进度-看板.md` 与 `三端对齐项目清单.md` 为准持续勾项。
|
||||
- 对外/对内表述建议用「**新三端主链已迁移并持续对齐**」,避免单独一句「已全部完成」产生验收歧义。
|
||||
3
.cursor/agent/团队/evolution/2026-04-30.md
Normal file
3
.cursor/agent/团队/evolution/2026-04-30.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# 团队共享经验 - 2026-04-30
|
||||
|
||||
Soul 三端契约与文档落点:**miniprogram 仅用 `/api/miniprogram/*`,管理端仅用 `/api/admin/*` 与 `/api/db/*`**;文档统一放在 `开发文档/Soul/`。玩值 **`/api/app/*`** 与前缀分离,禁止混用。未检出 Soul 源码时先做环境与 smoke,代码级对接在检出后执行。
|
||||
6
.cursor/agent/团队/evolution/索引.md
Normal file
6
.cursor/agent/团队/evolution/索引.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# 团队 - 经验索引
|
||||
|
||||
| 日期 | 主题 |
|
||||
|------|------|
|
||||
| 2026-04-27 | [三端迁移完成度(主迁移 / 全量对齐)](2026-04-27-三端迁移完成度会议.md) |
|
||||
| 2026-04-24 | [玩值全项目会议(跨端决策)](2026-04-24-玩值全项目会议.md) |
|
||||
12
.cursor/agent/开发助理/README.md
Normal file
12
.cursor/agent/开发助理/README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# 开发助理(橙子)
|
||||
|
||||
> 规则进化执行、通用经验池、项目索引。经验:`.cursor/agent/开发助理/evolution/`
|
||||
|
||||
## 目录结构
|
||||
|
||||
| 目录 | 说明 |
|
||||
|------|------|
|
||||
| evolution/ | 通用经验池 |
|
||||
| archived/ | 已归档经验 |
|
||||
| script/ | 规则进化 bat 入口 |
|
||||
| 项目索引/ | 各角色开发进度索引 |
|
||||
5
.cursor/agent/开发助理/evolution/2026-02-26.md
Normal file
5
.cursor/agent/开发助理/evolution/2026-02-26.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# 2026-02-26 | 助理橙子经验
|
||||
|
||||
> 本日经验条目,格式:类型 | 摘要 | 升级 Skill
|
||||
|
||||
---
|
||||
7
.cursor/agent/开发助理/evolution/2026-03-11.md
Normal file
7
.cursor/agent/开发助理/evolution/2026-03-11.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# 开发助理 经验记录 - 2026-03-11
|
||||
|
||||
## 会议收尾:开发团队对齐业务逻辑与以界面定需求
|
||||
|
||||
- 用户提出「结束会议」后执行会议收尾:生成会议纪要、各角色经验入库、更新项目索引与会议记录索引。
|
||||
- 纪要:`.cursor/meeting/2026-03-11_开发团队对齐业务逻辑与以界面定需求会议收尾.md`。
|
||||
- 各角色经验已写入:团队、产品经理、后端工程师、管理端开发工程师、小程序开发工程师 evolution/2026-03-11.md;项目索引(团队、产品、后端、管理端、小程序、助理橙子)开发进度表已追加 2026-03-11。
|
||||
91
.cursor/agent/开发助理/evolution/2026-03-16-交互习惯分析.md
Normal file
91
.cursor/agent/开发助理/evolution/2026-03-16-交互习惯分析.md
Normal 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 的响应策略优化。
|
||||
9
.cursor/agent/开发助理/evolution/2026-03-17.md
Normal file
9
.cursor/agent/开发助理/evolution/2026-03-17.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# 开发助理 经验记录 - 2026-03-17
|
||||
|
||||
## 会议收尾(2026-03-17)
|
||||
|
||||
- **纪要**:2026-03-17_会议收尾-源码优化完成与测试流程定稿.md
|
||||
- **经验入库**:各角色 evolution 已追加收尾经验
|
||||
- **项目索引**:后端、管理端、小程序、测试、助理橙子已更新
|
||||
- **会议索引**:README.md 已追加
|
||||
- **开发文档**:运营与变更第十七部分已追加
|
||||
15
.cursor/agent/开发助理/evolution/2026-03-18.md
Normal file
15
.cursor/agent/开发助理/evolution/2026-03-18.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# 开发助理 经验记录 - 2026-03-18
|
||||
|
||||
## 开发文档归档整理(统一入口与索引一致性)
|
||||
|
||||
### 发现与修复
|
||||
- `开发文档/README.md` 索引引用了 `开发文档/10、项目管理/项目落地推进表.md`,但该文件缺失。
|
||||
- 已补齐:新建 `开发文档/10、项目管理/项目落地推进表.md`,用于记录里程碑、风险与下一步。
|
||||
|
||||
### 归档建议(持续维护规则)
|
||||
- 需求基准:`以界面定需求.md`
|
||||
- 需求清单:`需求汇总.md`
|
||||
- 决议与变更:`运营与变更.md`
|
||||
- 执行层推进:`项目落地推进表.md`
|
||||
- 每次变更后按上述 4 份文档联动更新,避免“清单/决议/执行层”脱节。
|
||||
|
||||
13
.cursor/agent/开发助理/evolution/2026-03-21-MBTI头像C端全链路兜底.md
Normal file
13
.cursor/agent/开发助理/evolution/2026-03-21-MBTI头像C端全链路兜底.md
Normal 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。
|
||||
6
.cursor/agent/开发助理/evolution/2026-04-14.md
Normal file
6
.cursor/agent/开发助理/evolution/2026-04-14.md
Normal 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(小程序逆推闭环)。
|
||||
7
.cursor/agent/开发助理/evolution/2026-04-15.md
Normal file
7
.cursor/agent/开发助理/evolution/2026-04-15.md
Normal 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 为准。
|
||||
7
.cursor/agent/开发助理/evolution/2026-04-22-TS原生编译跨平台全员吸收.md
Normal file
7
.cursor/agent/开发助理/evolution/2026-04-22-TS原生编译跨平台全员吸收.md
Normal 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 + 指标门禁,避免直接替换现有生产路线。
|
||||
8
.cursor/agent/开发助理/evolution/2026-04-23-玩值三端直播点卡.md
Normal file
8
.cursor/agent/开发助理/evolution/2026-04-23-玩值三端直播点卡.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# 开发助理 - 2026-04-23
|
||||
|
||||
## 跨端摘要
|
||||
|
||||
- **玩值** 直播:App 全屏页对接既有 `/api/app/live/*`;**点卡**:新增 App 只读目录 + 下单写 `pointCardOrders`,管理端仍管 SKU/福禄;**管理端** 直播详情节省列表全量拉取。
|
||||
- 文档与索引:`开发文档/玩值/迁移-API对照表.md`、`进度-看板.md`、项目索引、会议纪要已同步。
|
||||
|
||||
详见各 `agent/玩值*/evolution/2026-04-23-*.md`。
|
||||
16
.cursor/agent/开发助理/evolution/2026-04-24-wz-app经验吸收与文档.md
Normal file
16
.cursor/agent/开发助理/evolution/2026-04-24-wz-app经验吸收与文档.md
Normal 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` 开发进度表已追加。
|
||||
14
.cursor/agent/开发助理/evolution/2026-04-24-玩值全项目会议收尾.md
Normal file
14
.cursor/agent/开发助理/evolution/2026-04-24-玩值全项目会议收尾.md
Normal 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 后续填写。
|
||||
3
.cursor/agent/开发助理/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
3
.cursor/agent/开发助理/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# 开发助理 经验 - 2026-04-27
|
||||
|
||||
- 会议主题:三端迁移完成度;已更新 `开发文档/玩值/进度-看板.md`、`三端对齐项目清单.md`、`2026-04-27-日志.md`、项目索引玩值、meeting 索引、团队 evolution。
|
||||
26
.cursor/agent/开发助理/evolution/2026-04-30.md
Normal file
26
.cursor/agent/开发助理/evolution/2026-04-30.md
Normal 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`)。
|
||||
15
.cursor/agent/开发助理/evolution/索引.md
Normal file
15
.cursor/agent/开发助理/evolution/索引.md
Normal 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 |
|
||||
46
.cursor/agent/开发助理/script/一键-全部.bat
Normal file
46
.cursor/agent/开发助理/script/一键-全部.bat
Normal 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
|
||||
6
.cursor/agent/开发助理/script/一键-列出经验池.bat
Normal file
6
.cursor/agent/开发助理/script/一键-列出经验池.bat
Normal file
@@ -0,0 +1,6 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
cd /d "%~dp0..\..\..\.."
|
||||
echo 开发助理 - 列出经验池
|
||||
python .cursor\scripts\evolution.py list
|
||||
pause
|
||||
6
.cursor/agent/开发助理/script/一键-执行进化.bat
Normal file
6
.cursor/agent/开发助理/script/一键-执行进化.bat
Normal file
@@ -0,0 +1,6 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
cd /d "%~dp0..\..\..\.."
|
||||
echo 开发助理 - 执行进化(归档经验池)
|
||||
python .cursor\scripts\evolution.py evolve --archive
|
||||
pause
|
||||
12
.cursor/agent/开发助理/script/一键-添加经验.bat
Normal file
12
.cursor/agent/开发助理/script/一键-添加经验.bat
Normal 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
|
||||
74
.cursor/agent/开发助理/经验清单.md
Normal file
74
.cursor/agent/开发助理/经验清单.md
Normal 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/token;onLinkTagTap、onMentionTap 传 key/token 兑换 |
|
||||
| 2026-03-10 | 后端 | bug 修复 | api-dev SKILL | chapters 表新增 hot_score 列,修复 1054 Unknown column 错误;DB 变更 SOP:ALTER→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-select(selectable 已废弃),正文/标题/预览均加 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/test:miniapp 小程序接口测试、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;容灾回退 DB;OSS 上传;/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
|
||||
5
.cursor/agent/开发助理/项目索引/README.md
Normal file
5
.cursor/agent/开发助理/项目索引/README.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# 项目索引
|
||||
|
||||
存放各角色子项目开发进度、状态。每角色对应一份索引。
|
||||
|
||||
- **玩值三端汇总**:[`玩值.md`](玩值.md)(与 `开发文档/玩值/进度-看板.md` 联动)
|
||||
43
.cursor/agent/开发助理/项目索引/产品.md
Normal file
43
.cursor/agent/开发助理/项目索引/产品.md
Normal 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
|
||||
37
.cursor/agent/开发助理/项目索引/助理橙子.md
Normal file
37
.cursor/agent/开发助理/项目索引/助理橙子.md
Normal 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
|
||||
55
.cursor/agent/开发助理/项目索引/后端.md
Normal file
55
.cursor/agent/开发助理/项目索引/后端.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# 后端 - 项目索引
|
||||
|
||||
> 根据开发进度对项目做总结,保存开发进度,方便下次继续开发。**每次保存必须写日期**。
|
||||
|
||||
---
|
||||
|
||||
## 项目总结
|
||||
|
||||
soul-api(Go + 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_score;sync 脚本与 README-schema-sync 更新 | 已完成 |
|
||||
| 2026-03-12 | persons 表新增 token 字段(add-persons-token.sql);CKBLead 用 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)、容灾回退 DB;OSS 上传接入;/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
|
||||
46
.cursor/agent/开发助理/项目索引/团队.md
Normal file
46
.cursor/agent/开发助理/项目索引/团队.md
Normal 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
|
||||
61
.cursor/agent/开发助理/项目索引/小程序.md
Normal file
61
.cursor/agent/开发助理/项目索引/小程序.md
Normal 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 §6;match 资源对接弹窗已按规范修正 | 已完成 |
|
||||
| 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_key;contentParser、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.response;soulBridge 留资扩展;阅读页带码与 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 | 吸收沉淀:逆推闭环自检写入 evolution;LOOP 需求行 | 进行中 |
|
||||
| 2026-04-15 | 业务补齐:`app.js` 挂 `err.response`;导师详情微信支付;找伙伴 join 失败展示后端文案 | 已完成 |
|
||||
| 2026-04-30 | 会议:Soul 三端文档与路由契约;baseUrl/`/api/miniprogram/*`/合法域名对齐见 `开发文档/Soul/三端路由与联调说明.md`;Soul 源码需单独检出后方可改接口 | 进行中 |
|
||||
|
||||
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD,状态用:已完成 / 进行中 / 待续 / 搁置
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:2026-04-30
|
||||
47
.cursor/agent/开发助理/项目索引/测试.md
Normal file
47
.cursor/agent/开发助理/项目索引/测试.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# 测试 - 项目索引
|
||||
|
||||
> 测试人员经验与测试进度。**每次保存必须写日期**。
|
||||
|
||||
---
|
||||
|
||||
## 项目总结
|
||||
|
||||
测试人员负责小程序、管理端、API 的功能测试、回归测试与三端联调。主 Skill:SKILL-测试.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
|
||||
27
.cursor/agent/开发助理/项目索引/玩值.md
Normal file
27
.cursor/agent/开发助理/项目索引/玩值.md
Normal 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-* Skills;Soul 角色 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-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 | 收官续作清单落地 | `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-app(C 端)** | 多块页面去 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
|
||||
61
.cursor/agent/开发助理/项目索引/管理端.md
Normal file
61
.cursor/agent/开发助理/项目索引/管理端.md
Normal 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 类型错误(与本次迁移无关),待修复。
|
||||
51
.cursor/agent/智能体-技能-经验总索引.md
Normal file
51
.cursor/agent/智能体-技能-经验总索引.md
Normal 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)+ 必要的联动(如会议/跨端)”合并决策。
|
||||
7
.cursor/agent/玩值API工程师/README.md
Normal file
7
.cursor/agent/玩值API工程师/README.md
Normal 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 模型与迁移脚本。
|
||||
0
.cursor/agent/玩值API工程师/evolution/.gitkeep
Normal file
0
.cursor/agent/玩值API工程师/evolution/.gitkeep
Normal file
8
.cursor/agent/玩值API工程师/evolution/2026-04-20-玩值迁移-吸收.md
Normal file
8
.cursor/agent/玩值API工程师/evolution/2026-04-20-玩值迁移-吸收.md
Normal 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》为真源,先表结构再写接口,避免无表实现。
|
||||
17
.cursor/agent/玩值API工程师/evolution/2026-04-22-TS原生编译跨平台吸收.md
Normal file
17
.cursor/agent/玩值API工程师/evolution/2026-04-22-TS原生编译跨平台吸收.md
Normal 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`。
|
||||
@@ -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 字段)的 SKU,DTO 不含内部全量 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`)。
|
||||
14
.cursor/agent/玩值API工程师/evolution/2026-04-24-全项目会议与P0接口.md
Normal file
14
.cursor/agent/玩值API工程师/evolution/2026-04-24-全项目会议与P0接口.md
Normal 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 / 版本是否写入公共响应(与运维协同)。
|
||||
@@ -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)`)便于与终端联调时核对二进制与文档是否一致。
|
||||
3
.cursor/agent/玩值API工程师/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
3
.cursor/agent/玩值API工程师/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# 玩值 API 工程师 经验 - 2026-04-27
|
||||
|
||||
- 会议结论:`new/wz-api` 在**分组、P0 域、对照表登记**上属主迁移**已完成**;未实现/未登记行随域迭代,不等同于「迁移未开始」。
|
||||
10
.cursor/agent/玩值API工程师/evolution/索引.md
Normal file
10
.cursor/agent/玩值API工程师/evolution/索引.md
Normal 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) |
|
||||
9
.cursor/agent/玩值移动端工程师/README.md
Normal file
9
.cursor/agent/玩值移动端工程师/README.md
Normal 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/`(另有「小程序开发工程师」归档角色)。
|
||||
0
.cursor/agent/玩值移动端工程师/evolution/.gitkeep
Normal file
0
.cursor/agent/玩值移动端工程师/evolution/.gitkeep
Normal file
8
.cursor/agent/玩值移动端工程师/evolution/2026-04-20-玩值迁移-吸收.md
Normal file
8
.cursor/agent/玩值移动端工程师/evolution/2026-04-20-玩值迁移-吸收.md
Normal 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 + 页面。
|
||||
17
.cursor/agent/玩值移动端工程师/evolution/2026-04-22-TS原生编译跨平台吸收.md
Normal file
17
.cursor/agent/玩值移动端工程师/evolution/2026-04-22-TS原生编译跨平台吸收.md
Normal 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`。
|
||||
@@ -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` 等。
|
||||
14
.cursor/agent/玩值移动端工程师/evolution/2026-04-23-全屏直播与点卡商城.md
Normal file
14
.cursor/agent/玩值移动端工程师/evolution/2026-04-23-全屏直播与点卡商城.md
Normal 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`。
|
||||
@@ -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 请求层、只读大屏与旅程埋点例外、主播接口清单。
|
||||
14
.cursor/agent/玩值移动端工程师/evolution/2026-04-24-全项目会议与主次线.md
Normal file
14
.cursor/agent/玩值移动端工程师/evolution/2026-04-24-全项目会议与主次线.md
Normal 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:次线能力是否抬主线由产品+乘风定。
|
||||
3
.cursor/agent/玩值移动端工程师/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
3
.cursor/agent/玩值移动端工程师/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# 玩值移动端工程师 经验 - 2026-04-27
|
||||
|
||||
- 会议结论:`new/wz-app` 为 C 端真源、主能力已接;**路由映射 / build / 对照表硬验收** 为持续工作,与「新栈已承接迁移」并行表述。
|
||||
@@ -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` 关键词,需在管理端规范命名以便归类。
|
||||
@@ -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` 对用户可见错误做一次 **文案脱敏映射**。
|
||||
13
.cursor/agent/玩值移动端工程师/evolution/索引.md
Normal file
13
.cursor/agent/玩值移动端工程师/evolution/索引.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# 玩值移动端工程师 - 经验索引
|
||||
|
||||
| 日期 | 主题 |
|
||||
|------|------|
|
||||
| 2026-04-30 | [wz-app 去 mock:streamers/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) |
|
||||
7
.cursor/agent/玩值管理端工程师/README.md
Normal file
7
.cursor/agent/玩值管理端工程师/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# 玩值管理端工程师
|
||||
|
||||
- **绑定目录**:`new/wz-admin/`
|
||||
- **主 Skill**:`.cursor/skills/wz-admin-dev/SKILL.md`
|
||||
- **脚手架参考**:`soul-admin/`(同栈复制后改环境变量与路由)
|
||||
|
||||
仅对接 wz-api 的 `/api/admin/*`、`/api/db/*`。
|
||||
0
.cursor/agent/玩值管理端工程师/evolution/.gitkeep
Normal file
0
.cursor/agent/玩值管理端工程师/evolution/.gitkeep
Normal file
8
.cursor/agent/玩值管理端工程师/evolution/2026-04-20-玩值迁移-吸收.md
Normal file
8
.cursor/agent/玩值管理端工程师/evolution/2026-04-20-玩值迁移-吸收.md
Normal 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对照表》与进度看板登记联调状态。
|
||||
17
.cursor/agent/玩值管理端工程师/evolution/2026-04-22-TS原生编译跨平台吸收.md
Normal file
17
.cursor/agent/玩值管理端工程师/evolution/2026-04-22-TS原生编译跨平台吸收.md
Normal 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`。
|
||||
10
.cursor/agent/玩值管理端工程师/evolution/2026-04-23-直播房间详情联调.md
Normal file
10
.cursor/agent/玩值管理端工程师/evolution/2026-04-23-直播房间详情联调.md
Normal 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` 查看。
|
||||
15
.cursor/agent/玩值管理端工程师/evolution/2026-04-24-全项目会议与运营可管.md
Normal file
15
.cursor/agent/玩值管理端工程师/evolution/2026-04-24-全项目会议与运营可管.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# 玩值管理端工程师 - 2026-04-24 会议经验
|
||||
|
||||
## 会议
|
||||
|
||||
玩值全项目进度与三端缺口(纪要:`.cursor/meeting/2026-04-24_玩值全项目进度与三端缺口.md`)。
|
||||
|
||||
## 要点
|
||||
|
||||
- P0 域从「有路由+列表」提升为**列表+详情+关键状态/备注**,与 playhub 字段对齐;ResourceListPage 仅作起步。
|
||||
- 继续按《三端对齐项目清单》剔除管理页手机预览内嵌。
|
||||
- 验收引用:`开发文档/玩值/三端对齐项目清单.md` 矩阵、旧 `old/app/admin/**` 结构对照。
|
||||
|
||||
## 待跟进
|
||||
|
||||
- P1:大屏 `view` 全量迁旧、非 P0 域可后置。
|
||||
11
.cursor/agent/玩值管理端工程师/evolution/2026-04-24-收官计划-点卡订单管理页.md
Normal file
11
.cursor/agent/玩值管理端工程师/evolution/2026-04-24-收官计划-点卡订单管理页.md
Normal 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 实施注记。
|
||||
3
.cursor/agent/玩值管理端工程师/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
3
.cursor/agent/玩值管理端工程师/evolution/2026-04-27-三端迁移完成度会议.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# 玩值管理端工程师 经验 - 2026-04-27
|
||||
|
||||
- 会议结论:wz-admin **骨架与主域**已迁;**大屏 view**(地图、实时区、投资卡等)及与 playhub 字段对齐为 **ongoing**,不属「主迁移未完成」的否定项。
|
||||
10
.cursor/agent/玩值管理端工程师/evolution/索引.md
Normal file
10
.cursor/agent/玩值管理端工程师/evolution/索引.md
Normal 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) |
|
||||
0
.cursor/agent/老板分身/evolution/.gitkeep
Normal file
0
.cursor/agent/老板分身/evolution/.gitkeep
Normal file
4
.cursor/agent/老板分身/evolution/索引.md
Normal file
4
.cursor/agent/老板分身/evolution/索引.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# 老板分身 经验索引
|
||||
|
||||
| 日期 | 摘要 | 文件 |
|
||||
|------|------|------|
|
||||
116
.cursor/apifox-mcp-setup.md
Normal file
116
.cursor/apifox-mcp-setup.md
Normal 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「刷新接口文档数据」。
|
||||
3
.cursor/archive/README.md
Normal file
3
.cursor/archive/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# 历史归档
|
||||
|
||||
存放已归档的文档、分析报告等。
|
||||
13
.cursor/archive/agents-legacy-soul/README.md
Normal file
13
.cursor/archive/agents-legacy-soul/README.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# 已归档:Soul 派对时期角色智能体
|
||||
|
||||
2026-04-20 玩值三端迁移后,主仓库 `.cursor/agent/` 仅保留 **开发助理(橙子)**、**老板分身(乘风)** 与 **玩值三项目智能体**。下列目录为原 Soul 角色经验与脚本的完整搬迁,供查阅,**不再作为默认索引入口**。
|
||||
|
||||
- `产品经理/`
|
||||
- `软件测试/`
|
||||
- `团队/`
|
||||
- `安全工程师/`
|
||||
- `小程序开发工程师/`
|
||||
- `管理端开发工程师/`
|
||||
- `后端工程师/`
|
||||
|
||||
新开发请查 `agent/玩值*` 与 `开发文档/玩值/`。
|
||||
@@ -0,0 +1,5 @@
|
||||
# 2026-02-26 | 产品经验
|
||||
|
||||
> 本日经验条目,格式:类型 | 摘要 | 升级 Skill
|
||||
|
||||
---
|
||||
@@ -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.9;N 默认值。
|
||||
@@ -0,0 +1,12 @@
|
||||
# 产品经理 经验记录 - 2026-03-05
|
||||
|
||||
## 分支冲突后功能完整性分析会议
|
||||
|
||||
- **分支冲突后需优先核对需求文档与实现一致性**:避免「文档在合并中丢失」导致需求与实现脱节。重点核对 `开发文档/1、需求/`、`临时需求池/` 与当前实现是否一致。
|
||||
- **重点确认项**:个人资料页、增值版/普通版计价、找伙伴联系方式完善弹窗等近期需求是否按文档落地。
|
||||
|
||||
## 文章详情 @某人 高亮与一键加好友方案讨论
|
||||
|
||||
- **需求**:文章中支持 @某人,名称高亮、点击添加好友;编辑侧能插入 @用户并落库(含用户 id)。
|
||||
- **验收**:详情页 @ 高亮可点击;点击调起添加好友并提示;管理端插入 @ 后保存再编辑不错位。
|
||||
- **待确认**:添加好友接口 path、入参/出参及业务规则(已是好友、重复请求等);开发文档中接口放置位置。
|
||||
@@ -0,0 +1,13 @@
|
||||
# 产品经理 经验记录 - 2026-03-10
|
||||
|
||||
## 管理端迁移 Mycontent-temp:信息架构与验收口径
|
||||
|
||||
- **主导航收敛**:侧栏只保留运营主链路 5 项(概览/内容/用户/找伙伴/推广),系统设置固定在底部;其余能力不删除但不占主导航入口。
|
||||
- **入口承载策略**:非主菜单页面(订单/提现/推广设置/VIP角色/导师等)通过“概览卡片/页面内按钮/系统设置 Tab”进入,确保可达且路径更短。
|
||||
- **验收标准**:
|
||||
- 菜单与布局一致(新规范)
|
||||
- 隐藏页面路由仍可访问(功能不丢)
|
||||
- author/admin 设置统一在 `/settings?tab=...` 承载,旧路径可兼容跳转
|
||||
|
||||
> 详见会议纪要:`.cursor/meeting/2026-03-10_管理端迁移Mycontent-temp菜单布局讨论.md`
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# 产品经理 经验记录 - 2026-03-11
|
||||
|
||||
## 需求基准:以界面定需求
|
||||
|
||||
- 需求与验收以《开发文档/1、需求/以界面定需求》为准;新增/变更功能时先对齐界面再更新《需求汇总》需求清单。
|
||||
- 小程序与管理端界面清单、主要接口、业务逻辑对齐(用户/VIP 资料展示、三端 API 边界等)已落档,作为验收基准。
|
||||
- 详见团队共享:`agent/团队/evolution/2026-03-11.md`。
|
||||
@@ -0,0 +1,7 @@
|
||||
# 产品经理 经验记录 - 2026-03-16
|
||||
|
||||
## new-soul 派对AI 与 Mycontent 定位差异(会议:new-soul 新需求与当前项目差异分析)
|
||||
|
||||
- **new-soul 派对AI**:内容运营侧 AI 助手,服务于《一场soul的创业实验》的派对→录屏→剪辑→成片→分发→文章→小程序全链路
|
||||
- **当前 Mycontent**:产品侧,面向创业者的社区/工具型小程序,核心是内容→会员→导师变现、存客宝对接、分销等
|
||||
- **结论**:两者是同一业务的不同层面(运营 vs 产品),互补非替代
|
||||
@@ -0,0 +1,13 @@
|
||||
# 产品经理 经验记录 - 2026-03-17
|
||||
|
||||
## 稳定版源码质量优化(会议:2026-03-17)
|
||||
|
||||
- **验收标准**:优化后现有功能行为不变,三端联调通过
|
||||
- **优先级**:高优(安全)→ 中优(可维护)→ 低优(性能/结构)
|
||||
- **原则**:源码质量优化按安全→可维护→性能分批,用户无感知
|
||||
|
||||
---
|
||||
|
||||
## 会议收尾(2026-03-17)
|
||||
|
||||
- 10 项优化全部完成;测试流程与报告模板已定稿;开发文档已同步
|
||||
@@ -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,是否需要保留历史别名/展示区分。
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
# 产品经理 经验记录 - 2026-03-24
|
||||
|
||||
## 开发进度同步会议
|
||||
|
||||
### 文档同步原则
|
||||
- 实现变更后需同步更新:《需求汇总》《运营与变更》及对应角色项目索引。
|
||||
- 项目索引「最后更新」应与实际变更日期一致,避免滞后。
|
||||
|
||||
### 当前状态
|
||||
- 2026-03-20 需求(提现、我的收益、推广设置等)已与实现对齐。
|
||||
- 主需求、落地推进表已基本同步;项目索引已补齐至 2026-03-24。
|
||||
|
||||
## 需求与进度及三端闭环评审
|
||||
|
||||
- 区分「用户主路径闭环」与「规则/风控闭环」;后者缺口见《产品意图与功能闭环分析》,用清单驱动排期而非推翻里程碑。
|
||||
- 待确认:VIP 支付前是否强制完善头像昵称(与当前 vip.js 策略二选一)。
|
||||
@@ -0,0 +1,6 @@
|
||||
# 产品经理 经验记录 - 2026-03-31
|
||||
|
||||
## 会议:超级个体列表与 @ 列表融合
|
||||
|
||||
- 超级个体(VIP 曝光)与 @ 人物(内容引用)应视为同一业务的两面;融合优先统一运营心智与验收口径,再决定 UI 是否单页。
|
||||
- 一期验收需明确:无 @ 人物的有效 VIP 的提示策略、管理端跳转路径是否满足运营闭环。
|
||||
@@ -0,0 +1,7 @@
|
||||
# 产品经理 经验记录 - 2026-04-02
|
||||
|
||||
## 会议:工作进度与需求同步会
|
||||
|
||||
- **场景**:4 月初全员同步进度,衔接 2026-03-31 超级个体与 @ 列表融合待办。
|
||||
- **要点**:融合类需求需同步明确「一期验收口径」(UsersPage @ 状态、列表入口是否收敛),并写入需求汇总/运营与变更,避免实现先行、验收滞后。
|
||||
- **待办**:问题与作答区 Q1 由产品补充作答后闭环。
|
||||
@@ -0,0 +1,6 @@
|
||||
# 产品经理 经验记录 - 2026-04-13
|
||||
|
||||
## 会议:按功能同步开发文档
|
||||
|
||||
- **要点**:以可验收功能点为最小同步单位;主需求与《以界面定需求》为验收真源;跨端规则变更须同时更新需求清单状态与优先级。
|
||||
- **待办**:核对 2026-04-02 以来实现与文档差异;vip-members/融合一期验收口径在需求文档中单点定稿。
|
||||
@@ -0,0 +1,7 @@
|
||||
# 产品经理 经验记录 - 2026-04-14
|
||||
|
||||
## 吸收沉淀:同步开发需求
|
||||
|
||||
- **需求清单**:在 `开发文档/1、需求/需求汇总.md` 维护编号行(SYNC / LOOP / MAINT 等),状态与责任角色与纪要待办一致。
|
||||
- **验收绑定**:功能完成 = 实现可合并 + **需求表或项目索引当日一行**;跨端规则须在需求或运营与变更中单点写清优先级。
|
||||
- **管理端必要性**:沿用产品 Skill — 纯文案/纯视觉可不建管理端;**配置/开关/审核/统计** 必须显式在需求表标「管理端入口」避免壳功能。
|
||||
10
.cursor/archive/agents-legacy-soul/产品经理/evolution/索引.md
Normal file
10
.cursor/archive/agents-legacy-soul/产品经理/evolution/索引.md
Normal 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) |
|
||||
@@ -0,0 +1,5 @@
|
||||
# 2026-02-26 | 后端经验
|
||||
|
||||
> 本日经验条目,格式:类型 | 摘要 | 升级 Skill
|
||||
|
||||
---
|
||||
@@ -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/preface;part/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 等。
|
||||
@@ -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 存带 @ 标记字符串即可。
|
||||
@@ -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`
|
||||
|
||||
@@ -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_override,Model 使用 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`。
|
||||
@@ -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 买断」。
|
||||
@@ -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` 保持一致」的安全模式,避免在不同字段中混放全文与预览内容。
|
||||
- 涉及付费内容时,优先在后端用「权限判断 + 统一内容裁剪」实现安全边界,前端只根据状态选择展示预览还是全文。
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# 2026-03-14 - 内容排名算法修正(排名分公式)
|
||||
|
||||
## 问题 / 场景
|
||||
|
||||
- 管理端「内容排行」与小程序「精选推荐」共用 `computeArticleRankingSections`,原算法错误:
|
||||
- 使用「原始数值 × 权重」:`hot = readCnt×readWeight + payCnt×payWeight + recencyScore×recencyWeight`
|
||||
- `recencyScore` 为 0–1 的天数衰减,非排名分
|
||||
- 管理端修改权重后,列表不刷新(只调了 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`)均复用该算法,修正后两端同步生效。
|
||||
@@ -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 接口,统一数据入口
|
||||
@@ -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/SetString;Redis 不可用时回退 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,不阻塞业务
|
||||
- 缓存 key:soul:{业务}:{标识}
|
||||
@@ -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
Reference in New Issue
Block a user