From 2817285cf4d3ab439be923f6ce6698c0fe13f3ba Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Fri, 5 Jun 2026 15:03:32 +0800 Subject: [PATCH] =?UTF-8?q?docs(user-v3):=20=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E9=80=89=E4=BA=BA=E4=B8=8B=E6=8B=89=20?= =?UTF-8?q?=E2=80=94=20=E5=AE=A2=E4=BA=BA=E5=90=8D=E5=AD=97undefined?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E5=B7=B2=E4=BF=AE(PR#3511=E5=AE=9E=E6=B5=8B?= =?UTF-8?q?=E8=BF=87)=20+=20=E4=BC=81=E5=BE=AE=E9=80=9A=E9=81=93=E9=9C=80?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E5=88=87/admins=E6=95=B0=E6=8D=AE=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...名字undefined已修+企微通道需切员工数据源-管理后台.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 changelogs-v2/2026-06/05_3414_自定义推送选人下拉-客人名字undefined已修+企微通道需切员工数据源-管理后台.md diff --git a/changelogs-v2/2026-06/05_3414_自定义推送选人下拉-客人名字undefined已修+企微通道需切员工数据源-管理后台.md b/changelogs-v2/2026-06/05_3414_自定义推送选人下拉-客人名字undefined已修+企微通道需切员工数据源-管理后台.md new file mode 100644 index 0000000..b7faad9 --- /dev/null +++ b/changelogs-v2/2026-06/05_3414_自定义推送选人下拉-客人名字undefined已修+企微通道需切员工数据源-管理后台.md @@ -0,0 +1,70 @@ +# 【后端已修 + 前端待办·管理后台】自定义推送「选择用户」下拉:客人名字 undefined(后端已修) + 企业微信通道搜错数据源(前端待接) + +> **关联**: 工单 #3414(内部员工站内信)| **服务**: hl-user-service(后端已改)+ 前端 hl-ui +> **提报时间**: 2026-06-05 | **后端**: @wx | **前端待接**: mmg +> **位置**: 管理后台 → 通知中心 → 自定义推送 → 推送目标「指定用户」→ 选择用户下拉 + +--- + +## ⚠️ 总览:两个独立问题 + +「自定义推送」选「指定用户」时,**选择用户**下拉有两处问题,一处后端已修、一处需前端接: + +| # | 问题 | 归属 | 状态 | +|---|------|------|------| +| 1 | 选「站内信」/「短信」通道,客人下拉显示「**undefined 手机号**」 | 后端 | ✅ **已修 + 部署测试服实测** | +| 2 | 选「企业微信」/「站内信(内部员工)」通道,下拉搜出来的是**客人(带手机号)**而非内部员工 | 前端 | ⏳ 待 mmg 接 | + +--- + +## 1. 客人名字 undefined(后端已修,PR #3511) + +**现象**:选「站内信」或「短信」通道 + 指定用户,客人下拉显示「undefined 13700009999」。 + +**根因**:后端 `/custom-push/users` 只回填了 `realName`,而 C 端客人绝大多数没填真实姓名(realName 为空)→ 前端取 realName 即 undefined。 + +**已修**:realName 为空时回退昵称,并新增 `nickname` 字段。测试服实测: + +``` +GET /admin/notification/custom-push/users?keyword=1 +→ [{ "id": "2059154700023836674", "realName": "游客9999", "nickname": "游客9999", "phone": "13700009999", "avatarUrl": "..." }, ...] +``` + +**前端**:无需改动,继续展示 `realName` 即可(现已永不为空,客人显示昵称如「游客9999」)。如需更明确可改展示 `realName`(真名优先)。 + +--- + +## 2. 企业微信 / 站内信(内部员工) 通道要按通道切数据源(前端待接) + +**现象**:选「企业微信」通道(页面提示「企业微信仅支持推送给内部员工」)或「站内信(内部员工)」通道,「选择用户」下拉里却列出**客人**(带手机号、名字 undefined)。 + +**根因**(测试服 nginx 访问日志实证):这两个通道下,前端**仍调 `/custom-push/users`(C 端客人搜索)**,没有按通道切到员工搜索。 + +**前端改法**:按「推送通道」决定调哪个搜索接口 + 字段映射: + +| 推送通道 | 选人调用接口 | 返回字段(label / value) | +|---------|-------------|--------------------------| +| 站内信(C端)/ 短信 | `GET /admin/notification/custom-push/users?keyword=` | label=`realName`(已回退昵称),value=`id`,副文本 `phone` | +| **企业微信 / 站内信(内部员工)** | `GET /admin/notification/custom-push/admins?keyword=` | label=`name`(企微真名回退 username),value=`adminId`,副文本 `roleName`,**无手机号** | + +⚠️ 字段名不同,克隆组件务必改映射:客人是 `id`/`realName`/`phone`;员工是 `adminId`/`name`/`username`/`roleName`。 + +提交推送时: +- 企业微信:`{channel:"WECHAT_WORK"... 或现有企微 channel, targetType:"ADMIN_SPECIFIC", adminIds:[...]}`(内部员工 adminId) +- 站内信(内部员工):`{channel:"ADMIN_INAPP", targetType:"ADMIN_SPECIFIC", adminIds:[...]}` 或 `ADMIN_BY_ROLE + roleKeys` + +--- + +## 3. 后端状态 + +- `/custom-push/users`(客人搜索):✅ 已修 name 回退 + 部署测试服实测返昵称 +- `/custom-push/admins`(员工搜索):✅ 一直正常(返 adminId/name/username/roleKey/roleName,无手机号) +- 后端两个接口都就绪,问题 2 纯前端按通道切接口。 + +--- + +## 4. 关联 + +- 主功能:`04_3414_内部员工站内信收件箱-SSE实时推送-管理后台.md` +- 选员工下拉历史 bug:`05_3414_选择员工下拉无数据-前端未接searchAdmins接口-管理后台.md` +- 后端:@wx | 前端:**mmg**