96 lines
5.4 KiB
Markdown
96 lines
5.4 KiB
Markdown
# 会议纪要 - 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 解析为「段落 + 片段」(普通文本 / mention),WXML 中对 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`*
|