fix(dialog): AI 助手消息推送补全发送者身份

AI 助手为虚拟用户(userid=-1)无会员记录,userid2nickname 返回空串,
导致群聊推送拼成 ": 内容"。友盟 App 推送与前端桌面/移动通知改为取
msg.nickname 或默认"AI 助手"作为发送者名,显示为 "名称: 内容"。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
kuaifan
2026-06-02 06:10:02 +00:00
parent 8a576595ce
commit c706c515ee
3 changed files with 15 additions and 1 deletions

View File

@@ -189,7 +189,12 @@ class WebSocketDialogMsgTask extends AbstractTask
if ($umengUserid) {
$setting = Base::setting('appPushSetting');
if ($setting['push'] === 'open') {
$umengTitle = User::userid2nickname($msg->userid);
if ($msg->userid == -1) {
// AI 助手虚拟用户没有会员记录,取自定义昵称或默认名称
$umengTitle = ($msg->msg['nickname'] ?? '') ?: Doo::translate('AI 助手');
} else {
$umengTitle = User::userid2nickname($msg->userid);
}
$umengBody = WebSocketDialogMsg::previewMsg($msg);
if ($dialog->type == 'group') {
$umengBody = $umengTitle . ': ' . $umengBody;