XnLemon opened a new issue, #1043: URL: https://github.com/apache/dubbo-go-pixiu/issues/1043
## 背景 `admin/web` 已从 Vue2 迁移为 React + TypeScript。本 Issue 只跟踪功能能力差距,不包含样式、排版、格式化和代码质量问题。 对照基线: - 当前实现:`feat/pixiu-admin-web-refactor` - 旧版实现:PR #1026 前 `develop` 分支中的 Vue Admin - 相关 PR:[[apache/dubbo-go-pixiu#1026](https://github.com/apache/dubbo-go-pixiu/pull/1026)](https://github.com/apache/dubbo-go-pixiu/pull/1026) - API 路由继续使用现有的 Resource + Method 模型,不新增 `/api-admin` 或独立 `/mapping` 后端前缀。 ## 功能差距 | 模块 | Vue 版能力 | 当前 React 状态 | 缺口 | | --- | --- | --- | --- | | 登录 | 登录、注册入口、路由鉴权 | 登录、退出、未登录跳转 `/login` | 缺少注册页面和 `/register` 调用 | | 个人中心 | 查询用户信息、修改密码 | 仅保留 API service,无页面入口 | 缺少用户信息和修改密码页面 | | API 路由 | Resource 列表、新增、删除;Resource 详情编辑;Method 新增、查看、编辑、删除 | 已有列表、搜索、状态筛选、Resource 新增、Method 列表/新增/编辑 | 缺少 Resource 编辑/删除入口、Method 删除入口、稳定详情路由 | | API 路由状态 | 旧版没有完整状态管理 | 当前有“已发布/草稿/已暂停”筛选 | 状态没有完全对应后端字段,`enable: false` 等情况可能显示错误 | | API 路由发布 | 后端已存在 Resource/Method 发布接口 | 当前没有发布操作和接口封装 | 需要补齐发布流程;Method 发布后端 handler 目前仍是 TODO | | 集群 | 列表、详情、新增、编辑、删除 YAML | 基本已覆盖 | 需要补充真实后端回归验证 | | 监听器 | 列表、详情、新增、编辑、删除,并展示路由匹配和 filters | 基本 CRUD 已覆盖,仅展示路由数量 | 缺少 match、cluster、filter 的结构化预览 | | 插件组 | Vue 页面声明了列表、详情、新增、编辑、删除 | React 页面和 service 已存在 | 当前后端未注册 plugin group CRUD 路由,无法端到端使用 | | 限流 | Vue 页面声明了查询、保存、删除 | React 页面和 service 已存在 | 当前后端未注册 `/config/api/plugin/ratelimit*` 路由,无法端到端使用 | | OPA | 可编辑 `policy_id`,同步、保存、删除策略 | 固定使用 `pixiu-authz`,支持加载、保存、删除 | 缺少 policy id 选择,需要明确是否支持多策略 | | 总览 | 旧版主要展示 Resource 列表 | 当前有配置数量卡片和新总览 | 请求排行、流量趋势、P95、最近配置变更仍是占位或 Mock 数据 | | 大屏 `/dataView` | 旧版存在独立大屏和车辆控制页面 | 当前已移除 | 需要明确该页面是废弃,还是单独恢复 | ## 后端前置问题 插件组和限流虽然在旧 Vue 页面中存在调用代码,但 PR 前 Admin 后端路由本身没有注册对应 CRUD 接口,因此不能视为已经完成的后端能力。 当前后端已提供: - Resource CRUD - Method CRUD - Cluster CRUD - Listener CRUD - OPA Policy CRUD - Base configuration - Login、Logout、User Info、Password Edit 当前后端缺少或未完成: - Plugin Group CRUD - Rate Limit CRUD - Method publish handler 实现 - 请求次数、请求排行、最近配置变更等统计接口 ## 补齐计划 ### P0:确认产品边界和接口契约 - [ ] 确认 `/dataView` 大屏是否正式废弃 - [ ] 建立 Vue 页面、React 页面、后端接口对照表 - [ ] 明确 Resource/Method 的发布、草稿和暂停语义 - [ ] 明确 OPA 是否支持多个 `policy_id` - [ ] 明确插件组和限流接口由前端 Issue 还是后端独立 Issue 负责 ### P1:补齐核心 API 路由能力 - [ ] 为 Resource 增加编辑、删除入口 - [ ] 为 Method 增加删除入口 - [ ] 增加 Resource/Method 详情页或稳定详情路由 - [ ] 接入 Resource 发布和 Method 发布 - [ ] 修正后端字段到前端状态的映射 - [ ] 补齐 `unpublished` 参数处理 - [ ] 保证刷新、复制链接和直接访问详情页可用 ### P1:补齐登录和账号能力 - [ ] 增加注册页面并接入 `/register` - [ ] 增加个人信息页面并接入 `/user/getInfo` - [ ] 增加修改密码页面并接入 `/user/password/edit` - [ ] 验证登录失效、退出登录和重新登录流程 ### P2:补齐配置模块 - [ ] 后端补充插件组 CRUD 接口,再接通 React 页面 - [ ] 后端补充限流接口,再接通 React 页面 - [ ] 监听器增加路由匹配和 filter 的结构化展示 - [ ] OPA 增加 policy id 管理和同步行为 ### P2:补齐总览数据 - [ ] 增加请求次数统计接口 - [ ] 接入请求排行 - [ ] 接入最近配置变更记录 - [ ] 接入流量趋势和延迟指标,或删除当前占位卡片 - [ ] 移除正式页面中的 Mock 数据 - [ ] 404 接口不可静默显示为空列表,应展示明确的功能不可用状态 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
