跳到内容

Admin 页面预览

受众:开发者 摘要:后台管理端视图:登录 / 菜单 / 用户角色权限 / 字典模板多语言 / 日志调度队列 / 业务模块管理。

本页归档后台管理端工程接入说明、页面截图和页面清单。前端聚合构建、截图资源目录和通用规则见 前端工程。当前后台管理端已覆盖 IAM、Config、Notification、File、Queue、CMS、Blog、Forum、Mall、Open Platform、Short Link 等管理入口;新增后台页面优先接入已实现后端 contract,缺接口时在对应功能簇内补齐,避免用静态样板数据伪装可用页面。

动态菜单本地化

Admin 动态菜单优先使用后端返回的 titleKey / i18nKey;已知项目后台页面会按菜单 codepathcomponent 解析到 menus.framework*,避免中文语言下继续显示旧菜单种子的 CMSBlogForumMallOpen Platform 等英文技术名。历史菜单缓存或后端旧数据中如仍存在旧品牌前缀,前端会自动归一到 menus.framework*。后端返回明确本地化的 displayName / localizedTitle / localeTitle 或中文 title / name 时仍可直接展示;切换语言会清理动态路由缓存并重新初始化菜单,请求会携带标准 Accept-Language,供后端或网关按 locale 返回业务元数据。自定义菜单如需多语言展示,建议主分支继续提供稳定 titleKey / i18nKey 或按当前 locale 解析后的展示名。

页面截图 / 页面清单

Admin 完整页面完成后,桌面全屏截图统一放在 docs/zh-CN/assets/frontend/admin/,并在本节引用。截图必须覆盖完整浏览器视口;页面可滚动时优先提供 fullPage 全页长图,不提交局部组件或裁剪后的卡片截图。登录页支持通过 hash 路由查询参数直接打开指定模式,便于部署验收和截图留档;需要登录态或后端数据的页面可使用联调环境生成截图,但文档必须说明当前后端/API 缺口。

本页所有页面所属端均为 Admin。页面条目使用“页面名 + 截图 + 关键说明”的纵向写法,适合手机、平板和桌面阅读。

Admin 工作台页

Admin 工作台页
  • 路由路径/#/welcome
  • 当前完成状态:已更新。首屏通过 GET /api/v1/admin/home-dashboard 读取真实运行快照,展示账号权限、内容资产、交易订单、运维事件、模块就绪度、能力清单和最近活动;模块入口继续指向 IAM、内容、商城、AI 平台和运维审计等已接入后台路由。
  • 需要主分支补齐的后端/API 事项:无新增;首页快照按已安装表安全统计,可选模块未安装时展示未安装 / 待配置状态,不再用静态样板数据伪装可用。
  • 后续可优化点:后续可继续叠加个人待办、告警优先级和更细粒度的运营指标。

账号密码登录页

Admin 账号密码登录页
  • 路由路径/#/login?page=account
  • 当前完成状态:已完成。支持站点公开信息回填、账号密码登录、第三方登录入口失败态和重试、登录提交防重入;站点标题、Logo、浏览器标题和页脚会复用公开站点信息。
  • 密码校验:登录、注册和找回密码前端默认按后端 low 策略放行 6-72 位无空白字符,避免测试环境弱口令被模板强密码正则拦截;后续应继续从后端能力接口读取更细策略。
  • 需要主分支补齐的后端/API 事项:无新增;如需图形验证码或风险挑战,后续由 Auth 后端补齐验证码协议。
  • 后续可优化点:后续可结合真实站点品牌配置更新登录页插画。

注册页

Admin 注册页
  • 路由路径/#/login?page=register
  • 当前完成状态:已完成。支持短信验证码发送、注册表单校验、防重复提交和 POST /api/v1/auth/register
  • 需要主分支补齐的后端/API 事项:无新增。
  • 后续可优化点:后续可根据产品策略补充邀请注册、注册开关、密码强度说明和隐私协议链接落点。

找回密码页

Admin 找回密码页
  • 路由路径/#/login?page=forgot-password
  • 当前完成状态:已完成。支持短信验证码发送、密码重置表单校验、防重复提交和 POST /api/v1/auth/password/reset
  • 需要主分支补齐的后端/API 事项:无新增。
  • 后续可优化点:后续可补充邮箱找回密码模式、密码强度说明和异常状态指引。

个人信息页

Admin 个人信息页
  • 路由路径/#/account-settings?pane=profile
  • 当前完成状态:已完成。支持当前用户资料读取、昵称保存、头像上传、真实姓名 / 性别 / 生日 / 个人简介读取与保存,并提供保存防重入;邮箱和手机号作为登录身份绑定只读展示,变更时跳转到账户管理验证码流程。
  • 需要主分支补齐的后端/API 事项:无阻塞;后续可补当前用户昵称专用更新接口,减少个人页复用后台用户更新接口。
  • 后续可优化点:头像上传后可补充裁剪、压缩和尺寸建议;昵称后续可进一步收敛到当前用户专用接口。

账户偏好设置页

Admin 账户偏好设置页
  • 路由路径/#/account-settings?pane=preferences
  • 当前完成状态:已完成。支持读取和保存当前用户账户消息、系统消息、待办任务、营销消息、语言、时区和主题偏好,并接入站内信、邮件、短信、WebSocket 和系统 / 账号 / 待办 / 博客 / 论坛 / Mall / 营销通知偏好。
  • 需要主分支补齐的后端/API 事项:无新增。
  • 后续可优化点:主题偏好后续可结合全局主题立即生效;通知偏好可结合通知中心增加即时预览。

账户管理页

Admin 账户管理页
  • 路由路径/#/account-settings?pane=accountManagement
  • 当前完成状态:已完成。支持当前用户名策略展示与修改、密码修改、手机绑定变更、邮箱绑定变更、绑定状态展示,以及当前用户密保问题读取、1 到 5 个问题编辑和整体替换保存。
  • 需要主分支补齐的后端/API 事项:无新增。
  • 后续可优化点:用户名修改可补充更细的剩余额度和冷却期提示;绑定弹窗后续可补充当前登录密码二次确认、绑定变更审计展示和后台风控策略入口。

Forum 内容审核工作台

Admin Forum 内容审核工作台
  • 路由路径/#/forum/moderation
  • 当前完成状态:已完成。支持 Forum 举报聚合筛选、当前页举报状态统计、最近处理记录展示,并可跳转举报处理页、举报处理记录页和操作日志页;举报页和处理记录页已支持从工作台带入对象、用户、状态和处理记录筛选参数。隐藏主题 / 回复等副作用动作仍保持只读提示,不在 Admin 端伪造成功。
  • 需要主分支补齐的后端/API 事项:当前复用既有 Forum 举报和举报处理记录接口;如需把工作台纳入正式后台动态菜单,需主分支补齐菜单种子,建议菜单 code forum:moderation、路径 /#/forum/moderation、组件 forum/moderation/index、权限 forum:report:view。联动隐藏主题 / 回复仍需主分支提供专用动作接口、权限、二次确认、审计和幂等语义。
  • 后续可优化点:后续可接入内容命中规则、关键词高亮、审核队列分配、批量归档和跨 Blog / CMS 的统一内容处理工作台。

Forum 板块管理页

Admin Forum 板块管理页
  • 路由路径/#/forum/boards
  • 当前完成状态:已完成。支持 Forum 板块分页查询、关键词 / 状态筛选、新增、编辑、单条删除和批量删除,并展示主题数、回复数、排序和最后回复时间。
  • 需要主分支补齐的后端/API 事项:无新增;Forum 板块 CRUD API、forum:board:* 权限码、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:继续补充板块统计、板块版主和板块审核规则。

Forum 主题管理页

Admin Forum 主题管理页
  • 路由路径/#/forum/topics
  • 当前完成状态:已完成。支持 Forum 主题分页查询、关键词 / 板块 / 作者 / 状态筛选、新增、编辑、单条删除和批量删除,并展示内容总览、治理待办、互动总览运营统计卡片,以及置顶、精华、浏览、回复、点赞、收藏、发布时间和最后回复时间。
  • 需要主分支补齐的后端/API 事项:Forum 主题 CRUD API、forum:topic:* 权限码、后台动态菜单种子和超级管理员挂载已补齐;若产品侧需要独立置顶、精华、上下线或审核按钮,后续可由主分支补充专用动作接口。
  • 后续可优化点:主题正文后续可按真实内容编辑器能力升级为富文本或 Markdown。

Forum 回复管理页

Admin Forum 回复管理页
  • 路由路径/#/forum/replies
  • 当前完成状态:已完成。支持 Forum 回复分页查询、主题 / 作者 / 状态筛选、新增、编辑、单条删除和批量删除,并展示所属主题、父回复、点赞数、创建时间和更新时间。
  • 需要主分支补齐的后端/API 事项:Forum 回复 CRUD API、forum:reply:* 权限码、后台动态菜单种子和超级管理员挂载已补齐;若产品侧需要独立审核、隐藏原因、举报联动或内容关键词检索,后续可由主分支补充专用字段和动作接口。
  • 后续可优化点:回复内容后续可按真实内容编辑器能力升级为富文本或 Markdown。

Forum 举报处理页

Admin Forum 举报处理页
  • 路由路径/#/forum/reports
  • 当前完成状态:已完成。支持 Forum 主题 / 回复举报分页查询、对象 / 用户 / 状态筛选、详情查看、处理状态二次确认更新、处理记录跳转、单条删除和批量删除;页面内明确提示当前不会联动隐藏主题或回复。
  • 需要主分支补齐的后端/API 事项:Forum 举报处理 API、forum:report:* 权限码、后台动态菜单种子和超级管理员挂载已补齐;举报处理记录 API、forum:report-process-record:* 权限码、后台动态菜单种子和超级管理员挂载已补齐,菜单编码为 forum:report-process-record,路由为 /#/forum/report-process-records
  • 后续可优化点:如需联动隐藏主题 / 回复,后续由主分支补充专用动作接口、权限、审计和幂等语义。

CMS 内容运营工作台

Admin CMS 内容运营工作台
  • 路由路径/#/cms/moderation
  • 当前完成状态:已完成。支持 CMS 内容、投放窗口、链接资源和图片资源聚合展示,可按类型、关键词、父级和状态筛选,并可跳转 CMS 内容管理页和操作日志页;内容新增、编辑、删除仍回到内容管理页并以后端权限为准。
  • 需要主分支补齐的后端/API 事项:CMS 内容审核动作和内容操作日志接口已补齐;如需把工作台纳入正式后台动态菜单,需主分支补齐菜单种子,建议菜单 code cms:moderation、路径 /#/cms/moderation、组件 cms/moderation/index、权限 cms:content:view。投放预览 / 回滚和资源可用性巡检结果仍需主分支补充专用接口、权限、审计和幂等语义;跨 Blog / Forum 的只读统一待办聚合已由 Approval Workflow ApprovalInbox 承接。
  • 后续可优化点:后续可接入投放预览、资源健康检查、内容版本记录,并基于 Approval Inbox 补统一后台工作台、分派和处理 SLA。

CMS 内容管理页

Admin CMS 内容管理页
  • 路由路径/#/cms/content
  • 当前完成状态:已完成。支持内容分页、筛选、新增、编辑、删除、批量删除和操作日志跳转;可接收 CMS 内容运营工作台带入的类型、关键词、父级和状态筛选。
  • 需要主分支补齐的后端/API 事项:无新增;CMS 内容 API、cms:content:* 权限码、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:结合真实内容类型补充富文本编辑器、图片选择器和预览流程。

Blog 内容审核工作台

Admin Blog 内容审核工作台
  • 路由路径/#/blog/moderation
  • 当前完成状态:已完成。支持 Blog 文章、评论和内容处理记录聚合展示,提供文章 / 评论 / 处理记录 / 操作日志跳转入口;文章管理页、评论管理页和内容处理记录页已支持从工作台带入状态、用户、对象和动作筛选参数。页面不新增写动作,评论处理、文章下线和处理记录仍复用既有页面能力。
  • 需要主分支补齐的后端/API 事项:当前复用既有 Blog 文章、评论和内容处理记录接口;如需把工作台纳入正式后台动态菜单,需主分支补齐菜单种子,建议菜单 code blog:moderation、路径 /#/blog/moderation、组件 blog/moderation/index、权限 blog:moderation:view。评论关键词检索、处理备注 / 处理人 / 处理时间、联动文章审核和审核队列分配仍需主分支补充专用字段、动作接口、权限、二次确认、审计和幂等语义。
  • 后续可优化点:CMS、Blog、Forum 已可通过 Approval Workflow ApprovalInbox 汇总只读待办;后续可在此基础上接入统一后台工作台、关键词命中、风险分层、审核分配和跨模块处理链路。

Blog 文章管理页

Admin Blog 文章管理页
  • 路由路径/#/blog/articles
  • 当前完成状态:已完成。支持文章分页、筛选、新增、编辑、删除和批量删除;可接收 Blog 内容审核工作台带入的关键词、作者和状态筛选。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐;文章响应 VO 仍需返回 extraJson,避免编辑已有文章时丢失扩展字段。
  • 后续可优化点:后续可接入分类 / 标签选择器、封面上传、富文本编辑、文章审核和推荐 / 下线动作。

Blog 分类管理页

Admin Blog 分类管理页
  • 路由路径/#/blog/categories
  • 当前完成状态:已完成。支持 Blog 分类分页查询、关键词 / 状态筛选、新增、编辑、单条删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;Blog 分类管理 API、blog:category:* 权限码、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可在文章编辑页接入分类选择器,减少手工填写分类编码和名称。

Blog 标签管理页

Admin Blog 标签管理页
  • 路由路径/#/blog/tags
  • 当前完成状态:已完成。支持 Blog 标签分页查询、关键词 / 状态筛选、新增、编辑、单条删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;Blog 标签管理 API、blog:tag:* 权限码、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可在文章编辑页接入标签多选器,减少手工填写标签编码和名称。

Blog 评论管理页

Admin Blog 评论管理页
  • 路由路径/#/blog/comments
  • 当前完成状态:已完成。支持 Blog 评论分页查询、文章 / 用户 / 状态筛选、详情查看、处理状态更新、单条删除和批量删除;可接收 Blog 内容审核工作台带入的文章、用户和状态筛选。
  • 需要主分支补齐的后端/API 事项:Blog 评论管理 API、blog:comment:* 权限码、后台动态菜单种子和超级管理员挂载已补齐;如需处理备注、处理人、处理时间、评论关键词检索或联动文章审核,后续由主分支补充专用字段和动作接口。
  • 后续可优化点:继续优化处理链路展示、评论关键词检索和联动文章审核体验。

Blog 内容处理记录页

Admin Blog 内容处理记录页
  • 路由路径/#/blog/moderation-records
  • 当前完成状态:已完成。支持 Blog 文章 / 评论状态处理记录分页查询、对象类型 / 对象 ID / 处理人 / 动作筛选、详情查看、单条删除和批量删除;可接收 Blog 内容审核工作台带入的对象、处理人和动作筛选。
  • 需要主分支补齐的后端/API 事项:无新增;Blog 内容处理记录 API、blog:moderation:view|delete 权限码、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可结合审核工作流展示跨文章、评论和操作日志的处理链路。

Mall 订单闭环页

Admin Mall 订单闭环页
  • 路由路径/#/mall/orders
  • 当前完成状态:已完成前端只读闭环并对齐主线订单 VO。支持订单号 / 用户 / 状态 / 支付状态等前端预留筛选、订单列表、SKU、金额拆分、支付 / 物流 / 发票 / 通知 / 证明文件状态展示、详情抽屉、接口不可用时的预览降级,可从行内固定操作区跳转到支付流水、交易链路和履约凭证,也可在详情商品项中跳转当前商品 SKU 与库存流水;详情页已接入 GET /api/v1/admin/mall/orders/{id}/timeline 交易时间线页签,时间线不可用或返回空时会基于订单详情生成只读降级展示,并可从支付页签携带订单、支付提供方、渠道和外部流水号进入支付退款流水页,可按物流、发票、通知类型跳转履约凭证页,从证明文件页签按文件 ID 跳转文件记录页,并从操作约束页签带订单上下文进入操作确认台。
  • 需要主分支补齐的后端/API 事项GET /api/v1/admin/mall/ordersGET /api/v1/admin/mall/orders/{id}GET /api/v1/admin/mall/orders/{id}/timelinemall:order:view 已进入主线,可继续联调;当前 MallOrderPageRequest 仅保证 status 筛选,订单号 / 用户 / 支付状态等筛选需主分支扩展分页 DTO。支付同步、发货、取消、开票等写动作虽然已有初步接口和权限码,Admin 接入前仍需确认二次确认、审计日志、幂等键、失败回滚和外部支付 / 物流状态校验语义。通知、证明文件独立字段和下载权限仍需继续补齐。
  • 后续可优化点:接入真实物流轨迹、发票详情、证明文件下载和售后单反向联动。

Mall 支付退款流水页

Admin Mall 支付退款流水页
  • 路由路径/#/mall/payment-records
  • 当前完成状态:已完成前端只读流水视图。支持订单号 / 售后单 / 流水类型 / 流水状态 / 支付提供方 / 渠道 / 支付场景筛选,可读取订单页或售后页跳转携带的查询参数,并接入 GET /api/v1/mall/payment-methods 支付方式元数据展示中文支付名称、推荐 / 不可用、默认选中状态和原始技术字段;接口不可用时按上下文过滤预览降级数据,详情抽屉可跳转关联订单、售后、交易链路、履约凭证和操作确认台。
  • 后端/API contract:已补齐 GET /api/v1/admin/mall/payment-recordsmall:payment-record:view 权限和后台菜单种子。流水字段包含订单、售后、流水类型、状态、金额、币种、支付提供方、渠道、外部交易号、退款单号、请求号、审计备注、支付 / 退款时间,并支持 keywordorderNoafterSaleNorecordTyperecordStatusproviderchannelpaymentMethod 查询参数。支付补偿、回调重放、退款确认和人工关单仍需等待权限、二次确认、审计和幂等 contract。
  • 后续可优化点:接入真实支付流水详情、外部支付网关跳转、退款链路回溯和订单 / 售后联动跳转。

Mall 售后闭环页

Admin Mall 售后闭环页
  • 路由路径/#/mall/after-sales
  • 当前完成状态:已对齐主线售后 VO 并接入真实处理动作。支持售后单 / 订单 / 类型 / 状态 / 退款状态等筛选展示、售后列表、退款 / 退货物流 / 证明文件状态、驳回原因、证明核验状态、详情抽屉,以及审核通过、驳回、关闭、发起退款和退货签收;退款流水号可留空由后端尝试原支付通道退款,人工已退款时再填写流水号。可从行内固定操作区跳转到退款流水、交易链路和履约凭证,也可在详情中跳回关联订单、商品 SKU、库存流水、退货履约记录和证明文件元数据。
  • 需要主分支补齐的后端/API 事项:证明文件预览 / 下载权限、售后处理记录、退货物流轨迹和退款状态回查 / 对账补偿仍可继续增强。
  • 后续可优化点:接入真实退款流水详情、退货物流轨迹、售后处理记录和证明文件预览。

Mall 交易链路页

Admin Mall 交易链路页
  • 路由路径/#/mall/transaction-events
  • 当前完成状态:已完成前端只读链路。支持订单号 / 售后单 / 事件类型 / 事件状态筛选,可读取订单页或售后页跳转携带的查询参数,把支付、退款、退货、物流、发票、通知和证明文件按交易事件串联展示,并在接口不可用时提供预览降级;详情抽屉可跳转关联订单、售后、支付退款流水、履约凭证、证明文件元数据和操作确认台,按事件类型携带支付同步、退款、退货签收、发货、开票、通知重发或证明审核的只读确认上下文。
  • 后端/API contract:已补齐 GET /api/v1/admin/mall/transaction-eventsmall:transaction-event:view 权限和后台菜单种子;事件字段包含订单、售后、事件类型、状态、金额、外部单号、物流、发票、通知、证明文件、发生时间和说明。事件重放、人工修正、通知重发和证明归档仍需等待权限、二次确认、审计和幂等 contract。
  • 后续可优化点:接入真实事件详情、按订单 / 售后跳转、外部支付流水跳转、物流轨迹和证明文件预览。

Mall 履约凭证页

Admin Mall 履约凭证页
  • 路由路径/#/mall/fulfillment-records
  • 当前完成状态:已完成前端只读履约视图。支持订单号 / 售后单 / 记录类型 / 记录状态筛选,可读取订单页或售后页跳转携带的查询参数,集中展示物流、发票、通知和证明文件状态,并在接口不可用时提供预览降级;可从订单详情按物流 / 发票 / 通知类型进入,也可从售后退货物流页签进入退货履约记录,详情抽屉可跳转关联订单、售后、支付退款流水、交易链路、证明文件元数据和操作确认台,按履约记录类型携带发货、退货签收、开票、通知重发或证明审核的只读确认上下文。
  • 后端/API contract:已补齐 GET /api/v1/admin/mall/fulfillment-recordsmall:fulfillment-record:view 权限和后台菜单种子;字段包含订单、售后、记录类型、状态、物流公司、物流单号、发货 / 签收时间、发票类型、发票号、发票抬头、通知渠道、通知模板、通知状态、证明文件 ID / URL 和备注。发货确认、开票 / 红冲、通知重发和证明审核仍需等待权限、二次确认、审计和幂等 contract。
  • 后续可优化点:接入真实物流轨迹、发票详情、通知发送日志、证明文件预览和 Storage 下载权限。

Mall 库存流水页

Admin Mall 库存流水页
  • 路由路径/#/mall/inventory-records
  • 当前完成状态:已完成前端只读库存流水视图。支持商品 / SKU / 变更类型 / 来源 / 方向筛选,从商品 SKU 页带商品和 SKU 上下文跳转,集中展示订单扣减、取消返还、售后返还、低库存预警、人工调整、库存前后值、幂等键和审计备注,并在接口不可用时提供预览降级;详情抽屉可按来源单据追踪订单闭环、售后闭环和商品 SKU,也可携带库存流水、商品、SKU、来源单据和操作键进入操作确认台查看人工调库存、库存重算、释放补偿或预警规则保存的只读接入要求。
  • 后端/API contract:已补齐 GET /api/v1/admin/mall/inventory-recordsmall:inventory-record:view 权限和后台菜单种子;第一阶段返回商品和 SKU 当前库存快照。人工调库存、库存重算、库存释放补偿和预警规则保存仍需等待权限、二次确认、审计和幂等 contract。
  • 后续可优化点:接入真实库存明细、按订单 / 售后 / SKU 跳转、低库存通知和库存预警规则配置。

Mall 操作确认台

Admin Mall 操作确认台
  • 路由路径/#/mall/operations
  • 当前完成状态:已完成只读 contract 就绪台。集中展示订单支付同步、订单发货、后台取消、订单开票、售后审核、售后退款、退货签收、通知重发、证明文件审核 / 归档、人工调库存、库存重算、库存释放补偿和预警规则保存的接口就绪度、operationKey 覆盖状态、权限码、请求字段、审计承载方式和 Admin 当前只读状态;支持按订单 / 售后 / 通知 / 证明文件 / 库存业务域和接口就绪 / 待补齐 / 幂等待确认状态筛选;可读取订单详情、售后详情、支付退款流水、交易链路、履约凭证或库存流水详情带入的 operationorderNoorderIdafterSaleNopaymentRecordIdtransactionNorefundNoproviderchanneleventTyperecordTypelogisticsNoinvoiceNonotificationTemplateproofFileIdinventoryRecordIdsourceTypesourceNoproductIdproductCodeproductNameskuIdskuCodeskuNamestockOperationKey 查询参数,以结构化标签展示业务上下文、显示当前关注动作摘要并高亮对应 contract 行;带入有效 operation 时会自动收敛业务域和接入状态筛选,也可一键查看全部 contract。
  • 需要主分支补齐的后端/API 事项:主线已提供订单支付同步、发货、取消、开票和售后审核 / 退款 / 退货签收接口及权限码;其中发货、开票和售后处理 DTO 已覆盖 operationKey,支付同步和后台取消订单仍缺少请求级幂等键,Admin 写入前还需确认二次确认文案、失败结果展示、外部支付 / 物流状态校验和重复操作去重语义。通知重发、证明文件审核 / 归档、人工调库存、库存重算、库存释放补偿和预警规则保存仍需主分支补齐 Mall 后台专用接口、权限码、请求字段、Storage 下载权限或库存影响范围预览、审计语义和幂等语义。
  • 后续可优化点:主分支 contract 全部明确后,为每个动作增加独立确认弹窗、影响范围摘要、审计备注、幂等键生成和失败结果展示。

Mall 商品分类页

Admin Mall 商品分类页
  • 路由路径/#/mall/categories
  • 当前完成状态:已完成。支持商品分类分页、关键词 / 父级 / 状态筛选、新增、编辑、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;Mall 商品分类 API、mall:category:* 权限码、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可结合真实商品分类层级补充树形展示、拖拽排序和图标上传选择器。

Mall 商品 SKU 页

Admin Mall 商品 SKU 页
  • 路由路径/#/mall/product-skus
  • 当前完成状态:已完成。支持按商品选择 SKU 列表、从商品管理页带商品上下文跳转、接口不可用时预览降级、SKU 新增、编辑、单条删除和批量删除;页面集中展示规格 JSON、价格、原价、币种、库存、低库存提示、状态和排序。
  • 需要主分支补齐的后端/API 事项:Mall 商品 SKU API、mall:product-sku:* 权限码和超级管理员权限挂载已进入主线;仍需补齐后台动态菜单种子和超级管理员菜单挂载,建议菜单 code mall:product-sku、路径 /mall/product-skus、组件 mall/product-sku/index
  • 后续可优化点:后续可接入规格模板、批量改价和库存预警规则。

Mall 商品管理页

Admin Mall 商品管理页
  • 路由路径/#/mall/products
  • 当前完成状态:已完成。支持商品分页、关键词 / 分类 / 价格 / 状态 / 排序筛选、新增、编辑、删除、批量删除和跳转当前商品 SKU。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐;商品响应 VO 建议补充 extraJson 回显,避免编辑已有商品时丢失扩展字段。
  • 后续可优化点:后续可接入库存流水、图片上传选择器、富文本详情编辑器、商品预览和上下架专用动作。

用户管理页

Admin 用户管理页
  • 路由路径/#/iam/user/index
  • 当前完成状态:已完成。支持用户分页、用户名 / 手机号 / 状态筛选、部门树筛选、新增、编辑、启停、删除、重置密码和角色分配;手机号在列表中按掩码展示,保护用户隐私。
  • 需要主分支补齐的后端/API 事项:无新增;IAM 用户 CRUD、密码重置、角色分配 API、iam:user:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可在用户详情内汇总租户 / 组织 / 部门 / 岗位归属管理入口,并补充头像上传裁剪。

IAM 租户页

Admin IAM 租户页
  • 路由路径/#/iam/tenants
  • 当前完成状态:已完成。支持 IAM 租户分页、关键词 / 状态筛选、新增、编辑、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;租户 CRUD API、iam:tenant:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可继续补充组织管理页和用户租户归属管理入口,让租户、组织、部门、岗位维护链路更完整。

用户租户归属页

Admin 用户租户归属页
  • 路由路径/#/iam/user-tenants
  • 当前完成状态:已完成。支持用户租户归属分页、用户 / 租户 / 默认租户 / 状态筛选、新增、编辑、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;用户租户归属 CRUD API、iam:user:tenant:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可在用户详情内形成统一租户 / 组织 / 部门 / 岗位归属管理入口。

用户组织归属页

Admin 用户组织归属页
  • 路由路径/#/iam/user-organizations
  • 当前完成状态:已完成。支持用户组织归属分页、用户 / 租户 / 组织 / 主组织 / 状态筛选、新增、编辑、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;用户组织归属 CRUD API、iam:user:organization:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可在用户详情内合并租户 / 组织 / 部门归属视图,并结合组织树选择提升大组织场景的选择效率。

用户部门归属页

Admin 用户部门归属页
  • 路由路径/#/iam/user-departments
  • 当前完成状态:已完成。支持用户部门归属分页、用户 / 租户 / 组织 / 部门 / 主部门 / 状态筛选、新增、编辑、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;用户部门归属 CRUD API、iam:user:department:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可在用户详情内合并租户 / 组织 / 部门归属视图,并结合部门树选择提升大组织场景的选择效率。

用户岗位归属页

Admin 用户岗位归属页
  • 路由路径/#/organization/user-posts
  • 当前完成状态:已完成。支持按用户分页查看已分配岗位、关键词 / 状态筛选、岗位多选整体替换和清空岗位。
  • 需要主分支补齐的后端/API 事项:无新增;当前用户岗位读取 / 分配 API、organization:user-post:view|update 权限、后台动态菜单种子和超级管理员挂载已补齐。如后续需要关系维度分页、单条关系 CRUD 或批量删除,可补充 /api/v1/organization/user-posts contract;当前前端低风险复用 /api/v1/organization/users/{userId}/posts
  • 后续可优化点:后续可在用户详情内合并岗位归属总览,并补充按岗位筛选用户和岗位数据权限说明。

用户关系页

Admin 用户关系页
  • 路由路径/#/iam/user-relation/index
  • 当前完成状态:已完成后台只读观测页。接入 GET /api/v1/admin/iam/user-relations 和详情接口,支持发起用户、目标用户、关系类型和关系状态筛选,展示好友 / 关注 / 拉黑关系、待处理 / 生效 / 拒绝状态、用户快照、申请 / 响应 / 生效时间和备注;可读取会话、通知、WebSocket、在线用户和操作日志页带入的用户关系上下文,并整理为结构化关系链路字段;联动在线用户和操作日志时会继续保留关系 ID、发起 / 目标用户、会话、通知、Message、Trace、WebSocket Session、设备、通道和来源 IP 等排障上下文。通过好友申请、关注、拉黑、解除拉黑等用户侧动作不在 Admin 直接执行。
  • 需要主分支补齐的后端/API 事项:无新增;后台只读分页 / 详情 API、iam:user-relation:view 权限、后台动态菜单种子和超级管理员挂载已补齐。若后续开放后台干预关系状态,需主分支先明确专用权限、二次确认、审计、幂等和用户通知语义。
  • 后续可优化点:后续可增加关系事件时间线、按昵称 / 用户名检索、跨会话来源跳转和关系异常统计。

IAM 组织页

Admin IAM 组织页
  • 路由路径/#/iam/organizations
  • 当前完成状态:已完成。支持 IAM 组织分页、关键词 / 租户 / 上级 / 状态筛选、新增、编辑、新增子级、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;组织 CRUD API、iam:organization:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可结合组织树视图、拖拽排序、用户组织归属维护和部门页面改造,继续优化租户 / 组织 / 部门 / 岗位链路。

组织岗位页

Admin 组织岗位页
  • 路由路径/#/organization/posts
  • 当前完成状态:已完成。支持组织岗位分页、关键词 / 租户 / 组织 / 状态筛选、新增、编辑、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;当前后端已提供 /api/v1/organization/posts/api/v1/iam/tenants/api/v1/iam/organizationsorganization/post/index 菜单种子和 organization:post:* 权限。
  • 后续可优化点:后续可结合组织树选择、用户岗位分配入口和数据权限说明优化岗位维护流程。

字典页

Admin 字典页
  • 路由路径/#/dicts
  • 当前完成状态:已完成。支持字典与字典项管理、筛选、新增、编辑、删除、批量删除、来源筛选和系统托管字典复制为自定义字典。
  • 需要主分支补齐的后端/API 事项:无新增;字典 API、dict:dict:* / dict:dict-item:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加字典项拖拽排序和批量启停。

多语言文案页

Admin 多语言文案页
  • 路由路径/#/i18n/messages
  • 当前完成状态:已完成。支持多语言文案分页、筛选、新增、编辑、启停、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;i18n 文案 API、i18n:message:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加按 locale 批量导入导出和缺失文案提示。

文本模板页

Admin 文本模板页
  • 路由路径/#/template/templates
  • 当前完成状态:已完成。支持文本模板分页、关键词 / 通道 / 类型 / 语言 / 状态筛选、新增、编辑、启停、删除、批量删除和渲染预览。
  • 需要主分支补齐的后端/API 事项:无新增;当前后端已提供 /api/v1/admin/template/templates/api/v1/admin/template/templates/rendertemplate/index 菜单种子和 template:template:* 权限。
  • 后续可优化点:后续可增加模板变量 schema、变量示例库、站内信 / 邮件 / 短信通道差异化预览和模板版本对比。

配置中心配置页

Admin 配置中心配置页
  • 路由路径/#/config/configs
  • 当前完成状态:已完成。支持配置中心配置分页、命名空间 / 关键词 / 分类 / 状态筛选、新增、编辑、启停、删除、批量删除、运行时配置值查看、配置元数据入口和配置缓存手动刷新。
  • 需要主分支补齐的后端/API 事项:无新增;当前后端已提供 /api/v1/config/configs/api/v1/config/configs/value/api/v1/config/configs/metadata/api/v1/config/configs/refreshconfig/index 菜单种子和 config:entry:* 权限。
  • 后续可优化点:可继续基于元数据生成更细的类型化表单控件,并对敏感配置提供二次确认和变更 diff 预览。

配置分类页

Admin 配置分类页
  • 路由路径/#/config/categories
  • 当前完成状态:已完成。支持配置分类树形查询、命名空间 / 关键词 / 父级 / 状态筛选、新增、子级新增、编辑、启停、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;当前后端已提供 /api/v1/config/categories/api/v1/config/categories/tree/api/v1/config/categories/matchconfig-category/index 菜单种子和 config:category:* 权限。
  • 后续可优化点:可继续补充拖拽排序、分类规则冲突提示和从配置页反向创建分类的快捷流程。

操作日志页

Admin 操作日志页
  • 路由路径/#/audit/operation-logs
  • 当前完成状态:已完成。支持操作日志分页、筛选、详情、删除和批量删除;可展示来自登录日志、Token 审计、站内信、通知发送日志、通知阅读回执、会话消息、公开房间稳定入口、WebSocket 运维、在线用户、Queue、Scheduler、配置和文件页带入的审计上下文,并将来源页、Message ID、Trace、会话 Key、会话消息、WebSocket Session、通道、结果码、回执、发送日志、设备和来源 IP 等参数整理为结构化链路字段标签;站内信、通知发送日志和通知阅读回执跳入时会保留 Message ID、站内信 / 发送日志 / 回执 ID、接收人、操作者、通道、结果码、模板、设备和来源 IP 等上下文,在线用户页跳入时会继续保留用户、设备、Token、WebSocket Session、站内信 / 发送日志 / 阅读回执、通道、会话消息 ID、Message ID、Trace 和会话上下文,WebSocket 运维页跳入时会继续保留站内信 / 发送日志 / 阅读回执、通道、结果码、会话消息 ID、Message ID、Trace、会话 Key、公开房间 room:<key>conversation:<id> 分组上下文。
  • 需要主分支补齐的后端/API 事项:无新增;操作日志 API、audit:operation-log:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加请求 / 响应 payload 脱敏展开和 Trace 跳转。

内容安全检测日志页

  • 路由路径/#/content-safety/check-logs
  • 当前完成状态:已完成。支持内容安全检测日志分页、关键词 / 场景 / 业务 / 内容类型 / Provider / 检测结果 / 动作 / 风险 / 用户筛选、业务快捷筛选、系统图片文件批量检测、详情抽屉、动作和风险状态展示;需要复核的检测日志可带入同一业务筛选条件跳转到内容安全复核任务页;详情页明确提示只记录运维元数据,不保存被检测标题或正文原文。
  • 需要主分支补齐的后端/API 事项:后端已提供 POST /api/v1/admin/content-safety/batch-scans 统一触发 cms-contentblog-articleblog-commentmall-review 批量检测;本页当前仍只接入检测日志、日志导出和系统图片文件批量检测,后续视图切片可把该来源选择和触发按钮接进页面。
  • 后续可优化点:后续可补全浏览器实机截图,并按业务对象跳转到对应 Blog / Forum / Conversation 运维页。

内容安全复核任务页

  • 路由路径/#/content-safety/review-tasks
  • 当前完成状态:已完成。支持复核任务分页、关键词 / 场景 / 业务 / Provider / 风险 / 用户筛选、业务快捷筛选、从检测日志页带入 URL 筛选、详情抽屉、待复核状态展示、通过 / 拒绝 / 关闭复核、批量通过 / 拒绝 / 关闭复核、当前筛选 CSV 导出、手动触发超时自动处理,并可跳转到同一记录的检测日志筛选视图。
  • 需要主分支补齐的后端/API 事项:无新增;GET /api/v1/content-safety/review-tasksGET /api/v1/content-safety/review-tasks/{id}POST /api/v1/content-safety/review-tasks/{id}/approve|reject|closePOST /api/v1/content-safety/review-tasks/batch/approve|reject|closePOST /api/v1/content-safety/review-tasks/auto-handle-expired、权限和后台动态菜单种子已存在。复核动作只记录审计结果,不直接修改业务内容状态。
  • 后续可优化点:后续可按业务对象跳转到对应 Blog / Forum / Conversation 运维页;业务状态联动仍应由各模块状态机或事件承接。

IAM 登录日志页

Admin IAM 登录日志页
  • 路由路径/#/iam/login-logs
  • 当前完成状态:已完成。支持登录审计分页、筛选、详情、删除和批量删除;顶部会读取 GET /api/v1/iam/auth/audit/risk-summary 展示最近 24 小时风险等级、失败率、密码失败、验证码失败和最近失败样本,并读取 GET /api/v1/auth/capabilities 展示验证码风控、SSO Ticket、密保问题和密码策略状态;提供失败登录、SSO、短信和邮箱登录日志聚焦入口;可读取 Token 审计页、在线用户页和操作日志页带入的用户、设备、Token、WebSocket Session、会话、通知和 Trace 查询上下文,并整理为结构化登录链路字段;从行内或详情跳转 Token 审计、在线用户和操作日志时会继续保留登录日志 ID、登录类型、身份类型、Provider、设备和结果上下文。
  • 需要主分支补齐的后端/API 事项:无新增;登录日志 API、登录风控摘要 API、iam:auth:audit:view|delete 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加异常登录地理位置、设备指纹和风险标记展示。

IAM Token 审计日志页

Admin IAM Token 审计日志页
  • 路由路径/#/iam/token-logs
  • 当前完成状态:已完成。支持 Token 审计分页、筛选、详情、删除和批量删除;可读取登录日志页、在线用户页和操作日志页带入的用户、设备、Token、WebSocket Session、会话、通知和 Trace 查询上下文,并整理为结构化 Token 链路字段;从行内或详情跳转登录日志、在线用户和操作日志时会继续保留 Token 审计日志 ID、Token 后缀、动作、设备、目标设备和结果上下文。
  • 需要主分支补齐的后端/API 事项:无新增;Token 审计 API、iam:auth:audit:view|delete 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加会话关联跳转和异常刷新频率提示。

在线会话页

Admin 在线会话页
  • 路由路径/#/monitor/online
  • 当前完成状态:已完成。支持在线会话分页、筛选和按后端能力执行踢出;可读取 WebSocket 运维页、会话消息页和通知链路带入的用户、设备、Session、会话、站内信 / 发送日志 / 阅读回执、通道、会话消息 ID、Message ID、Trace 和来源 IP 查询上下文,并整理为结构化在线链路字段,快速定位实时连接对应的在线设备,并可联动登录日志、Token 审计、WebSocket 运维和操作日志。
  • 需要主分支补齐的后端/API 事项:在线会话 API、iam:auth:online-session:* 权限、后台动态菜单种子和超级管理员挂载已补齐;JWT 模式下按设备踢出仍需后端能力确认。
  • 后续可优化点:后续可增加当前设备高亮、批量会话处理和 WebSocket Session ID 的后端精确匹配字段。

配置变更日志页

Admin 配置变更日志页
  • 路由路径/#/config/change-logs
  • 当前完成状态:已完成。支持配置变更日志分页、筛选、详情、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;配置变更日志 API、config:change-log:* 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加变更前后 diff 高亮。

Scheduler 任务概览页

Admin Scheduler 任务概览页
  • 路由路径/#/scheduler
  • 当前完成状态:已完成。展示调度器状态、任务执行统计、失败聚合、关键词 / 最近状态 / 失败任务筛选和排序,并支持暂停 / 恢复调度器、Cron 校验预览、手动触发、停止任务实例、misfire 策略展示和最近执行日志抽屉。
  • 需要主分支补齐的后端/API 事项:无新增;Scheduler 任务 API、Cron 校验、运行时操作、scheduler:task:view 权限、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加任务级操作审计聚合和调度趋势图。

Scheduler 执行日志页

Admin Scheduler 执行日志页
  • 路由路径/#/scheduler/execution-logs
  • 当前完成状态:已完成。支持执行日志分页、筛选、详情、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:Scheduler 执行日志 API、scheduler:execution-log:* 权限、后台动态菜单种子和超级管理员挂载已补齐;cleanup / retry 会清理日志或重新触发任务,本轮前端暂不开放。
  • 后续可优化点:后续可按失败任务补重试权限、二次确认和执行结果提示。

支付订单页

Admin Cashier 支付订单页
  • 路由路径/#/cashier/payment-orders
  • 当前完成状态:已完成。支持支付订单分页、筛选、详情、删除、批量删除、状态补偿和只读对账;可从工具栏按条件扫描,也可从单笔订单行内执行并查看结果明细。
  • 需要主分支补齐的后端/API 事项:无新增。支付补偿和只读对账复用后端已实现接口;人工 create/update 暂不开放,避免误导支付订单状态语义。
  • 后续可优化点:后续可增加补偿建议、对账差异聚合看板和订单详情联动。

支付流水页

Admin Cashier 支付流水页
  • 路由路径/#/cashier/payment-transactions
  • 当前完成状态:已完成。支持支付流水分页、筛选、详情、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐;人工 create/update 暂不开放,避免误导支付流水状态语义。
  • 后续可优化点:后续可增加订单 / 回调 / 补偿记录跳转。

支付回调日志页

Admin Cashier 支付回调日志页
  • 路由路径/#/cashier/payment-callback-logs
  • 当前完成状态:已完成。支持支付回调日志分页、筛选、详情、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐;人工 create/update 暂不开放,避免误导支付审计语义。
  • 后续可优化点:后续可增加验签结果、原始 payload 脱敏展开和重放风险提示。

Web3 扫描检查点页

  • 路由路径/#/web3/scan-checkpoints
  • 当前完成状态:已完成。支持 Web3 扫描检查点分页、筛选、新增、编辑、暂停、恢复、标记异常、下一扫描窗口预览、详情、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:后端扫描检查点管理接口和后台动态菜单种子已存在,前端使用组件 web3-scan-checkpoint/index
  • 后续可优化点:后续可增加扫描窗口图形化和扫描日志联动跳转。

Web3 链路运维页

  • 路由路径/#/web3/chains
  • 当前完成状态:已完成后台只读运维页。接入 GET /api/v1/money/web3/chains/health/health/summary/diagnostics,集中展示链配置、RPC 健康、链 ID 匹配、区块高度、Gas Price、检查耗时、错误信息和诊断检查项;页面只做观测,不执行签名、广播交易或修改链上状态。
  • 需要主分支补齐的后端/API 事项:后端链路运维只读接口和 money:web3:chain:view 权限已存在,前端已兼容后端菜单组件名 web3-chain/index
  • 后续可优化点:后续可按链补充账号 / 交易 / 回执只读查询抽屉,以及和扫描日志、结算审计的上下文联动。

Web3 链列表页

  • 路由路径/#/web3/chain-registry
  • 当前完成状态:已完成后台管理页。接入 GET / POST / PUT / DELETE /api/v1/admin/web3/chain-registry 及启用 / 停用动作,支持链列表分页、关键字 / 链名 / 启用状态筛选、新增、编辑、详情、启停、删除和批量删除;页面维护链展示名、链 ID、原生资产、确认数、扫描跨度、浏览器 URL、RPC 配置引用、公共 / 私有 RPC 节点和充值 / 提现 / 支付 / 结算业务开关。
  • 需要主分支补齐的后端/API 事项:链列表数据表、money:web3:chain-registry:* 权限、后台动态菜单种子和超级管理员挂载已补齐;链列表已可作为 Web3 runtime RPC 配置来源,运行时优先使用私有 RPC,失败自动切换,并按历史成功延迟优先选择节点。
  • 后续可优化点:后续可与链路运维页联动展示实时健康状态,并支持从链列表跳转扫描检查点、扫描日志和结算审计。

Web3 Token 列表页

  • 路由路径/#/web3/token-registry
  • 当前完成状态:已完成后台管理页。接入 GET / POST / PUT / DELETE /api/v1/admin/web3/token-registryerc20-metadata、启用 / 停用和 sync-erc20-metadata,支持 Token 列表分页、关键字 / 链列表 / 类型 / 启用状态筛选、新增、编辑、详情、启停、ERC-20 元数据快捷读取 / 同步、删除和批量删除;新增 ERC-20 时从已启用链列表选择归属链并填写合约地址,一键读取链上 name / symbol / decimals 后确认保存。页面维护 native / ERC-20 / ERC-721 / ERC-1155 类型、合约地址、符号、名称、精度、限额、固定 / 百分比提现手续费、手续费代币、扩展 JSON,以及充值 / 提现 / 支付 / 分销打款 / 行情开关;百分比手续费在后台按 % 填写,接口与数据库按 withdrawFeeRate 存储,手续费代币按 withdrawFeeTokenKey 存储,不选时默认当前 Token;新增 Token 时分销打款默认关闭,需运营显式开启。
  • 需要主分支补齐的后端/API 事项:Token 列表数据表、money:web3:token-registry:* 权限、后台动态菜单种子和超级管理员挂载已补齐;Token 保存和 ERC-20 元数据预览会校验归属链列表存在且已启用,原生资产使用 tokenKey=native,非原生资产使用规范化合约地址作为 tokenKey
  • 后续可优化点:后续可与 Token 行情页联动一键带入链、合约、精度和报价 Token,并为充值 / 提现配置增加按业务场景的风险提示。

Web3 Token 行情页

  • 路由路径/#/web3/token-prices
  • 当前完成状态:已完成后台只读查询页。接入 POST /api/v1/money/web3/chains/{chainName}/token-prices,支持按链、Token、报价 Token、DEX 池子、Provider、精度和最小单位数量查询真实 Token 报价;页面展示 Provider、交易对、价格、输入 / 输出数量、链浏览器链接和报价路径。
  • 需要主分支补齐的后端/API 事项:后端行情查询复用 money:web3:chain:view 权限;页面只读,不签名、不广播交易,也不触发链上 Swap。
  • 后续可优化点:后续可与 Web3 链路页联动选择链,接入 Token 地址本、常用交易对模板和历史报价缓存。

Web3 Input 解码页

  • 路由路径/#/web3/transaction-inputs
  • 当前完成状态:已完成后台工具页。接入 POST /api/v1/admin/web3/transaction-inputs/decode,支持粘贴 EVM 交易 input 后展示 selector、方法名、签名、分类、已知 / 解码状态和参数表;页面只调用本地解码逻辑,不访问 RPC,不签名,不广播交易。
  • 需要主分支补齐的后端/API 事项:后端 input 解码接口复用 money:web3:chain:view 权限,前端已兼容后端菜单组件名 web3-input-decoder/index
  • 后续可优化点:后续可从交易详情、扫描日志或结算审计页带入 input,并补常见 selector 说明。

Web3 扫描日志页

Admin Web3 扫描日志页
  • 路由路径/#/web3/scan-logs
  • 当前完成状态:已完成。支持 Web3 扫描日志分页、筛选、详情、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加链浏览器链接和扫描窗口可视化。

Web3 结算复核日志页

Admin Web3 结算复核日志页
  • 路由路径/#/web3/settlement-review-logs
  • 当前完成状态:已完成。支持结算复核日志分页、筛选、详情、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐;store / settle / retry / auto-handle 会改变结算状态,本轮前端暂不开放。
  • 后续可优化点:后续可补复核计划、指纹校验和人工确认流程。

Web3 结算审计日志页

Admin Web3 结算审计日志页
  • 路由路径/#/web3/settlement-audit-logs
  • 当前完成状态:已完成。支持审计汇总、分页、筛选、详情、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐;recheck / compensation-plan / status update 会触发链上查询或改变审计处理状态,本轮前端暂不开放。
  • 后续可优化点:后续可补偿建议抽屉、风险级别筛选和人工处理状态流。

站内信管理页

Admin 站内信管理页
  • 路由路径/#/notification-messages
  • 当前完成状态:已完成。支持站内信分页、筛选、新增、编辑、标记已读、删除和批量删除;行内和详情页已补「附件」入口,复用 GET /api/v1/notification-message-attachmentsPOST /api/v1/notification-message-attachmentsPUT /api/v1/notification-message-attachments/{id}DELETE /api/v1/notification-message-attachments/{id} 管理当前站内信附件元数据;已接入 GET /api/v1/message-center/summaryGET /api/v1/message-center/recent,页面顶部展示当前登录管理员的消息中心总未读、站内信未读、会话未读和当前页未读,顶部通知徽标优先使用消息中心总未读,下拉通知 / 消息页签也优先展示当前登录用户最近站内信和会话动态,摘要或最近动态接口不可用时继续降级展示站内信列表和局部未读数;可读取 messageIdtraceId 和接收人查询参数,并将来源页、站内信、发送日志、阅读回执、Message ID、Trace、接收人、状态、设备、来源 IP、WebSocket Session、会话、公开房间、通道、结果码、模板和 Queue 任务等上下文整理为结构化通知链路字段;从行内或详情可联动通知阅读回执、通知发送日志、Queue 失败任务、会话运维、在线用户、WebSocket 运维和操作日志;跳转在线用户或 WebSocket 时会保留站内信 ID、Message ID、接收人、Trace 和会话扩展上下文,跳转阅读回执或操作日志时会保留站内信 ID、Message ID、接收人、模板、Trace 和会话扩展上下文。若扩展属性包含 conversationId / conversationKey / conversationMessageId,跳转会话页时会同步带入链路定位上下文。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子、超级管理员挂载和当前用户消息中心摘要 API 已补齐;若后续需要后台全局未读趋势、按租户 / 业务线聚合或跨管理员汇总,仍需主分支提供 Admin 专用统计接口和权限。
  • 后续可优化点:后续可增加接收人选择器、模板预览、附件文件选择器和批量重发审计。

通知发送日志页

Admin 通知发送日志页
  • 路由路径/#/notification-send-logs
  • 当前完成状态:已完成。支持通知发送日志投递健康概览、分页、筛选、详情、删除、批量删除、单条重试和批量重试;概览会随当前筛选展示总数、成功数、失败数、可重试数、已重试数和近 24 小时失败数。页面可读取 messageIdchanneltemplatetraceIdretryableOnly=true 等查询参数,并将来源页、站内信、发送日志、阅读回执、Message ID、Trace、接收人、通道、发送结果、可重试筛选、结果码、模板、WebSocket Session、设备、来源 IP、会话、公开房间和 Queue 任务等上下文整理为结构化发送链路字段;通知规则看板“查看待重试”会跳入该页并显式启用“仅可重试”筛选。可从行内跳回关联站内信、通知阅读回执、会话运维、Queue 失败任务、在线用户、WebSocket 运维和操作日志;接收人可从扩展属性里的 recipientUserId / targetUserId / userId 或纯数字 recipients 中识别,识别后可联动阅读回执、在线用户和 WebSocket,跳转时保留发送日志 ID、Message ID、通道、结果码、结果状态、模板、Trace 和会话扩展上下文。若发送日志扩展属性包含 conversationId / conversationKey / conversationMessageId,会话跳转会带入精确定位上下文。重试前会展示通道、接收人和影响范围二次确认,执行结果以后端返回的每条重试结果为准。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子、超级管理员挂载、POST /api/v1/notification-send-logs/{id}/retryPOST /api/v1/notification-send-logs/retry-batchnotification:send-log:retry 已进入主线;人工补偿、切换通道重发、重试原因、幂等键和更完整审计字段仍需主分支继续补齐。
  • 后续可优化点:后续可增加通道错误映射、重试原因输入、重试批次聚合和失败补偿计划。

通知阅读回执页

Admin 通知阅读回执页
  • 路由路径/#/notification-read-receipts
  • 当前完成状态:已完成后台只读观测页。接入 GET /api/v1/notification-read-receipts 和详情接口,支持按 Message ID、接收人、操作者和设备筛选,展示首次阅读、最近阅读、阅读次数、设备、来源 IP 和 User-Agent;页面会把来源页、站内信、发送日志、阅读回执、Message ID、Trace、接收人、操作者、设备、来源 IP、WebSocket Session、会话、公开房间、通道、结果码和模板等上下文整理为结构化阅读链路字段,并可联动站内信、通知发送日志、在线用户、WebSocket 运维和操作日志;创建、修改、删除回执等有副作用动作保持不展示。
  • 需要主分支补齐的后端/API 事项:阅读回执分页、详情、后台动态菜单种子、超级管理员挂载和 notification:read-receipt:view 权限已在主线可用;若后续开放创建 / 修改 / 删除回执,需主分支明确权限、二次确认、审计和幂等语义。
  • 后续可优化点:后续可增加按阅读时间区间、设备类型、来源 IP 聚合和回执异常统计。

会话消息页

Admin 会话消息页
  • 路由路径/#/conversations
  • 当前完成状态:已完成后台运维页。已接入 GET /api/v1/admin/conversations/summaryGET /api/v1/admin/conversationsGET /api/v1/admin/conversations/{id}/membersGET /api/v1/admin/conversations/{id}/messagesGET /api/v1/admin/conversations/{id}/messages/{messageId}/receipts、归档和恢复接口,支持全局会话运维摘要、会话分页、当前页私聊 / 群聊 / 公开房间观测、私聊 displayTitle / displayAvatarUrl / peerUser 快照前向兼容展示、公开房间 room:<key> 稳定入口只读展示、实时事件观测字段标签、成员在线状态、成员 hidden / joined / pinned / muted 当前用户视角只读展示、成员关系摘要前向兼容展示、会话成员跳用户关系页只读核对、未读筛选、成员 / 发送人 / 回执接收人的用户展示名、路由查询参数带入、消息抽屉、消息分页、附件消息元数据只读展示、ACK 送达 / 已读 / 未读只读统计、用户侧消息可见性统计前向兼容展示、conversation.message.deleted 本人多端同步事件语义提示、当前页消息排障摘要、单条消息成员回执明细、回执状态 / 接收人 / 设备本地筛选、消息详情抽屉、归档 / 恢复二次确认,以及按 Owner / 成员 / 发送人 / 回执接收人联动在线用户、WebSocket 运维页、用户关系页和操作日志;会话运维摘要会展示全局总会话、活跃 / 归档、私聊 / 群聊 / 公开房间 / 客服会话和消息总量,接口不可用时保留当前页指标降级。回执明细跳转在线用户或 WebSocket 时会保留会话消息 ID、通知 Message ID、Trace 和送达 / 已读设备上下文;会话级审计入口会向操作日志页带入关键词、conversation 模块筛选、会话 Key 和公开房间 room:<key> 上下文。公开房间和群聊可从详情带入 conversation:<id> 实时分组查询,详情抽屉会同时整理 conversation.message.sentconversation.message.deleted、送达 / 已读 ACK 和 typing 等只读事件观测说明。来自站内信或通知发送日志的跳转会带入 conversationIdconversationKeyconversationMessageIdmessageIdtraceId 上下文,当前已加载消息页内会高亮命中消息并提示链路定位状态。发送、撤回、标记已读、会话设置、成员维护、公开房间创建 / 加入和离开会话等更高风险动作保持禁用提示。
  • 需要主分支补齐的后端/API 事项:后台会话只读分页、成员、消息、在线成员和 ACK 汇总字段、conversation:view 菜单 / 权限种子,以及归档 / 恢复接口和 conversation:update 权限已进入主线;Admin 真正开放发送 / 撤回 / 设置 / 已读 / 离开 / 群聊成员维护 / 公开房间创建或加入动作前,仍需主分支确认后台二次确认、审计和幂等语义。用户侧单条 / 批量删除消息目前属于当前用户可见性隐藏语义,Admin 不调用用户删除接口;若后台需要观测隐藏影响范围,建议主分支在后台消息 VO 中补齐 hiddenCount / hiddenUserCount / visibleUserCount / visibilityCount 等只读统计字段或独立可见性审计接口。主分支当前用户关系底座是当前用户视角公开资料 contract,后台用户关系只读页已可核对成员关系;若希望会话列表无需打开成员抽屉即可稳定展示私聊对端,建议主分支让 GET /api/v1/admin/conversations 和详情接口同步返回 Admin 视角的 displayTitle / displayAvatarUrl / peerUser。若需要跨页精确定位任意历史消息,建议主分支补齐按会话消息 ID / Trace 查询或游标定位接口;若需要从会话精确定位实时连接,后端还需确认稳定 WebSocket Session 映射字段和 conversation:<id> 分组命名 contract。
  • 后续可优化点:后续可接入附件预览、跨用户高级检索、消息风险标记和房间 / 群聊成员变更审计。

客服工作台页

  • 路由路径/#/chat/support
  • 当前完成状态:已完成后台客服处理页。接入 GET /api/v1/admin/chat/support/queueGET /api/v1/admin/chat/support/{id}/membersGET /api/v1/admin/chat/support/{id}/messagesGET /api/v1/admin/chat/support/{id}/messages/{messageId}/receiptsPUT /api/v1/admin/chat/support/{id}/assigneePOST /api/v1/admin/chat/support/{id}/messages,支持客服会话队列分页、关键词筛选、当前页待处理 / 未读 / 在线成员摘要、成员列表、消息分页、单条消息回执、指派给当前操作员、手工填写客服用户 ID 指派和后台回复。接口失败时保留真实空态和内联错误提示,不使用本地固定客服会话或预览消息伪装可用数据;动态路由兜底已补 chat:support / chat/support/index 三语标题和真实页面入口。
  • 需要主分支补齐的后端/API 事项:无新增;Chat 后台 support contract、conversation:view / conversation:update 权限已可用。后台回复、指派和内容安全结果仍以后端权限、成员状态、内容校验和审计语义为准,前端不绕过后端状态机。
  • 后续可优化点:后续可接入客服候选人搜索、批量指派、SLA 超时统计、消息风险标记、附件预览和客服处理审计时间线。

WebSocket 运维页

Admin WebSocket 运维页
  • 路由路径/#/websocket/sessions
  • 当前完成状态:已完成后台运维页。支持 WebSocket 在线概览、在线分组、实时分组拓扑、在线会话分页、用户 / 设备 / 身份 / 分组筛选、分组快速筛选、会话详情抽屉、分组订阅展示、按 conversation:<id> 分组跳回会话运维;实时分组拓扑会把在线分组归类为会话分组、公开房间、用户 / 设备、通知链路和自定义分组,点击样例分组即可收敛在线会话筛选。页面能从会话页带入 conversationId 自动收敛到实时会话分组,同时保留会话 Key、公开房间 room:<key>、会话消息 ID、Message ID 和 Trace 来源提示、随路由上下文变化刷新筛选,并将来源页、用户、设备、身份、分组、WebSocket Session、站内信、发送日志、阅读回执、接收人、Message ID、Trace、会话、公开房间、通道、结果码和来源 IP 整理为结构化实时链路字段标签;从站内信、通知发送日志或通知阅读回执进入时会保留接收人、发送日志 / 回执、通道、结果码、设备、来源 IP、会话消息 ID、Message ID 和 Trace 上下文;同时支持联动在线用户页和操作日志,从在线用户页进入时会保留 Session / 设备 / 会话 / 消息上下文,跳转操作日志时会继续带入会话 / 公开房间 / 会话消息 ID / Message / Trace 上下文;页面明确 conversation.message.deleted 是用户侧删除消息后的本人多端同步事件,Admin 只做实时链路观测;发送运维消息、关闭连接、加入分组和移出分组所有有副作用动作都会先展示影响范围并二次确认,关闭连接、全站广播、游客目标和分组发送等高影响动作还要求输入确认文本,执行结果以后端 affectedCount 为准。
  • 需要主分支补齐的后端/API 事项:WebSocket 概览、会话、分组查询、发送、关闭和分组更新接口,以及 websocket:session:viewwebsocket:message:sendwebsocket:session:closewebsocket:group:update 权限已进入主线;操作原因、幂等键、集群节点维度和更完整审计字段仍需主分支继续补齐。
  • 后续可优化点:后续可增加运维消息模板、集群节点维度、Session ID 精确定位、操作原因输入和幂等键生成。

Outbox 运维页

  • 路由路径/#/outbox
  • 当前完成状态:已完成后台运维页。支持 Outbox 事件和补偿命令两个页签,复用 GET /api/v1/admin/outbox/eventsGET /api/v1/admin/outbox/compensation-commands 及详情、重放、批量重放和跳过接口;可按关键词、ID、消费方、类型、状态、Trace 和仅可重试筛选,详情抽屉展示 Payload、Headers、错误、重试和锁定信息;重放 / 跳过前会二次确认,跳过要求填写原因,操作日志入口保留 Trace 上下文。
  • 需要主分支补齐的后端/API 事项:后台 API、权限、动态菜单种子和超级管理员菜单挂载已可用;业务消费方适配和跨业务失败观测仍按 P1-FDN-05 后续子簇推进。
  • 后续可优化点:后续可增加消费方健康聚合、按业务模块钻取、自动重试趋势和失败原因分组。

Open Platform App 页

Admin Open Platform App 页
  • 路由路径/#/open-platform/apps
  • 当前完成状态:已完成。支持应用分页、筛选、新增、编辑、删除、批量删除和应用 Scope 授权保存。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐;密钥创建 / 禁用 / 删除涉及一次性展示和审计,本轮前端暂不开放。
  • 后续可优化点:后续可补密钥管理抽屉、复制保护和调用统计联动。

Open Platform Scope 页

Admin Open Platform Scope 页
  • 路由路径/#/open-platform/scopes
  • 当前完成状态:已完成。支持 Scope 分页、筛选、新增、编辑、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加 scope 分组、风险等级和应用授权反查。

Open Platform Route Scope 页

Admin Open Platform Route Scope 页
  • 路由路径/#/open-platform/route-scopes
  • 当前完成状态:已完成。支持开放 API 路由 Scope 元数据查询和本地筛选。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加未绑定 scope 的开放 API 提示。

Open Platform 调用日志页

Admin Open Platform 调用日志页
  • 路由路径/#/open-platform/call-logs
  • 当前完成状态:已完成。支持调用日志统计、分页、筛选、详情回看、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加 Trace 跳转、失败详情和应用调用趋势图。

AI 数据大屏页

  • 路由路径/#/ai/dashboard
  • 当前完成状态:已完成第一阶段。接入现有后台 AI 平台与 AI Gateway 运维接口,集中展示 Provider 舰队、模型矩阵、Gateway Key、调用用量、成功率、延迟、成本毛利、质量评分、上线评分、凭证健康、对账风险和最近调用事件;单个子接口读取失败时保留已成功加载的数据并展示告警。
  • 需要主分支补齐的后端/API 事项:无新增后端接口;复用 /api/v1/admin/ai/platform/**/api/v1/ai/gateway/status。后台菜单位于 业务模块 > AI 平台 > AI 数据大屏ai:dashboard 和权限 ai:dashboard:view 已补齐。
  • 后续可优化点:后续可增加真实趋势图、告警订阅、按租户 / 商户 / Key 下钻和大屏投屏模式。

Open Platform AI 运营页

  • 路由路径/#/ai/platform
  • 当前完成状态:已完成第一阶段。接入后台 /api/v1/admin/ai/platform/** 代理接口,集中展示 AI Provider 配置、模型目录、模型价格、成本毛利、质量评测、上线就绪和路由策略;支持 Provider 配置保存、Provider 批量启停、模型目录保存、模型价格保存、Provider 路由策略保存、Gateway Key 批量启停、凭证批量冷却 / 解除冷却、用量 / Key 查询筛选和 Gateway status 联动,API Key 只允许写入或清空,不回显明文。
  • 需要主分支补齐的后端/API 事项:后台 overviewprovidersmodelspricesprofitqualityrouting 查询和 Provider / 模型目录 / 价格 / 路由保存接口已可用;后台菜单位于 业务模块 > AI 平台 > AI 运营ai:platformai:platform:viewai:platform:update 权限种子已补齐,旧 open-platform/ai 物理组件保留兼容包装以避免历史菜单断链。用户侧账单落库和规模化运营增强仍在后续闭口。
  • 后续可优化点:后续可增加套餐价格阶梯、Provider 健康趋势、告警规则和按用户 / Key / 模型维度的运营钻取。

Queue 运行概览页

Admin Queue 运行概览页
  • 路由路径/#/queue
  • 当前完成状态:已完成。展示默认连接、Worker 状态、数据库队列积压指标、超时处理中指标、Job 事件日志,并支持一键恢复超时 PROCESSING 任务。
  • 需要主分支补齐的后端/API 事项:无新增;Queue 指标、事件日志、恢复接口、后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可增加队列趋势图和 Worker 心跳状态。

Queue 失败任务页

Admin Queue 失败任务页
  • 路由路径/#/queue/failed-jobs
  • 当前完成状态:已完成。支持失败任务分页、筛选、详情、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐;retry 会重新投递任务并删除失败记录,本轮前端暂不开放。
  • 后续可优化点:后续可增加重试二次确认、执行结果展示和失败 payload 脱敏。

文件记录页

Admin 文件记录页
  • 路由路径/#/file/records
  • 当前完成状态:已完成。支持文件元数据分页、筛选、详情、临时预览 URL、临时下载 URL、删除、批量删除、图片缩略图生成、图片文件内容安全检测和素材选择器;列表、详情和选择器可展示 mediaAssets 素材类型、图片预览、内容安全 scene、生命周期和文件 metadata 摘要;可读取 keyword / fileId 查询参数,作为 Mall 订单、售后、交易链路和履约凭证证明文件的只读元数据落点。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐;人工 create/update 元数据暂不开放,避免绕过真实上传和存储流程。
  • 后续可优化点:后续可增加业务引用反查和上传入口联动。

Storage 配置元数据页

Admin Storage 配置元数据页
  • 路由路径/#/file/storage
  • 当前完成状态:已完成。只读展示全局字段、内置 disk、provider 和 disk 模板字段。
  • 需要主分支补齐的后端/API 事项:后台动态菜单种子和超级管理员挂载已补齐。
  • 后续可优化点:后续可联动配置中心生成真实编辑表单,并对敏感字段做脱敏展示。

IAM 权限管理页

Admin IAM 权限管理页
  • 路由路径/#/iam/permission/index
  • 当前完成状态:已完成。支持权限分页、关键词 / 类型 / 状态筛选、新增、编辑、删除和批量删除。
  • 需要主分支补齐的后端/API 事项:无新增;当前主分支已具备 iam/permission/index 菜单种子和 iam:permission:* 权限。
  • 后续可优化点:后续可增加按菜单 / 角色反查权限引用关系,删除前展示影响范围。

工程与接入说明

后台管理界面源码放在:

text
views/admin

当前采用 vue-pure-admin 完整版作为后台管理前端基线,不切换到精简版、缩小版或另起轻量后台骨架。后续开发继续沿用完整版布局、组件、主题、路由和配置体系,在项目适配层内逐步替换为真实后台 API;生产菜单只暴露已接入的项目后台页面。导入来源记录在:

text
views/admin/ADMIN_IMPORT.md

本地预览:

bash
cd views/admin
pnpm install
pnpm dev

构建:

bash
cd views/admin
pnpm build

也可以通过 Maven 构建模块执行:

bash
./mvnw -pl spring-open-views/spring-open-view-admin package -DskipTests

spring-open-view-admin 会使用项目统一的 Node.js 24.16.0 基线,并通过 Maven 插件默认下载 pnpm 11.0.0;本机直接执行前端命令时 pnpm 只要求 >=11。构建会执行 pnpm install --frozen-lockfilepnpm build,再清空并复制产物到 public/admin,避免旧 chunk 残留到部署目录。public/admin 是构建产物,不进入 Git。

当前 admin 生产和预发布构建使用 ./ 作为 public path,静态资源、platform-config.jsonversion.json 和运行时公共资源都按当前 HTML 所在目录相对加载,便于把 public/admin 部署到任意 nginx 站点目录或 URL 子路径。pnpm buildpnpm build:staging 直接执行 Vite 构建并生成版本文件,避免额外白名单检查阻塞正常业务域新增。spring-open-application 不依赖该模块,后续也不应把前端依赖引入 Java 应用装配层。

admin 会优先读取 GET /api/v1/site,用后端返回的站点名称 / 短名称、标题、Logo、Favicon、URL 和版权信息展示左上角品牌、登录标题、浏览器标题和页脚;左上角品牌优先显示完整站点名称,只有当前侧边栏宽度无法完整显示时才降级为短名称。接口不可用时回退 platform-config.json 中的本地标题。构建欢迎语、模板来源和依赖信息保留在工程元数据中,便于后续追溯。

Admin 业务菜单只来自后端 GET /api/v1/admin/iam/users/{id}/menus,前端不再维护内置兜底菜单、补充菜单或本地业务域分组。菜单接口不可用、未认证或返回空菜单时,前端不会拼接本地业务入口,应按登录态和后端菜单状态排查,避免出现“页面可进入但接口未认证”的假可用状态。新增后台页面必须落在 views/admin/src/views 的真实业务域目录,并先接入真实后端菜单、权限和 API。

工作台预览快捷入口和基础列表页会在列表接口不可用时保留筛选区、表格容器和操作入口,并在表格上方显示内联提示,不再把接口 404、网关未启动或权限联调失败直接表现为白屏或重复错误弹窗。当前覆盖 IAM 用户 / 角色 / 菜单 / 部门 / 租户 / 组织 / 岗位 / 权限、用户租户 / 组织 / 部门 / 岗位归属 / 用户关系、外部身份提供者运行时配置、字典 / 文本模板 / 配置 / 配置分类 / 配置变更日志、登录日志 / Token 审计日志 / 操作日志 / 在线用户、站内信 / 通知发送日志 / 会话消息 / WebSocket 运维、CMS 内容运营 / 内容管理、Blog 内容审核 / 文章 / 分类 / 标签 / 评论 / 内容处理记录、Forum 内容审核 / 板块 / 主题 / 回复 / 举报 / 举报处理记录、Mall 订单 / 支付退款流水 / 售后 / 操作确认台 / 交易链路 / 履约凭证 / 库存流水 / 商品 SKU / 商品 / 分类页面;真实数据、按钮权限和写操作仍以后端接口返回为准。

未注册为后台动态菜单入口的关于页、引导页、标签页演示和菜单溢出演示源码已清理,开发 mock 动态路由中的标签页演示入口也已移除。后续如果需要恢复同类能力,应通过后端动态菜单、真实项目 API 和明确权限重新接入,而不是直接恢复模板演示页。

未注册的结果页成功 / 失败模板源码也已清理。后台业务如果需要提交结果页,应在具体业务流程中基于真实状态、权限和接口重新设计页面。

未注册的 CodeMirror 编辑器模板源码已清理,codemirrorcodemirror-editor-vue3@types/codemirror 依赖已从 admin 前端移除。后续若后台需要代码编辑能力,应在真实业务模块中重新评估编辑器、权限和保存接口。

未注册的 Ganttastic 甘特图模板源码已清理,@infectoone/vue-ganttastic 依赖已从 admin 前端移除。后续若后台需要项目计划或任务排期页面,应按真实运维 / 项目数据接口重新设计。

未注册的权限演示模板源码已清理,开发 mock 中的 /permission 演示菜单、permission:btn:* 样例权限和对应动态路由已移除。后台真实权限配置继续通过IAM 菜单、角色菜单权限和后端返回的权限码完成,不恢复模板演示页。

admin 开发预构建配置也已移除这些模板依赖的 optimizeDeps.include 残留,并清理 deep-chat 自定义元素配置;已删除模板依赖不应重新进入 build/optimize.tsbuild/plugins.tspackage.json 或锁文件。

后台管理端已提供项目 Auth/IAM 登录适配层:

  • 登录:POST /api/v1/auth/login
  • 退出登录:POST /api/v1/auth/logout
  • 当前用户:GET /api/v1/auth/me
  • Token 续期:POST /api/v1/auth/refresh
  • 当前用户角色 / 权限:GET /api/v1/admin/iam/users/{userId}/rolesGET /api/v1/admin/iam/users/{userId}/permissions

开发环境默认通过 VITE_API_BASE_URL=/api 调用后端,并使用 VITE_API_PROXY_TARGET=http://127.0.0.1:8000 做本地代理。生产和预发布环境默认也使用 /api,适合同源部署;如果前后端分离部署,可以按部署网关调整 views/admin/.env.*

admin 生产和预发布构建默认设置 VITE_ENABLE_MOCK=false,不会把 vue-pure-admin 模板 mock server 作为生产能力启用。只有需要临时预览模板示例时,才应在本地或隔离环境显式打开该开关。

MQTT 客户端页面只作为本地 / 隔离环境联调工具,不内置公共 broker、用户名或密码。需要预填连接信息时,通过 VITE_MQTT_HOSTVITE_MQTT_USERNAMEVITE_MQTT_PASSWORD 显式配置;生产环境不要把公共代理或测试凭据写入源码。

未注册为后台动态菜单入口的卡片列表示例源码已改为本地静态样例,对应模板 /get-card-list mock 路由已删除;后续若转为正式业务页面,应通过后端动态菜单和真实项目 API 接入。

admin 本地离线缓存的 localforage 仓库名为 spring-open-admin,与 platform-config.json 中的响应式存储命名空间保持同一套后台本地缓存前缀,避免继续复用模板时期的本地缓存名。

顶部通知下拉不再使用 vue-pure-admin 模板评论、任务样例或外部头像资源。当前会优先读取当前用户消息中心摘要和最近动态:GET /api/v1/message-center/summaryGET /api/v1/message-center/recent,用总未读刷新顶部徽标,并把站内信 / 会话最近动态分别放入通知和消息页签;站内信列表和未读数继续作为降级来源:GET /api/v1/notifications/inbox?status=0GET /api/v1/notifications/inbox/unread-count,点击通知页签的标记已读时调用 PUT /api/v1/notifications/inbox/read-all;接口不可用时保留本地运行提示作为降级内容。

当前后端使用 Sa-Token 单 token 续期语义,还没有独立 refresh token。admin 适配层会把后端 token 映射为模板需要的 accessToken / refreshToken 字段,并通过 /api/v1/auth/refresh 做兼容续期。角色和权限接口在登录后按当前用户 ID 尝试读取;如果接口暂不可用,前端会保留空角色 / 空按钮权限,不再回退到模板默认 admin / *:*:* 权限,真实接口权限仍以后端校验为准。

登录表单不再预填模板账号和密码,避免把 vue-pure-admin 示例账号误认为框架默认凭据。开发和演示环境需要使用后端实际初始化的账号登录。账号密码登录页也不再使用 vue-pure-admin 模板内置的本地图形验证码;该验证码只在浏览器端生成和校验,不对应后端风控能力。后续如果需要图形验证码或风险挑战,应由 Auth 后端提供验证码 ID、图片和登录校验字段后再接入。

二维码登录面板不再展示模板静态二维码。当前后端尚未提供二维码登录会话创建、扫码确认和状态轮询协议,admin 只保留入口并提示接口待补齐,不伪造扫码登录成功。

admin 不再启用 vue-pure-admin 模板自带的前端简版 SSO helper。该 helper 会从 URL 参数直接读取 usernamerolesaccessToken 写入本地登录态,不经过后端换票或校验。后台单点登录应优先使用已接入的 OAuth / OIDC 授权码流程;如果需要一次性 SSO ticket 跳转,应由 Auth 后端提供 ticket 换取登录态的接口后再接入。

退出登录时,admin 会携带当前 token 尽力调用 /api/v1/auth/logout 退出服务端会话;无论接口是否成功,前端都会清理本地 token、动态路由缓存、标签页和路由状态,避免后端会话已失效时无法退出。

账户设置个人资料页会复用 GET /api/v1/auth/mePUT /api/v1/admin/iam/users/{id} 保存昵称和已有头像 URL,并通过 POST /api/v1/iam/users/me/avatar 上传当前用户头像。邮箱和手机号在个人信息页只读展示,不在资料保存中作为可编辑身份字段暴露;用户需要变更绑定时跳转到账户管理页,通过短信 / 邮箱验证码流程完成。普通用户扩展资料已接入 GET /api/v1/iam/users/me/profilePUT /api/v1/iam/users/me/profile,支持真实姓名、性别、生日和个人简介读取 / 保存;保存时账号基础信息和扩展资料并行提交,任一接口失败都会展示后端错误。

当前用户头像上传接口返回 urlfileIdpathcontentTypesize,前端会使用返回的 url 更新个人信息表单、账户设置侧栏头像和当前登录用户本地头像状态。用户管理中为其他用户上传头像仍属于后台扩展动作,当前可继续通过用户更新接口保存已有头像 URL。

模板组件上传示例也不再访问 vue-pure-admin 原有 Beeceptor 外部上传地址;自动上传示例改为本地处理器,表单上传只做本地校验并提示后端接口待补齐,避免后台视图向第三方示例服务发送文件。

第三方登录入口会读取后端已启用的身份提供方,不再展示模板固定假入口:

text
GET /api/v1/auth/identity/providers
POST /api/v1/auth/oauth/{provider}/authorize
POST /api/v1/auth/oauth/{provider}/login
POST /api/v1/auth/identity/providers/{code}/login
POST /api/v1/auth/verify/email-codes
POST /api/v1/auth/login/email
POST /api/v1/auth/wallet/challenge
POST /api/v1/auth/wallet/login

admin 只渲染后端返回的 provider。账号密码、短信验证码和邮箱验证码登录都会在提交期间阻止重复提交;第三方登录入口在授权地址请求、钱包签名或 Telegram 回调登录处理中也会阻止重复触发。OAuth / 企业 OIDC provider 点击后会提交当前 admin 地址作为 redirectUri 创建授权地址,并跳转到后端返回的 authorizeUrl;回跳时会读取 code / state 和发起授权时暂存的 provider,调用 OAuth 登录接口写入同一套本地登录态,再清理地址栏回调参数。邮箱验证码登录使用 admin-login 场景发送验证码,提交后由后端校验并消费验证码,再通过统一账号体系中的 email identity 返回 LoginVO。钱包 provider 会请求浏览器注入钱包账户,创建后端 challenge,使用 personal_sign 签名后提交钱包登录接口;未检测到钱包或用户取消授权 / 签名时只提示,不伪造登录成功。Telegram provider 会返回 Login Widget 前端渲染所需的 botUsernamebuttonSizecornerRadiusrequestAccess 公开字段,并把回调 signed payload 提交到 descriptor 的 loginPathbot-token 只用于后端校验 hash,不会返回给前端。LDAP / AD 和 SAML provider 使用 /api/v1/auth/identity/providers/{code}/login 通用登录入口,具体 payload 由 provider descriptor 的 flowmetadata 决定。身份提供方列表、OAuth 授权地址、钱包 challenge、短信 / 邮箱验证码、公开登录提交和站点信息接口均作为登录页公共请求处理,不依赖浏览器里可能残留的旧 token。身份提供方列表加载失败时,登录页会显示失败状态和重试入口,而不是静默隐藏第三方登录区。

IAM 外部身份提供者运行时配置页已接入 /api/v1/admin/iam/identity-providers,菜单路径为 /#/iam/identity-providers,组件为 iam/identity-provider/index。页面支持 provider descriptor 分页筛选、启停、展示名和排序配置、本地可用性测试、secret 引用轮换和绑定查询;secret 只提交引用、提示和版本,不提交明文,列表和详情中也只显示掩码后的引用摘要。

登录页的短信验证码发送已复用认证验证码入口:

text
POST /api/v1/auth/verify/sms-codes

admin 会按手机号和场景提交 mobilescene,并使用后端返回的 resendAfter 控制倒计时;验证码发送请求处理中会先禁用按钮,避免网络返回前重复发送短信或邮箱验证码。手机号登录已接入 POST /api/v1/auth/login/sms,提交 mobilecodescenedevice=admin,后端会校验并消费短信验证码后返回统一 LoginVO。注册表单已接入 POST /api/v1/auth/register,找回密码表单已接入 POST /api/v1/auth/password/reset,成功后返回登录页。

后台动态菜单已接入当前用户菜单树:

text
GET /api/v1/admin/iam/users/{userId}/menus

admin 会先通过 GET /api/v1/auth/me 获取当前用户 ID,再读取用户菜单树,并把 RbacMenuVOpathcomponentredirecticonpermissionCodesortOrder 映射为 vue-pure-admin 动态路由。动态组件导入池使用 views/admin/src/views/**/*.{vue,tsx},只解析仓库中真实存在的后台视图文件;后端已下发但前端页面尚未实现的菜单不会生成可访问路由。操作日志菜单现在直接解析到当前操作日志真实页面。

admin 静态路由只保留首页、错误页、登录、重定向和账户设置等基础路由;IAM、配置中心、监控审计和后续业务入口均通过后端动态菜单控制。vue-pure-admin 模板自带的组件演示、外部 iframe 示例、无 Layout 空白示例和 mock 列表不再作为静态菜单或剩余路由暴露给登录用户;src/router/modules 只保留 home.tserror.tsremaining.ts,其余未注册模板路由模块已删除。

未注册的 chatai 模板 AI 聊天示例目录已删除,deep-chat 依赖也已从 admin 前端依赖中移除,避免后台管理视图继续携带不可达的 AI 示例、外部图片和第三方示例入口。后续如需后台 AI 能力,应通过正式 AI / Knowledge 模块接口重新设计页面和权限。

未注册的 markdown 模板编辑器示例目录已删除,vditor 依赖也已从 admin 前端依赖中移除,避免后台管理视图继续携带不可达的第三方 Markdown 编辑器示例。后续如需正式内容编辑能力,应在 CMS / Blog 等业务模块中按真实 API 和权限重新接入。

用户管理基础操作已接入IAM 用户接口:

text
GET /api/v1/admin/iam/users
POST /api/v1/admin/iam/users
PUT /api/v1/admin/iam/users/{id}
DELETE /api/v1/admin/iam/users/{id}
DELETE /api/v1/admin/iam/users

admin 会把后端 PageResult<IamUserVO>recordstotalpagesize 适配为模板表格需要的 listtotalcurrentPagepageSize,并把 IamUserVO.mobile 映射为表格中的手机号码字段。当前模板中的用户名称和手机号码查询会合并为后端 keyword 查询,状态映射为 status。用户新增、编辑、删除、批量删除和状态切换已接入真实后端 API;新增用户时状态由后端默认启用,编辑和表格状态切换通过用户更新接口保存。

用户编辑弹窗的归属部门已接入用户部门关系接口:

text
GET /api/v1/iam/user-departments
POST /api/v1/iam/user-departments
PUT /api/v1/iam/user-departments/{id}

admin 会读取用户启用状态的部门关系,优先展示主部门;保存用户时,如果表单选择了归属部门,会根据部门记录继承 tenantIdorganizationId,并创建或更新用户主部门关系。

用户分配角色弹窗的读取侧也已接入 RBAC 接口:

text
GET /api/v1/admin/iam/roles
GET /api/v1/admin/iam/users/{userId}/roles
PUT /api/v1/admin/iam/users/{userId}/roles

admin 会读取启用状态角色作为可选项,从指定用户角色列表中抽取角色 ID 用于回显,并在确认后提交 { "roleIds": [...] } 保存用户角色。用户管理重置密码弹窗已接入 PUT /api/v1/admin/iam/users/{id}/password,提交 { "password": "..." },复用 iam:user:update 权限和数据范围校验;头像上传仍是后续扩展任务,当前头像上传入口只提示后端接口待补齐,不打开模板裁剪器、不刷新列表。

角色管理列表已接入IAM 角色分页接口:

text
GET /api/v1/admin/iam/roles
POST /api/v1/admin/iam/roles
PUT /api/v1/admin/iam/roles/{id}
DELETE /api/v1/admin/iam/roles/{id}

admin 会把后端 PageResult<RbacRoleVO> 适配为模板角色表格,并把 RbacRoleVO.description 映射为表格备注。当前模板中的角色名称和角色标识查询会合并为后端 keyword 查询,状态映射为 status。角色新增、编辑、删除和状态切换已接入角色管理 API;保存时会把模板表单备注映射为后端 description

角色管理页已接入角色数据权限接口:

text
GET /api/v1/iam/role-data-scopes
POST /api/v1/iam/role-data-scopes
PUT /api/v1/iam/role-data-scopes/{id}
DELETE /api/v1/iam/role-data-scopes/{id}

admin 在角色列表行内提供「数据权限」入口,打开抽屉后可查看当前角色已有数据范围,新增 / 编辑 / 删除租户、组织、部门、本人、自定义或全部数据范围。super-admin 数据范围由安装基线维护,页面只读展示并阻止保存、编辑或删除;后端角色数据范围接口也会拒绝该角色的数据范围变更。页面只传递数据范围类型和目标 ID,具体数据范围可访问性仍以后端数据权限管理器校验为准。

权限管理列表已接入IAM 权限分页接口:

text
GET /api/v1/admin/iam/permissions
POST /api/v1/admin/iam/permissions
PUT /api/v1/admin/iam/permissions/{id}
DELETE /api/v1/admin/iam/permissions/{id}
DELETE /api/v1/admin/iam/permissions

admin 会把后端 PageResult<RbacPermissionVO> 适配为权限表格,支持按 keywordtypestatus 查询;保存时提交 codenametypedescriptionstatussortOrder。当前主分支已提供 iam/permission/index 菜单种子和 iam:permission:* 权限码。

菜单管理列表和角色菜单权限树已接入IAM 菜单接口:

text
GET /api/v1/admin/iam/menus
POST /api/v1/admin/iam/menus
PUT /api/v1/admin/iam/menus/{id}
DELETE /api/v1/admin/iam/menus/{id}
GET /api/v1/admin/iam/roles/{roleId}/menus
PUT /api/v1/admin/iam/roles/{roleId}/menus

admin 会把后端 RbacMenuVO.permissionCodesortOrdervisible 分别映射为模板菜单表格中的 authsrankshowLink 字段,并继续使用模板现有 handleTree 在前端生成树形表格。菜单新增、编辑和删除已接入菜单管理 API;保存时会把模板表单中的路由名称、权限标识和排序分别映射为后端 codepermissionCodesortOrder。角色权限面板会读取完整菜单列表作为可选树,再读取指定角色已分配菜单树并抽取菜单 ID 列表用于回显;保存时会提交 { "menuIds": [...] } 到角色菜单授权接口。

部门管理列表已接入 IAM 部门分页接口:

text
GET /api/v1/iam/departments
POST /api/v1/iam/departments
PUT /api/v1/iam/departments/{id}
DELETE /api/v1/iam/departments/{id}

admin 会按后端 PageResult<DepartmentVO> 分页读取可见部门记录,并把 DepartmentVO.sortOrderdescription 分别映射为模板部门表格中的 sortremark 字段,再通过模板现有 handleTree 生成树形表格。部门新增、编辑和删除已接入部门管理 API;保存时会把模板表单中的部门编码、备注和排序分别映射为后端 codedescriptionsortOrder,租户与组织 ID 会从当前编辑部门、所选父部门或现有部门列表继承。

Forum 板块管理已接入 Forum 后台接口:

text
GET /api/v1/admin/forum/boards
POST /api/v1/admin/forum/boards
PUT /api/v1/admin/forum/boards/{id}
DELETE /api/v1/admin/forum/boards/{id}
DELETE /api/v1/admin/forum/boards

admin 会把后端 PageResult<ForumBoardVO>recordstotalpagesize 适配为表格分页,并按 keywordstatus 查询板块。保存时提交 codenamedescriptioniconUrlsortOrderstatusextraJson;批量删除提交 { "ids": [...] }。前端动态路由已允许 forum/board/index 组件,后台菜单种子已挂载 forum:board:view,可通过当前用户菜单树显示入口。

Forum 主题管理已接入 Forum 后台接口:

text
GET /api/v1/admin/forum/topics
POST /api/v1/admin/forum/topics
PUT /api/v1/admin/forum/topics/{id}
DELETE /api/v1/admin/forum/topics/{id}
DELETE /api/v1/admin/forum/topics

admin 会把后端 PageResult<ForumTopicVO>recordstotalpagesize 适配为表格分页,并按 keywordboardIdauthorIdstatus 查询主题。保存时提交 boardIdtitlesummarycontentauthorIdauthorNamestatuspinnedfeaturedpublishedAtextraJson;批量删除提交 { "ids": [...] }。前端动态路由已允许 forum/topic/index 组件,后台菜单种子已挂载 forum:topic:view,可通过当前用户菜单树显示入口。

Forum 回复管理已接入 Forum 后台接口:

text
GET /api/v1/admin/forum/replies
POST /api/v1/admin/forum/replies
PUT /api/v1/admin/forum/replies/{id}
DELETE /api/v1/admin/forum/replies/{id}
DELETE /api/v1/admin/forum/replies

admin 会把后端 PageResult<ForumReplyVO>recordstotalpagesize 适配为表格分页,并按 topicIdauthorIdstatus 查询回复。保存时提交 topicIdparentIdcontentauthorIdauthorNamestatusextraJson;批量删除提交 { "ids": [...] }。前端动态路由已允许 forum/reply/index 组件,后台菜单种子已挂载 forum:reply:view,可通过当前用户菜单树显示入口。

登录日志页已接入认证审计接口:

text
GET /api/v1/iam/auth/audit/login-logs
GET /api/v1/iam/auth/audit/risk-summary
DELETE /api/v1/iam/auth/audit/login-logs

admin 会把后端 LoginLogVO.loginIdentifierloginTypeidentityTypeproviderdevicesuccessfailureReasoncreatedAt 映射到登录日志表格,并支持按登录标识和登录状态查询。顶部风控摘要会展示最近窗口内总登录、失败登录、失败率、密码失败、验证码失败和最近失败样本;批量删除和“清空当前页”会提交当前选中或当前页日志 ID 到后端批量删除接口。

Token 审计日志页已接入认证审计接口:

text
GET /api/v1/iam/auth/audit/token-logs
GET /api/v1/iam/auth/audit/token-logs/{id}
DELETE /api/v1/iam/auth/audit/token-logs

admin 会把后端 TokenAuditLogVO.userIdtokenSuffixdeviceactiontargetDevicetimeoutSecondssuccessfailureReasoncreatedAt 映射到 Token 审计日志表格,并支持按关键字、设备、动作和状态查询。详情弹窗读取单条日志,批量删除和“清空当前页”会提交当前选中或当前页日志 ID 到后端批量删除接口。

操作日志页已接入操作审计接口:

text
GET /api/v1/admin/audit/operation-logs
DELETE /api/v1/admin/audit/operation-logs

admin 会把后端 OperationLogVO.modulesummaryrequestUrihttpMethodstatusCodesuccessdurationMssourceIperrorMessagecreatedAt 映射到操作日志表格,并支持按所属模块和操作状态查询。批量删除和“清空当前页”会提交当前选中或当前页日志 ID 到后端批量删除接口。

在线用户页已接入在线会话接口:

text
GET /api/v1/admin/auth/online-sessions
POST /api/v1/admin/auth/online-sessions/{userId}/devices/{device}/kickout

admin 会把后端 OnlineSessionVO.userIdusernamenicknamedevicedeviceIdtokenSuffixtimeoutSecondscreateTime 映射到在线用户表格,并支持按用户名关键字查询。WebSocket、会话和通知链路跳转时会带入 keyworddevicedeviceIdsessionIdconversationIdconversationMessageIdmessageIdrecipientUserIdsendLogIdchannelresultCodetraceId 等查询参数,在线用户页会自动套用可匹配字段并展示筛选上下文;从在线用户页继续跳转 WebSocket 或操作日志时会保留这些上游上下文。强退按钮会按用户 ID 和设备类型调用后端踢下线接口。

账户设置安全日志会先读取当前登录用户,再按用户 ID 复用登录审计分页接口:

text
GET /api/v1/auth/me
GET /api/v1/iam/auth/audit/login-logs
PUT /api/v1/admin/iam/users/{id}

admin 会把当前用户 ID 作为 userId 查询参数,只展示当前账号的登录审计记录,并将登录标识、设备、身份类型、provider、登录结果和创建时间映射到个人安全日志表格。个人资料保存会复用IAM 用户更新接口提交昵称和已有头像 URL,并通过当前用户 profile 接口提交真实姓名、性别、生日和个人简介,保存中会禁用重复提交;邮箱和手机号在个人资料页只读展示并引导到账户管理绑定流程;当前用户头像上传已接入 POST /api/v1/iam/users/me/avatar

账户管理页已接入 PUT /api/v1/iam/users/me/password,会校验旧密码后修改当前登录用户密码;绑定状态已切换到 GET /api/v1/iam/users/me/bindings。当前用户用户名修改由 PUT /api/v1/iam/users/me/username 提供,并通过 GET /api/v1/auth/capabilities 读取后端 usernameChangePolicy 展示限额策略;修改成功后会同步登录 username identity、账户设置侧栏和本地登录态。手机号和邮箱绑定变更分别通过 PUT /api/v1/iam/users/me/mobilePUT /api/v1/iam/users/me/email 保存,解绑分别通过 DELETE /api/v1/iam/users/me/mobileDELETE /api/v1/iam/users/me/email 处理;提交绑定前会先通过 POST /api/v1/auth/verify/sms-codesPOST /api/v1/auth/verify/email-codes 发送验证码,并在保存时由后端校验消费验证码。密保问题读取使用 GET /api/v1/iam/users/me/security-questions,保存使用 PUT /api/v1/iam/users/me/security-questions,支持 1 到 5 个问题整体替换保存,答案只提交给后端哈希存储,不在前端回显明文。

偏好设置已接入 GET /api/v1/iam/users/me/preferencesPUT /api/v1/iam/users/me/preferencesGET /api/v1/notifications/preferencesPUT /api/v1/notifications/preferences,当前支持账户消息、系统消息、待办任务、营销消息、语言、时区、主题、通知渠道和业务类型通知开关。账户设置页支持通过 /#/account-settings?pane=preferences 直接打开偏好设置子页。

Released under the Apache License 2.0.