功能:好友悄悄话内嵌快捷操作链接

后端:
- notifyOnlineUser 生成带内联 <a> 标签的内容
- added 未互相 → 嵌入 ' 回加好友' 链接
- removed 互相  → 嵌入 '🗑️ 同步移除' 链接
- 链接调用全局 quickFriendAction(act, username, el)

前端:
- 新增 window.quickFriendAction() 全局函数
- 防重复点击(dataset.done 标记)
- 成功后更新链接文字 ' 已回加' / ' 已移除',不刷新页面
This commit is contained in:
2026-03-01 01:03:10 +08:00
parent cc16f89bbe
commit 212f7a0096
2 changed files with 58 additions and 4 deletions

View File

@@ -220,13 +220,17 @@ class FriendController extends Controller
return;
}
// 根据操作类型和互相状态生成不同文案
// 根据操作类型和互相状态生成不同文案(含内联快捷操作链接)
$btnStyle = 'font-weight:bold;text-decoration:underline;margin-left:6px;';
$btnAdd = "<a href=\'#\' onclick=\"quickFriendAction(\'add\',\'{$fromUsername}\',this);return false;\" style=\'color:#16a34a;{$btnStyle}\'> 回加好友</a>";
$btnRemove = "<a href=\'#\' onclick=\"quickFriendAction(\'remove\',\'{$fromUsername}\',this);return false;\" style=\'color:#6b7280;{$btnStyle}\'>🗑️ 同步移除</a>";
$content = match ($action) {
'added' => $mutual
? "💚 <b>{$fromUsername}</b> 将你加为好友了!你们现在互为好友 🎉"
: "💚 <b>{$fromUsername}</b> 将你加为好友了!但你还没有添加对方为好友。",
: "💚 <b>{$fromUsername}</b> 将你加为好友了!但你还没有添加对方为好友。{$btnAdd}",
'removed' => $mutual
? "💔 <b>{$fromUsername}</b> 已将你从好友列表移除。你的好友列表中仍保留对方。"
? "💔 <b>{$fromUsername}</b> 已将你从好友列表移除。你的好友列表中仍保留对方。{$btnRemove}"
: "💔 <b>{$fromUsername}</b> 已将你从他的好友列表移除。",
'online' => "🟢 你的好友 <b>{$fromUsername}</b> 上线啦!",
default => '',