Files
im_manager/docs/admin-adfahi-research/需求文档.md
T

54 KiB
Raw Blame History

鸽达达管理后台复刻需求文档

调研对象:https://admin.adfahi.cn
调研时间:2026-09-04
当前登录账号视角:heiyue
目标:在本项目中复刻一套功能与页面结构一致的 IM 管理后台。

说明:本次通过内置浏览器逐项点击左侧菜单,进入页面后对有查询按钮的页面执行了“查询/查 询”,再采集当前可视区域截图、可见字段、表格列、操作按钮,并下载前端 bundle 反查接口路径。浏览器只读执行环境屏蔽了 fetch/XMLHttpRequest,因此未能直接读取接口 JSON body;本文档中的返回字段以页面查询后的渲染结果和前端接口定义反推。

0. 本次修订说明

根据补充要求,已做以下修订:

  • 截图从原先整页长图改为“当前可视区域截图”,减少大面积空白,更接近实际浏览器视图。
  • 每个列表页进入后均点击查询按钮;群成员管理 因群号必填,使用群组列表中已有群号 68127154 查询,已展示成员数据。
  • 单聊消息、群聊消息、文件管理、日志审计、用户登录、IP 统计、登录失败日志等页面查询后均展示了数据。
  • 邀请码管理已查询到数据;敏感词库、用户反馈当前查询结果为空,需求文档中按“需支持空态”记录。
  • 文档已在每个 3.x 页面章节内补充接口字段、查询参数、返回字段、按钮功能、表格字段、枚举、业务动作、危险操作确认、导入导出、分页和空态说明。
  • 新截图保存在 docs/admin-adfahi-research/screenshots-queried/。

1. 总体信息架构

左侧菜单分为 5 个一级模块,当前账号可见 20 个页面:

一级模块 页面 前端路由
数据概览 数据概览 /dashboard
用户与群组 用户管理 /users
用户与群组 用户分组 /user-policy-groups
用户与群组 群组管理 /groups
用户与群组 群成员管理 /group-members
用户与群组 邀请码管理 /invite-codes
内容审核 单聊消息 /private-messages
内容审核 群聊消息 /group-messages
内容审核 敏感词库 /sensitive-words
内容审核 文件管理 /file-records
内容审核 用户反馈 /feedbacks
日志审计 操作日志 /audit-logs
日志审计 用户账号审计 /user-account-audit
日志审计 群事件审计 /group-events
日志审计 管理员登录 /admin-login-history
日志审计 用户登录 /user-login-history
日志审计 IP 账号统计 /ip-user-stats
日志审计 登录失败日志 /login-failure-logs
系统设置 私域设置 /tenant-settings
系统设置 安全策略 /security-settings

菜单总览截图:

菜单总览

2. 全局布局与交互

后台采用典型管理系统布局:

  • 左侧固定菜单,支持一级菜单展开/收起。
  • 顶部显示当前账号头像、用户名、账户操作入口。
  • 主区域顶部有多标签页导航,打开过的页面会以 tab 形式保留,可关闭。
  • 列表页统一具备查询区、操作按钮区、表格、分页。
  • 详情、编辑、重置密码、IP 白名单、处理反馈、分组设置等操作预计以弹窗完成。
  • 危险操作需要二次确认,包括封禁、强制下线、强制注销、解散群、删除文件、删除敏感词、解锁账号等。

建议在本项目中按 HotGo 规范实现:后端 GoFrame 分层,前端 Vue 3 + Naive UI,枚举/字典由后端统一维护,前端不硬编码字典文本。

3. 页面需求

3.1 数据概览

路由:/dashboard
接口:GET /admin/stats

页面展示统计卡片和趋势表:

  • 总用户数:16
  • 活跃用户:0
  • 总群组数:6
  • 总会话数:11
  • 总消息数:220
  • 今日消息:0
  • 用户增长趋势:日期、数量
  • 消息增长趋势:日期、数量

字段与数据口径:

字段 接口字段建议 含义 展示/统计规则
总用户数 total_users 当前租户用户总量 建议统计未物理删除用户,可包含正常、封禁、注销
活跃用户 active_users 近期活跃用户 建议按当天或近 7 天登录/发消息口径统计
总群组数 total_groups 当前租户群组总量 建议包含正常和封禁群,已解散群是否计入需配置
总会话数 total_conversations 单聊和群聊会话总数 按会话去重统计
总消息数 total_messages 历史消息总量 包含文本、图片、视频、语音、文件、名片、系统消息
今日消息 today_messages 当日新增消息数 按服务器时区从 00:00 统计
用户增长趋势 user_growth[] 最近 7 天新增用户 元素包含 date、count
消息增长趋势 message_growth[] 最近 7 天新增消息 元素包含 date、count

按钮与交互:

  • 本页无查询按钮,进入页面自动调用统计接口。
  • 统计卡片为空时数字显示 0,趋势表仍展示日期行,数量为 0。
  • 页面需支持后续扩展为折线图,但必须保留日期和数量明细。

截图:

数据概览

3.2 用户管理

路由:/users
核心接口:

  • GET /admin/users
  • POST /admin/users
  • GET /admin/users/{id}
  • PATCH /admin/users/{id}/status
  • POST /admin/users/{id}/reset_password
  • POST /admin/users/{id}/ip-whitelist
  • POST /admin/users/{id}/kick
  • POST /admin/users/{id}/deactivate
  • POST /admin/users/batch
  • POST /admin/users/batch-ban
  • POST /admin/users/ban-by-ip
  • POST /admin/users/import-xlsx

查询条件:

  • 用户编号
  • 用户分组
  • 状态
  • 关键词:用户名、昵称、手机号

顶部操作:

  • 创建用户
  • 批量创建
  • 导入 Excel
  • 下载模板

表格列:

  • 编号
  • 头像
  • 用户名
  • 昵称
  • 手机号
  • 注册方式
  • 状态
  • 用户分组
  • 最近登录
  • 创建时间
  • 操作

行操作:

  • 详情
  • 重置密码
  • IP 白名单
  • 调整分组
  • 封禁
  • 强制下线
  • 强制注销

按钮功能说明:

按钮 对应功能 接口 详细说明
查 询 按条件筛选用户 GET /admin/users 点击后页码回到第 1 页;支持编号、分组、状态、关键词组合查询
重 置 清空筛选条件 GET /admin/users 清空编号、用户分组、状态、关键词后重新查询
创建用户 后台新增单个用户 POST /admin/users 弹窗填写昵称、手机号、密码、用户分组;平台账号还需选择租户;密码受安全策略限制
批量创建 批量生成用户 POST /admin/users/batch 支持批量数量、默认密码、默认分组;完成后展示成功/失败并支持下载结果
导入Excel Excel 批量导入用户 POST /admin/users/import-xlsx 上传 .xlsx;模板列为昵称、手机号、密码;返回成功数、失败数、失败原因
下载模板 下载导入模板 静态生成或导出接口 模板示例字段:昵称、手机号、密码
详 情 查看用户详情 GET /admin/users/{id} 展示基础资料、状态、分组、最近登录、IP 白名单、安全权限等
重置密码 管理员重置密码 POST /admin/users/{id}/reset_password 弹窗输入新密码或生成密码;成功后写用户账号审计
IP白名单 设置用户登录白名单 POST /admin/users/{id}/ip-whitelist 多行 IP/CIDR;用户白名单不覆盖全局登录 IP 黑名单
调整分组 修改用户策略组 用户分组分配接口 立即影响好友、建群、APP/Web 登录等权限
封 禁 / 解封 切换用户状态 PATCH /admin/users/{id}/status 封禁后撤销在线会话并禁止登录;需二次确认
强制下线 踢出在线终端 POST /admin/users/{id}/kick 不改变用户状态,仅撤销当前登录态
强制注销 注销用户账号 POST /admin/users/{id}/deactivate 高危操作,需二次确认;注销后按规则清理用户数据

表格字段说明:

表格字段 接口字段建议 含义 展示规则
编号 user_no 对外展示的用户编号 数字,支持精确查询
头像 avatar 用户头像 URL 显示缩略图;无头像显示默认头像;支持点击查看
用户名 username 用户登录名/IM 账号 样例:hy73074162
昵称 nickname 用户显示名 允许为空,空值显示 --
手机号 mobile / phone 绑定手机号 建议脱敏展示
注册方式 register_type 用户来源 后台创建、手机号注册、邀请码注册
状态 status 账号状态 正常绿色、封禁红色、注销灰色
用户分组 policy_group_name 所属策略组 样例:默认用户组
最近登录 last_login_at 最近一次登录时间 无记录显示 --
创建时间 created_at 用户创建时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 用户状态:active 正常、disabled 已封禁、deleted 已注销。
  • 注册方式:admin 后台创建、mobile 手机号注册、invite_code 邀请码注册。
  • 批量封禁结果:success 成功、failed 失败,失败项需返回 username 和 reason。

截图:

用户管理

3.3 用户分组

路由:/user-policy-groups
核心接口:

  • GET /admin/user-policy-groups
  • POST /admin/user-policy-groups
  • PUT /admin/user-policy-groups/{id}
  • DELETE /admin/user-policy-groups/{id}
  • GET /admin/user-policy-groups/{id}/users
  • GET/POST /admin/user-policy-groups/ip-whitelist

顶部操作:

  • 添加分组
  • IP 白名单

表格列:

  • 分组名称
  • 用户数
  • 允许加好友
  • 允许建群
  • 直接加好友
  • 好友上限
  • APP 登录
  • Web 登录
  • IP 白名单
  • 状态
  • 权重
  • 操作

编辑分组字段:

  • 分组名称
  • 默认用户组
  • 启用状态
  • 允许加好友
  • 允许建群
  • 直接添加好友
  • 允许 APP 登录
  • 允许 Web 登录
  • 启用 IP 白名单
  • 好友数量上限,0 表示不限
  • 排序权重

IP 白名单字段:

  • APP 登录白名单,每行一个 IPv4、IPv6 或 CIDR
  • Web 登录白名单,每行一个 IPv4、IPv6 或 CIDR

按钮功能说明:

按钮 对应功能 接口 详细说明
添加分组 新建用户策略组 POST /admin/user-policy-groups 弹窗填写分组名称、开关权限、好友上限、排序权重
IP 白名单 设置租户渠道白名单 GET/POST /admin/user-policy-groups/ip-whitelist 分 APP 登录白名单和 Web 登录白名单,每行一个 IP/CIDR
编辑 修改策略组 PUT /admin/user-policy-groups/{id} 默认分组部分字段需禁用,避免系统无默认组
删除 删除策略组 DELETE /admin/user-policy-groups/{id} 默认用户组不可删除;分组下有用户时应阻止或要求迁移

表格字段说明:

表格字段 接口字段建议 含义 展示规则
分组名称 name 策略组名称 默认组显示“默认”标记
用户数 user_count 分组下用户数量 可扩展点击查看用户列表
允许加好友 allow_add_friend 是否允许主动加好友 允许/禁止
允许建群 allow_create_group 是否允许创建群 允许/禁止
直接加好友 direct_add_friend 加好友是否免确认 开启显示开启,关闭显示 --
好友上限 max_friend_count 最大好友数量 0 显示不限
APP 登录 allow_app_login 是否允许 APP 登录 允许/禁止
Web 登录 allow_web_login 是否允许 Web 登录 允许/禁止
IP 白名单 ip_whitelist_enabled 是否启用分组白名单 已启用/未启用
状态 enabled 分组是否生效 启用/停用
权重 sort_order 排序或匹配优先级 数字

枚举说明:

  • 布尔权限统一为 true/false,前端按字段语义显示为允许/禁止、启用/停用、开启/关闭。
  • 好友上限 0 代表不限。
  • IP 白名单启用后,APP/Web 登录需命中对应白名单;全局黑名单优先级高于白名单。

截图:

用户分组

3.4 群组管理

路由:/groups
核心接口:

  • GET /admin/groups
  • GET /admin/groups/{id}
  • POST /admin/groups/{id}/ban
  • POST /admin/groups/{id}/unban
  • DELETE /admin/groups/{id}
  • GET /admin/groups/{id}/members
  • GET /admin/groups/{id}/files
  • DELETE /admin/groups/{id}/files/{fileId}
  • POST /admin/groups/quick-create

查询条件:

  • 群号
  • 关键词:群名称
  • 状态

表格列:

  • 群组编号
  • 群号
  • 群组名称
  • 成员数
  • 群主昵称
  • 群主用户名
  • 状态
  • 创建时间
  • 操作

行操作:

  • 详情
  • 群文件
  • 封禁
  • 解散

按钮功能说明:

按钮 对应功能 接口 详细说明
查 询 按群号、群名、状态筛选 GET /admin/groups 点击后页码回到第 1 页
重 置 清空筛选条件 GET /admin/groups 清空群号、关键词、状态后重新查询
详 情 查看群详情 GET /admin/groups/{id} 展示群号、群名、群主、成员数、状态、创建时间
群文件 查看群文件 GET /admin/groups/{id}/files 弹窗列表支持类型筛选、下载、删除
封 禁 / 解封 切换群状态 POST /admin/groups/{id}/ban、POST /admin/groups/{id}/unban 封禁后群内不可发送消息;需记录群事件审计
解 散 解散群聊 DELETE /admin/groups/{id} 高危操作,需二次确认;清理成员关系,保留历史记录

表格字段说明:

表格字段 接口字段建议 含义 展示规则
群组编号 id 群内部编号 数字
群号 group_no / group_code 用户端可搜索群号 支持精确查询
群组名称 name 群显示名称 样例:冯、冯氏家族
成员数 member_count 当前成员数量 数字
群主昵称 owner_nickname 群主昵称 空值显示 --
群主用户名 owner_username 群主用户名 样例:hy69089908
状态 status 群状态 正常/封禁/已解散
创建时间 created_at 群创建时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 群组状态:normal 正常、banned 已封禁、dissolved 已解散。
  • 群文件类型:图片、视频、音频、文档、其他。

截图:

群组管理

3.5 群成员管理

路由:/group-members
接口依赖:

  • GET /admin/groups/{id}/members
  • POST /admin/groups/{id}/members/kick
  • POST /admin/groups/{id}/members/mute
  • POST /admin/groups/{id}/members/unmute

查询条件:

  • 群号,必填
  • 角色
  • 关键词:用户名、昵称

表格列:

  • 编号
  • 用户名
  • 昵称
  • 群昵称
  • 角色
  • 禁言状态
  • 加入时间
  • 操作

顶部操作:

  • 查询
  • 重置
  • 刷新

按钮功能说明:

按钮 对应功能 接口 详细说明
查 询 按群号查询成员 GET /admin/groups/{id}/members 群号必填;需先按群号解析群 ID
重 置 清空群号、角色、关键词 - 清空后表格回到空态
刷 新 保持当前条件刷新 GET /admin/groups/{id}/members 不清空已输入群号
禁 言 / 解除禁言 设置成员禁言状态 POST /admin/groups/{id}/members/mute、POST /admin/groups/{id}/members/unmute 需填写禁言时长/原因;写群事件审计
踢 出 将成员移出群 POST /admin/groups/{id}/members/kick 需二次确认;群主不可直接踢出

表格字段说明:

表格字段 接口字段建议 含义 展示规则
编号 user_no 成员用户编号 样例:3
用户名 username 成员用户名 样例:hy69089908
昵称 nickname 成员昵称 样例:F
群昵称 group_nickname 群内昵称 空值显示 --
角色 role 群角色 群主/管理员/成员
禁言状态 mute_status 是否禁言 正常/已禁言
加入时间 joined_at 入群时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 群成员角色:owner 群主、admin 管理员、member 成员。
  • 禁言状态:normal 正常、muted 已禁言。
  • 本次查询样例使用群号 68127154,查询到成员 hy69089908 / F,角色为群主。

截图:

群成员管理

3.6 邀请码管理

路由:/invite-codes
核心接口:

  • GET /admin/invite-codes
  • POST /admin/invite-codes
  • DELETE /admin/invite-codes/{id}
  • GET /admin/invite-codes/{id}/usages

查询条件:

  • 状态
  • 邀请码,6 位数字

顶部操作:

  • 生成邀请码

业务说明:

  • 每次生成 1 个邀请码,可多次使用。
  • 可指定企业与用户。
  • 可勾选不限制时间,永久有效。
  • 可开启自动加好友,使用该码注册的用户直接成为指定用户好友。
  • 可查看使用该邀请码注册的用户列表。

表格列:

  • 邀请码
  • 指定用户
  • 自动加好友
  • 使用人数
  • 创建人
  • 状态
  • 过期时间
  • 创建时间
  • 操作

按钮功能说明:

按钮 对应功能 接口 详细说明
查 询 按状态/邀请码筛选 GET /admin/invite-codes 邀请码为 6 位数字
重 置 清空状态和邀请码 GET /admin/invite-codes 回到全部列表
生成邀请码 创建邀请码 POST /admin/invite-codes 可指定用户、有效期、是否自动加好友;生成 6 位数字码
查 看 查看使用记录 GET /admin/invite-codes/{id}/usages 展示使用该码注册的用户列表
删 除 删除/停用邀请码 DELETE /admin/invite-codes/{id} 已使用邀请码建议标记停用,不物理删除

表格字段说明:

表格字段 接口字段建议 含义 展示规则
邀请码 code 6 位数字邀请码 样例:323441
指定用户 target_username / target_user_no 注册后绑定或自动加好友目标 样例:往事随风 (#2271)
自动加好友 auto_add_friend 是否自动成为指定用户好友 是/否
使用人数 used_count 已使用注册人数 可点击查看详情
创建人 creator_name / creator_id 创建者 当前样例显示编号 16
状态 status 邀请码状态 启用/停用/过期
过期时间 expired_at 有效期截止时间 永久显示“不限制”或“永久”
创建时间 created_at 创建时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 邀请码状态:active 启用、disabled 停用、expired 过期。
  • 自动加好友:true 是、false 否。

截图:

邀请码管理

3.7 单聊消息

路由:/private-messages
核心接口:

  • GET /admin/messages/search
  • GET /admin/messages/{id}

查询条件:

  • 消息类型:全部、文本、图片、视频、语音、文件、名片、系统
  • 发送人用户名
  • 接收人用户名
  • 关键词
  • 开始时间
  • 结束时间

表格列:

  • 发送人
  • 接收人
  • 类型
  • 内容
  • 状态
  • 发送时间
  • 操作

按钮功能说明:

按钮 对应功能 接口 详细说明
查 询 按消息条件检索 GET /admin/messages/search 查询参数含 conversation_type=private
重 置 清空筛选条件 GET /admin/messages/search 清空消息类型、发送人、接收人、关键词、时间
刷 新 保持当前条件刷新 GET /admin/messages/search 不改变页码和筛选条件
删 除 删除或隐藏消息 消息删除接口 需二次确认;写内容审核/操作日志

表格字段说明:

表格字段 接口字段建议 含义 展示规则
发送人 sender_nickname、sender_username 发送方用户 两行展示昵称和用户名
接收人 receiver_nickname、receiver_username 接收方用户 两行展示昵称和用户名
类型 message_type 消息类型 文本/图片/视频/语音/文件/名片/系统
内容 content 消息摘要 文本直接展示,媒体显示预览/下载
状态 status 消息状态 正常/已删除/已撤回/拦截
发送时间 sent_at 消息发送时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 消息类型:text 文本、image 图片、video 视频、voice/audio 语音、file 文件、card 名片、system 系统。
  • 消息状态:normal 正常、deleted 后台删除、recalled 用户撤回、blocked 风控拦截。
  • 查询后样例:F / hy69089908 给 冯仁飞 / hy91144536 发送文本 哈哈哈哈。

截图:

单聊消息

3.8 群聊消息

路由:/group-messages
核心接口:

  • GET /admin/messages/search
  • GET /admin/messages/{id}

查询条件:

  • 消息类型:全部、文本、图片、视频、语音、文件、名片、系统
  • 发送人用户名
  • 关键词
  • 开始时间
  • 结束时间

表格列:

  • 发送人
  • 群名称
  • 类型
  • 内容
  • 状态
  • 发送时间
  • 操作

按钮功能说明:

按钮 对应功能 接口 详细说明
查 询 按群聊消息条件检索 GET /admin/messages/search 查询参数含 conversation_type=group
重 置 清空筛选条件 GET /admin/messages/search 清空消息类型、发送人、关键词、时间
刷 新 保持当前条件刷新 GET /admin/messages/search 不改变页码和筛选条件
删 除 删除或隐藏群消息 消息删除接口 需二次确认;建议写群事件/内容审核日志

表格字段说明:

表格字段 接口字段建议 含义 展示规则
发送人 sender_nickname、sender_username 发送方用户 两行展示
群名称 group_name、group_no 消息所属群 两行展示群名和群号
类型 message_type 消息类型 文本/图片/视频/语音/文件/名片/系统
内容 content 消息摘要 文本展示内容,媒体展示预览/下载
状态 status 消息状态 正常/已删除/已撤回/拦截
发送时间 sent_at 发送时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 消息类型和消息状态同单聊消息。
  • 查询后样例:F / hy69089908 在群 冯 / 68127154 发送文本 哈哈哈哈。

截图:

群聊消息

3.9 敏感词库

路由:/sensitive-words
核心接口:

  • GET /admin/sensitive-words
  • POST /admin/sensitive-words
  • PUT /admin/sensitive-words/{id}
  • DELETE /admin/sensitive-words/{id}
  • POST /admin/sensitive-words/import
  • GET /admin/sensitive-words/export

查询条件:

  • 状态
  • 等级
  • 关键词:敏感词

顶部操作:

  • 新增敏感词
  • 批量导入
  • 文件导入
  • 批量导出

表格列:

  • ID
  • 敏感词
  • 等级
  • 替换词
  • 状态
  • 创建时间
  • 操作

按钮功能说明:

按钮 对应功能 接口 详细说明
查 询 按状态、等级、关键词筛选 GET /admin/sensitive-words 点击后页码回到第 1 页
重 置 清空筛选条件 GET /admin/sensitive-words 回到全部词库
新增敏感词 新增单个词条 POST /admin/sensitive-words 弹窗填写敏感词、等级、替换词、状态
批量导入 粘贴多行导入 POST /admin/sensitive-words/import 返回成功、重复、失败数量
文件导入 上传文件导入 POST /admin/sensitive-words/import 支持 .txt、.csv、.xlsx
批量导出 导出当前筛选词库 GET /admin/sensitive-words/export 导出 CSV/XLSX
编辑 编辑词条 PUT /admin/sensitive-words/{id} 修改后刷新敏感词缓存
删除 删除词条 DELETE /admin/sensitive-words/{id} 需二次确认,建议软删除

表格字段说明:

表格字段 接口字段建议 含义 展示规则
ID id 敏感词编号 数字
敏感词 word 待匹配词条 必填,建议唯一
等级 level 风险等级 低/中/高
替换词 replace_word 命中替代文本 空值显示 --
状态 status 是否生效 启用/停用
创建时间 created_at 创建时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 敏感词等级:low 低、medium 中、high 高。
  • 敏感词状态:active 启用、disabled 停用。
  • 处理动作建议扩展:replace 替换、block 阻断、alert 告警。
  • 当前页面查询结果为空,需支持“暂无数据”空态。

截图:

敏感词库

3.10 文件管理

路由:/file-records
接口:

  • 复用 GET /admin/messages/search
  • 文件删除可复用消息/群文件删除接口

查询条件:

  • 文件类型:全部、图片、视频、音频、文档、其他
  • 发送人用户名
  • 文件名
  • 开始时间
  • 结束时间

表格列:

  • 发送人
  • 接收方
  • 类型
  • 内容
  • 文件名
  • 文件大小
  • URL
  • 状态
  • 发送时间
  • 操作

行操作:

  • 预览
  • 下载
  • 删除

按钮功能说明:

按钮 对应功能 接口 详细说明
查 询 按文件条件检索 GET /admin/messages/search 仅筛选包含文件 URL 的消息
重 置 清空筛选条件 GET /admin/messages/search 清空类型、发送人、文件名、时间
刷 新 保持当前条件刷新 GET /admin/messages/search 不改变当前页
预览 查看图片/视频/音频 文件 URL 只对可预览类型显示
下载 下载文件 文件 URL URL 需鉴权或短期签名,避免泄露
删 除 删除文件记录/隐藏文件消息 消息或群文件删除接口 需二次确认;OSS 文件是否物理删除需配置

表格字段说明:

表格字段 接口字段建议 含义 展示规则
发送人 sender_nickname、sender_username 文件发送方 两行展示
接收方 receiver_name / group_name 单聊接收人或群 两行展示名称和编号
类型 file_type / message_type 文件类型 图片/视频/音频/文档/其他
内容 content 文件消息摘要 显示预览、下载快捷入口
文件名 file_name 原始文件名 空值显示 --
文件大小 file_size 文件字节数 格式化为 B/KB/MB/GB
URL file_url 文件地址 表格省略展示,详情里显示完整 URL
状态 status 文件消息状态 正常/已删除
发送时间 sent_at 上传或发送时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 文件分类:图片、视频、音频、文档、其他。
  • 图片扩展名:jpg、jpeg、png、gif、bmp、webp、svg。
  • 视频扩展名:mp4、avi、mov、mkv、wmv、flv、webm。
  • 音频扩展名:mp3、wav、flac、aac、ogg、wma。
  • 文档扩展名:doc、docx、xls、xlsx、csv、ppt、pptx、pdf、txt、md。

截图:

文件管理

3.11 用户反馈

路由:/feedbacks
核心接口:

  • GET /admin/feedbacks
  • PUT /admin/feedbacks/{id}
  • POST /admin/feedbacks/{id}/priority
  • POST /admin/feedbacks/batch-handle
  • GET /admin/feedbacks/export

查询条件:

  • 用户 ID
  • 状态
  • 优先级
  • 关键词:内容、联系方式

顶部操作:

  • 批量处理
  • 导出 CSV

表格列:

  • 用户
  • 优先级
  • 内容
  • 状态
  • 处理人
  • 创建时间
  • 操作

按钮功能说明:

按钮 对应功能 接口 详细说明
查 询 按用户、状态、优先级、关键词筛选 GET /admin/feedbacks 关键词匹配内容或联系方式
重 置 清空筛选条件 GET /admin/feedbacks 回到全部列表
批量处理 批量更新反馈处理状态 POST /admin/feedbacks/batch-handle 对选中反馈统一设置状态和处理备注
导出 CSV 导出当前筛选结果 GET /admin/feedbacks/export 包含用户、联系方式、内容、状态、处理信息
处理 单条处理反馈 PUT /admin/feedbacks/{id} 填写处理状态、处理备注,记录处理人和处理时间
调整优先级 快速修改优先级 POST /admin/feedbacks/{id}/priority 修改后刷新列表

表格字段说明:

表格字段 接口字段建议 含义 展示规则
用户 user_id、username、nickname 反馈用户 支持按用户 ID 筛选
优先级 priority 处理优先级 低/中/高,颜色区分
内容 content 反馈正文 长文本省略,详情查看完整
状态 status 处理状态 待处理/处理中/已处理/已关闭
处理人 handler_name 最后处理管理员 未处理显示 --
创建时间 created_at 反馈提交时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 优先级:low 低、medium 中、high 高。
  • 反馈状态:pending 待处理、processing 处理中、resolved 已处理、closed 已关闭。
  • 当前页面查询结果为空,需支持“暂无数据”空态。

截图:

用户反馈

3.12 操作日志

路由:/audit-logs
接口:GET /admin/audit/logs

查询条件:

  • 动作
  • 目标类型
  • 目标用户
  • 目标群
  • 开始时间
  • 结束时间

顶部操作:

  • 查询
  • 重置
  • 导出 CSV

表格列:

  • 管理员
  • 动作
  • 目标类型
  • 目标
  • 查询条件
  • IP
  • 时间

按钮功能说明:

按钮 对应功能 接口 详细说明
查询 按动作、目标类型、目标用户、目标群、时间范围筛选 GET /admin/audit/logs 查询后页码回到第 1 页
重 置 清空筛选条件 GET /admin/audit/logs 回到全部日志
导出 CSV 导出当前筛选日志 导出接口 用于审计留存
详情 查看操作详情 GET /admin/audit/logs 或详情接口 展示请求参数、变更内容、管理员信息

表格字段说明:

表格字段 接口字段建议 含义 展示规则
管理员 admin_username 执行动作的后台账号 样例:heiyue
动作 action 操作类型 创建用户、重置密码、封禁等
目标类型 target_type 操作对象类型 用户、群、消息、文件、设置
目标 target_summary 目标摘要 用户显示昵称和用户名
查询条件 query_condition 操作时使用的查询条件 无则显示 --
IP ip 管理员操作 IP IPv4/IPv6
时间 created_at 操作发生时间 YYYY-MM-DD HH:mm:ss

枚举说明:

  • 动作:创建用户、重置密码、修改用户名、更新状态、调整分组、强制下线、强制注销、批量封禁、按 IP 封禁、封禁群、解封群、解散群、删除消息、删除文件、保存设置等。
  • 目标类型:user 用户、group 群、message 消息、file 文件、setting 设置。
  • 查询后样例:heiyue 重置用户密码,目标为 往事随风 / hy17716319,IP 为 141.164.107.33。

截图:

操作日志

3.13 用户账号审计

路由:/user-account-audit
接口:GET /admin/audit/user-account-logs

查询条件:

  • 用户编号
  • 用户名
  • 操作者
  • 操作
  • IP
  • 时间范围

操作类型包括:

  • 修改昵称、修改头像、修改性别、修改签名、修改生日、修改密码
  • 主动注销
  • 管理员修改用户名、管理员更新状态、管理员重置密码、管理员更新安全权限
  • 管理员强制下线、管理员强制注销、管理员调整分组、管理员批量封禁、管理员按 IP 封禁

表格列:

  • 操作时间
  • 目标用户
  • 操作者
  • 操作类型
  • 变更摘要
  • IP / 归属地
  • 设备/客户端

按钮功能说明:

  • 查询:按用户编号、用户名、操作者、操作、IP、时间范围筛选用户账号审计日志。
  • 重置:清空全部筛选条件并重新查询。
  • 本页不提供写操作,只用于审计追踪。

表格字段说明:

表格字段 接口字段建议 含义 展示规则
操作时间 created_at 账号变更时间 倒序排列
目标用户 target_username、target_user_no 被操作用户 两行展示用户名和编号
操作者 actor_type、actor_username 管理员或用户本人 标签区分管理员/用户本人
操作类型 action 账号审计动作 字典化为中文
变更摘要 details / before_data / after_data 变更内容 长内容 tooltip 展示
IP / 归属地 ip、ip_location 操作来源 IP 和归属地分行展示
设备/客户端 device_id / user_agent 客户端信息 长文本省略,tooltip 查看

操作类型枚举:

值 中文
change_nickname 修改昵称
change_avatar 修改头像
change_gender 修改性别
change_signature 修改签名
change_birthday 修改生日
change_password 修改密码
deactivate_account 主动注销
update_username 管理员修改用户名
update_status 管理员更新状态
reset_password 管理员重置密码
update_security_perm 管理员更新安全权限
kick_user 管理员强制下线
force_deactivate 管理员强制注销
assign_policy_group 管理员调整分组
batch_ban_users 管理员批量封禁
ban_users_by_ip 管理员按 IP 封禁

截图:

用户账号审计

3.14 群事件审计

路由:/group-events
接口:GET /admin/groups/events

查询条件:

  • 群号
  • 操作人
  • 目标用户
  • 事件类型
  • 开始时间
  • 结束时间

表格列:

  • 群名称
  • 事件类型
  • 操作人
  • 目标用户
  • 可见范围
  • 旧值
  • 新值
  • 时间

按钮功能说明:

  • 查询:按群号、操作人、目标用户、事件类型、时间范围筛选。
  • 重置:清空筛选项重新查询。
  • 本页不提供写操作,数据由群创建、成员加入、踢出、禁言、解散等业务自动写入。

表格字段说明:

表格字段 接口字段建议 含义 展示规则
群名称 group_name、group_no 事件所属群 两行展示群名和群号
事件类型 event_type 群事件 成员加入、群创建等
操作人 operator_username、operator_nickname 发起事件用户 系统事件显示系统
目标用户 target_username、target_nickname 被操作用户 无目标显示 --
可见范围 visibility 事件对谁可见 全员可见、管理员可见、仅自己
旧值 old_value 变更前值 无则 --
新值 new_value 变更后值 无则 --
时间 created_at 事件时间 YYYY-MM-DD HH:mm:ss

事件类型枚举建议:

  • group_created 群创建。
  • member_joined 成员加入。
  • member_left 成员退出。
  • member_kicked 成员被踢。
  • member_muted 成员禁言。
  • member_unmuted 解除禁言。
  • owner_transferred 群主转让。
  • admin_added 设置管理员。
  • admin_removed 取消管理员。
  • group_name_changed 修改群名。
  • group_banned 群封禁。
  • group_unbanned 群解封。
  • group_dissolved 群解散。

截图:

群事件审计

3.15 管理员登录历史

路由:/admin-login-history
接口:GET /admin/admin-login-history

查询条件:

  • 开始时间
  • 结束时间

表格列:

  • 用户名
  • 登录时间
  • User-Agent
  • IP 地址

按钮功能说明:

  • 查询:按开始时间、结束时间筛选管理员登录历史。
  • 分页:默认 20 条/页。
  • 本页不提供写操作。

表格字段说明:

表格字段 接口字段建议 含义 展示规则
用户名 username 管理员账号 样例:heiyue
登录时间 login_at 登录成功时间 倒序排列
User-Agent user_agent 浏览器 UA 长文本横向滚动或 tooltip
IP 地址 ip 登录 IP IPv4/IPv6

截图:

管理员登录

3.16 用户登录历史

路由:/user-login-history
接口:GET /admin/user-login-history

查询条件:

  • 用户编号
  • 用户名
  • 开始时间
  • 结束时间
  • IP

表格列:

  • 用户编号
  • 用户名
  • 当前状态
  • 登录时间
  • 设备类型
  • 设备型号
  • 系统版本
  • App 版本
  • IP 地址
  • 归属地
  • 操作

行操作:

  • 快速封禁

按钮功能说明:

按钮 对应功能 接口 详细说明
查询 按用户编号、用户名、时间、IP 筛选 GET /admin/user-login-history 查询后页码回到第 1 页
重 置 清空筛选条件 GET /admin/user-login-history 回到全部登录历史
快速封禁 从登录记录封禁用户 PATCH /admin/users/{id}/status 需二次确认;封禁后撤销在线会话

表格字段说明:

表格字段 接口字段建议 含义 展示规则
用户编号 user_no 用户对外编号 支持筛选
用户名 username 用户名 支持筛选
当前状态 status 用户当前状态 正常/已封禁/已注销
登录时间 login_at 本次登录时间 倒序排列
设备类型 device_type 登录终端 web/android/ios
设备型号 device_model 设备名称 样例:OPPO PCHM10
系统版本 os_version 操作系统版本 样例:Android 11
App 版本 app_version 客户端版本 web 可显示 -
IP 地址 ip 登录 IP 支持筛选
归属地 ip_location IP 地理位置 无法解析显示未知

枚举说明:

  • 设备类型:web Web 端、android Android APP、ios iOS APP、unknown 未知设备。
  • 用户状态同用户管理。

截图:

用户登录

3.17 IP 账号统计

路由:/ip-user-stats
核心接口:

  • GET /admin/audit/ip-user-stats
  • GET /admin/audit/ip-user-stats/users
  • POST /admin/users/ban-by-ip

查询条件:

  • IP,支持 IPv4 或 IPv6

表格列:

  • IP 地址
  • 归属地
  • 关联用户
  • 注册用户
  • 登录用户
  • 正常
  • 已封禁
  • 最近活动
  • 操作

行操作:

  • 用户列表
  • 封禁 IP,平台级账号可见

按钮功能说明:

按钮 对应功能 接口 详细说明
查询 按 IP 筛选统计 GET /admin/audit/ip-user-stats 支持 IPv4/IPv6
重 置 清空 IP GET /admin/audit/ip-user-stats 回到全部统计
用户列表 查看该 IP 关联用户 GET /admin/audit/ip-user-stats/users 弹窗展示注册/登录命中的用户
封禁 IP 封禁该 IP 关联用户 POST /admin/users/ban-by-ip 平台账号可见;返回命中数、成功数、失败数

表格字段说明:

表格字段 接口字段建议 含义 展示规则
IP 地址 ip 统计 IP IPv4/IPv6
归属地 ip_location IP 地理位置 样例:浙江 绍兴
关联用户 user_count 注册或登录命中过该 IP 的用户数 大于 1 显示“多账号”标签
注册用户 register_user_count 使用该 IP 注册的用户数 数字
登录用户 login_user_count 使用该 IP 登录的用户数 数字
正常 active_user_count 关联用户中正常数量 数字
已封禁 disabled_user_count 关联用户中封禁数量 数字
最近活动 last_seen_at 最近注册或登录时间 YYYY-MM-DD HH:mm:ss

关联用户弹窗字段:

  • 用户 ID,平台账号可见。
  • 用户编号、用户名、昵称。
  • 来源:注册、登录,可同时命中。
  • 状态:正常、已封禁。
  • 最近活动。

截图:

IP 账号统计

3.18 登录失败日志

路由:/login-failure-logs
核心接口:

  • GET /admin/login-failure-logs
  • POST /admin/security/unlock

查询条件:

  • 类型
  • 登录账号
  • IP
  • 开始时间
  • 结束时间

表格列:

  • 类型
  • 登录账号
  • 失败原因
  • IP 地址
  • User-Agent
  • 时间
  • 操作

行操作:

  • 解锁

按钮功能说明:

按钮 对应功能 接口 详细说明
查询 按类型、账号、IP、时间筛选 GET /admin/login-failure-logs 查询后页码回到第 1 页
重 置 清空筛选条件 GET /admin/login-failure-logs 回到全部失败记录
解锁 解除账号或 IP 登录锁定 POST /admin/security/unlock 需二次确认

表格字段说明:

表格字段 接口字段建议 含义 展示规则
类型 type 登录失败账号类型 用户/管理员
登录账号 account 输入的账号 手机号、用户名或管理员账号
失败原因 reason 失败说明 样例:密码错误
IP 地址 ip 失败来源 IP 支持筛选
User-Agent user_agent 客户端 UA 长文本省略
时间 created_at 失败时间 倒序排列

枚举说明:

  • 类型:user 用户、admin 管理员。
  • 失败原因:password_error 密码错误、account_not_found 账号不存在、account_disabled 账号被封禁、captcha_error 验证码错误、ip_blocked IP 被拦截、too_many_attempts 连续失败次数过多。

截图:

登录失败日志

3.19 私域设置

路由:/tenant-settings
核心接口:

  • GET /admin/tenant-settings
  • PUT /admin/tenant-settings

配置项:

  • 消息字符上限:范围 1 到 5000,仅允许调低
  • 图片大小上限:范围 1 到 1000 MB
  • 文件大小上限:范围 1 到 1000 MB,默认 50 MB
  • 最大撤回消息时间:范围 1 到 1440 分钟;群主/管理员可撤回自己或他人消息,普通用户撤回自己的消息固定为 2 分钟
  • 是否开启手机验证码:关闭后,注册仅支持邀请码,短信登录与忘记密码不可用

操作:

  • 保存设置

按钮与字段说明:

字段/按钮 接口字段建议 范围/枚举 业务影响
消息字符上限 message_char_limit 1 到 5000,仅允许调低 用户发送文本消息时校验长度
图片大小上限(MB) image_size_limit_mb 1 到 1000 图片上传前后端双校验
文件大小上限(MB) file_size_limit_mb 1 到 1000,默认 50 文件上传前后端双校验
最大撤回消息时间(分钟) max_recall_minutes 1 到 1440 群主/管理员撤回自己或他人消息的最长时限
是否开启手机验证码 sms_code_enabled 开启/关闭 关闭后注册仅支持邀请码,短信登录与忘记密码不可用
保存设置 - - 提交当前租户配置,后端校验后清理租户配置缓存

枚举说明:

  • sms_code_enabled=true:开启手机验证码,支持短信登录、忘记密码、手机号验证码注册。
  • sms_code_enabled=false:关闭手机验证码,仅支持邀请码注册。

截图:

私域设置

3.20 安全策略

路由:/security-settings
核心接口:

  • GET /admin/security-settings
  • PUT /admin/security-settings
  • POST /admin/security/unlock

配置分组与字段:

  • 用户安全
    • 验证码触发次数:连续密码错误该次数后要求验证码,范围 1 到 10
    • 密码最小位数:范围 6 到 32
    • 强制包含字母
  • 注册登录管控
    • 用户注册功能
    • 修改密码功能
    • 用户登录功能
    • Web 端多端登录
  • 聊天消息管控
    • 全局好友功能
    • 全局群消息
    • 全局私聊消息
    • 群聊发言间隔:0 表示不限制;1 到 1000 表示同一群内两次发言的最小间隔
  • 群组功能管控
    • 群号搜索功能
    • 群创建功能
    • 群解散功能
    • 群管理员功能
    • 是否显示群人数
  • 其他功能开关
    • 允许用户注销账号
  • IP 访问控制
    • 注册 IP 黑名单:每行一个 IPv4、IPv6 或 CIDR,命中后无法注册及获取注册短信验证码
    • 登录 IP 黑名单:命中后无法密码登录、短信登录及刷新 Token;黑名单优先级高于用户分组登录白名单
  • 高级功能
    • 消息已读状态

操作:

  • 保存设置

按钮与字段说明:

分组 字段 接口字段建议 范围/枚举 业务影响
用户安全 验证码触发次数 captcha_trigger_count 1 到 10 连续密码错误达到次数后要求验证码
用户安全 密码最小位数 password_min_length 6 到 32 注册、修改密码、后台重置密码均生效
用户安全 强制包含字母 password_require_letter 开启/关闭 开启后密码必须包含英文字母
注册登录管控 用户注册功能 user_register_enabled 开启/关闭 关闭后用户端隐藏注册入口
注册登录管控 修改密码功能 password_change_enabled 开启/关闭 关闭后用户无法自行修改密码
注册登录管控 用户登录功能 user_login_enabled 开启/关闭 关闭后用户无法登录,不影响已登录用户
注册登录管控 Web 端多端登录 web_multi_login_enabled 开启/关闭 开启后同账号可多浏览器同时登录
聊天消息管控 全局好友功能 global_friend_enabled 开启/关闭 关闭后无法搜索和添加好友
聊天消息管控 全局群消息 global_group_message_enabled 开启/关闭 关闭后所有群无法发送消息
聊天消息管控 全局私聊消息 global_private_message_enabled 开启/关闭 关闭后所有私聊无法发送消息
聊天消息管控 群聊发言间隔(秒) group_message_interval_seconds 0 到 1000 0 不限制,其他值限制同群发言间隔
群组功能管控 群号搜索功能 group_search_enabled 开启/关闭 关闭后隐藏群号和群搜索入口
群组功能管控 群创建功能 group_create_enabled 开启/关闭 关闭后所有人无法新建群聊
群组功能管控 群解散功能 group_dissolve_enabled 开启/关闭 关闭后用户端无法解散群,不影响后台
群组功能管控 群管理员功能 group_admin_enabled 开启/关闭 关闭后无法设置群管理员
群组功能管控 是否显示群人数 show_group_member_count 开启/关闭 关闭后用户端群资料不显示总人数
其他功能开关 允许用户注销账号 account_deactivate_enabled 开启/关闭 关闭后隐藏注销账号按钮
IP 访问控制 注册 IP 黑名单 register_ip_blacklist 多行 IP/CIDR 命中后无法注册和获取注册短信验证码
IP 访问控制 登录 IP 黑名单 login_ip_blacklist 多行 IP/CIDR 命中后无法密码登录、短信登录和刷新 Token
高级功能 消息已读状态 message_read_status_enabled 开启/关闭 开启后显示消息已读/未读标记
保存设置 - - 保存安全配置,写操作日志,刷新配置缓存

枚举说明:

  • 所有开关均使用布尔值:true 开启,false 关闭。
  • IP 黑名单每行一个 IPv4、IPv6 或 CIDR,保存时去空行、去重、校验格式。
  • 登录 IP 黑名单优先于用户分组白名单。

截图:

安全策略

4. 接口清单

从前端静态资源反查到的接口如下,建议后端按 REST 风格补齐:

模块 接口
认证 /admin/auth/login, /admin/auth/profile, /admin/auth/password, /admin/auth/totp/status, /admin/auth/totp/setup, /admin/auth/totp/bind, /admin/auth/totp/unbind
统计 /admin/stats
用户 /admin/users, /admin/users/{id}, /admin/users/{id}/status, /admin/users/{id}/username, /admin/users/{id}/reset_password, /admin/users/{id}/ip-whitelist, /admin/users/{id}/friend-privilege, /admin/users/{id}/security-perm, /admin/users/{id}/kick, /admin/users/{id}/deactivate, /admin/users/batch, /admin/users/batch-ban, /admin/users/ban-by-ip, /admin/users/import-xlsx
用户分组 /admin/user-policy-groups, /admin/user-policy-groups/{id}, /admin/user-policy-groups/{id}/users, /admin/user-policy-groups/ip-whitelist
群组 /admin/groups, /admin/groups/{id}, /admin/groups/{id}/ban, /admin/groups/{id}/unban, /admin/groups/{id}/members, /admin/groups/{id}/members/kick, /admin/groups/{id}/members/mute, /admin/groups/{id}/members/unmute, /admin/groups/{id}/files, /admin/groups/{id}/files/{fileId}, /admin/groups/events, /admin/groups/quick-create
消息与文件 /admin/messages/search, /admin/messages/{id}
邀请码 /admin/invite-codes, /admin/invite-codes/{id}, /admin/invite-codes/{id}/usages
敏感词 /admin/sensitive-words, /admin/sensitive-words/{id}, /admin/sensitive-words/import, /admin/sensitive-words/export
反馈 /admin/feedbacks, /admin/feedbacks/{id}, /admin/feedbacks/{id}/priority, /admin/feedbacks/batch-handle, /admin/feedbacks/export
审计 /admin/audit/logs, /admin/audit/user-account-logs, /admin/audit/ip-user-stats, /admin/audit/ip-user-stats/users, /admin/control/audit-logs
登录日志 /admin/admin-login-history, /admin/user-login-history, /admin/login-failure-logs
设置 /admin/tenant-settings, /admin/security-settings, /admin/security/unlock
当前菜单未展示但 bundle 存在 /admin/tenants, /admin/admins, /admin/tenant-admins, /admin/roles, /admin/nodes, /admin/system/nodes-status, /admin/avatar-pool, /admin/avatar-pool/backfill, /admin/system-conversations, /admin/system-conversations/send, /admin/conversation-notices, /admin/reports, /admin/login-streak/rank, /admin/private-msg/rank, /admin/user-password, /admin/keyword-alerts, /admin/alert-keywords, /admin/alert-bot-config, /admin/domain/encrypt, /admin/domain/decrypt, /admin/domain/obfuscate, /admin/domain/config, /admin/domain/push-update, /admin/domain/push-bucket-update

通用响应结构建议:

{
  "code": 0,
  "message": "ok",
  "data": {
    "items": [],
    "total": 0,
    "page": 1,
    "size": 20
  }
}

列表接口统一分页参数:

  • page
  • page_size
  • 各页面查询条件

5. 核心数据模型建议

建议至少设计以下数据表或领域模型:

  • 管理员账号:账号、密码、TOTP、角色、权限、登录历史
  • 用户:用户编号、用户名、昵称、手机号、头像、状态、注册方式、用户分组、最近登录、创建时间
  • 用户分组:权限开关、好友上限、登录白名单、排序权重、默认分组标记
  • 群组:群号、名称、群主、成员数、状态、创建时间
  • 群成员:用户、群、角色、群昵称、禁言状态、加入时间
  • 消息:会话类型、发送人、接收人/群、消息类型、内容、文件信息、状态、发送时间
  • 文件记录:发送人、接收方、文件类型、文件名、大小、URL、消息关联、状态
  • 邀请码:邀请码、指定用户、自动加好友、使用人数、创建人、状态、有效期
  • 敏感词:词条、等级、替换词、状态、创建时间
  • 用户反馈:用户、联系方式、内容、优先级、状态、处理人、处理备注
  • 操作日志:管理员、动作、目标类型、目标、查询条件、IP、时间
  • 用户账号审计:目标用户、操作者、操作类型、变更前后、IP、归属地、设备
  • 群事件审计:群、事件类型、操作人、目标用户、可见范围、旧值、新值、时间
  • 登录历史:账号类型、账号、登录时间、设备信息、IP、归属地
  • 登录失败日志:类型、账号、失败原因、IP、User-Agent、锁定/解锁状态
  • 租户设置:消息、文件、验证码、撤回时间等私域配置
  • 安全策略:密码、注册登录、聊天、群组、注销、IP 黑名单、已读状态配置

6. 权限建议

前端 bundle 中能看到的权限点包括:

  • tenant_manage
  • user_manage
  • group_manage
  • view_private_chat
  • view_group_chat
  • view_audit_log

建议在 HotGo 中拆成更细的菜单/按钮权限:

  • 用户管理:查看、创建、批量创建、导入、详情、重置密码、调整分组、封禁、强制下线、注销、IP 白名单
  • 群组管理:查看、详情、群文件、封禁、解散、成员踢出、禁言/解除禁言
  • 内容审核:消息查看、文件预览下载删除、敏感词增删改导入导出、反馈处理导出
  • 日志审计:查看、导出、解锁、IP 关联用户查看、按 IP 封禁
  • 系统设置:私域设置保存、安全策略保存

7. 实现优先级

第一阶段建议先完成可见菜单:

  1. 后台登录、权限、菜单、布局。
  2. 数据概览统计。
  3. 用户管理、用户分组、群组管理、群成员管理、邀请码管理。
  4. 单聊/群聊消息、文件管理、敏感词库、用户反馈。
  5. 操作日志、用户账号审计、群事件审计、登录历史、IP 统计、失败日志。
  6. 私域设置、安全策略。

第二阶段再补 bundle 中存在但当前菜单未展示的能力:

  • 租户、管理员、角色、节点、头像池、系统会话、系统通知、报表、排行榜、关键词告警、域名加密等。

8. 采集产物

本次调研文件保存在:

  • 截图目录:docs/admin-adfahi-research/screenshots-queried/
  • 每页结构化采集:docs/admin-adfahi-research/*.json
  • 前端 bundle:docs/admin-adfahi-research/index-RosMaKu2.js
  • 接口尝试结果:docs/admin-adfahi-research/api-samples.json