Files
soul-yongping/.cursor/meeting/2026-03-05_文章详情@某人加好友方案讨论.md

96 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 会议纪要 - 2026-03-05 | 文章详情 @某人 高亮与一键加好友方案讨论
> 本文件由**助理橙子**在会议结束后自动生成。
---
## 基本信息
- **时间**2026-03-05
- **议题**:小程序文章详情中「@某人」高亮、点击添加好友;内容编辑时如何插入并存储用户信息(含用户 id以及是否有更优实现方式
- **触发方式**:开一个开发大会,讨论一下
- **参与角色**:产品经理、后端开发、管理端开发工程师、小程序开发工程师、测试人员
---
## 各角色发言
### 【产品经理】
- 需求:文章中可出现「@某某人」,名称高亮,用户点击后执行添加该人为好友;添加好友能力以接口为准。
- 用户价值:从内容到人的关系链沉淀,提升互动与转化。
- 业务规则:仅支持 @ 已存在用户;展示名以昵称为准;点击统一为「发起添加好友」。
- 验收标准:文章详情内 @ 名称高亮且可点击;点击后调用添加好友流程;管理端/编辑侧能插入 @用户 并落库(含用户 id
### 【后端开发】
- 添加好友接口需在 soul-api 的 **miniprogram** 路由组下提供(如 `POST /api/miniprogram/friend/add``POST /api/miniprogram/user/add-friend`),入参建议 `targetUserId``开发文档/api_v1.md` 当前为存客宝文档,添加好友接口应单独约定或在该文档中新增小节。
- 内容存储推荐**方案 A**:正文存带 @ 标记的字符串,如 `@[昵称](userId)``{{@userId:昵称}}`,后端只存不解析,由前端解析;方案 B正文 + mentions 位置表)需维护偏移量,正文变更易错位。
- 数据模型:内容表扩展 content 存带 @ 标记的字符串即可,无需单独表。
### 【管理端开发工程师】
- 文章/章节编辑页增加「插入 @用户」:选择用户后插入到光标位置,保存时写入约定格式的 content仅调 `/api/admin/*``/api/db/*`
- 管理端列表/预览可简单高亮或原样显示,与小程序约定同一 content 格式即可。
### 【小程序开发工程师】
- 阅读页当前为按行渲染纯文本;需将 content 解析为「段落 + 片段」(普通文本 / mentionWXML 中对 mention 渲染为可点击 `<text data-user-id>` 并高亮,点击时调用 miniprogram 添加好友接口。
- 继续使用现有章节内容接口,保证返回的 content 含 @ 标记;添加好友调用 miniprogram 组新接口。
### 【测试人员】
- 用例:无 @ 行为不变;有 @ 高亮且点击调起添加好友并提示;重复点击、未登录、无权限等边界;管理端插入 @ 后保存再编辑,内容与用户 id 不错位。
- 联调:小程序 ↔ 章节接口、添加好友接口;管理端 ↔ 内容保存与用户列表。回归:阅读页其他功能不受影响。
---
## 讨论过程
- 一致同意采用「正文内嵌 @ 标记」方案,格式统一为 `@[昵称](userId)`(或约定等价格式)。
- 添加好友接口不混用存客宝 api_v1在 soul-api miniprogram 组新增并在开发文档中明确。
- 管理端负责插入 @ 并写入同一 content 格式;小程序负责解析、展示与点击加好友。
---
## 会议决议
1. **内容格式**:正文使用内嵌 @ 标记,格式 `@[昵称](userId)`(或团队约定的等价格式),后端/管理端/小程序统一。
2. **小程序**:阅读页解析 content 中 @,渲染为高亮可点击;点击时调 miniprogram 添加好友接口(如 `targetUserId`),并做结果提示。
3. **管理端**:编辑页支持「插入 @用户」,保存时写入约定格式的 content。
4. **后端**:提供 miniprogram 添加好友接口;章节/文章接口返回的 content 支持带 @ 标记的字符串。
5. **待确认**:添加好友接口的最终 path、入参/出参;若已有好友/关注模型需对齐。
---
## 待办事项
| 责任角色 | 任务 | 优先级 | 截止建议 |
|---------|------|--------|---------|
| 后端开发 | 在 miniprogram 组新增添加好友接口并更新开发文档 | 高 | 排期后 |
| 管理端开发工程师 | 文章/章节编辑页支持插入 @用户并保存为约定 content 格式 | 高 | 后端接口与格式确定后 |
| 小程序开发工程师 | 阅读页解析 @ 并高亮可点击,点击调添加好友接口 | 高 | 后端接口就绪后 |
| 产品经理 | 确认添加好友接口 path 与业务规则(已是好友/重复请求等) | 中 | 开发前 |
| 测试人员 | 编写 @ 展示与添加好友用例及回归清单 | 中 | 联调前 |
---
## 问题与作答区
| # | 问题 | 责任角色 | 作答 |
|---|------|---------|------|
| 1 | 添加好友接口的最终 path、入参如 targetUserId、出参及错误码 | 后端开发 | (待补充) |
| 2 | 开发文档中添加好友接口放在 api_v1.md 新小节还是单独文档? | 后端/产品 | (待补充) |
| 3 | 是否已有「好友/关注」表或接口需与本次对接? | 后端开发 | (待补充) |
---
## 各角色经验与业务理解更新
- 本次会议结论已同步至各角色当日经验文件(见 `agent/{角色}/evolution/2026-03-05.md`)。
- 团队共享:内容 @ 采用「正文内嵌 `@[昵称](userId)`」方案;添加好友接口归属 miniprogram 组,与存客宝 api_v1 分离。
---
*会议纪要由助理橙子生成 | 各角色经验已同步至 `agent/{角色}/evolution/2026-03-05.md`*