pangu-user-platform/docs/05-模块技术方案/应用管理-开发计划_Plan模式.md

185 lines
8.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 应用管理模块 - 开发计划Plan 模式)
---
| 文档信息 | 内容 |
|---------|------|
| **文档版本** | V1.0 |
| **模块名称** | 应用管理 |
| **编写团队** | pangu |
| **创建日期** | 2026-01-31 |
---
## 一、当前完成情况结论
**应用管理菜单中的全部页面目前并非前后端一起完成。**
| 端 | 状态 | 说明 |
|----|:----:|------|
| **前端** | ✅ 已完成 | 列表页、新增/编辑弹窗、密钥弹窗、API 封装、Mock 数据均已实现,可与 Mock 联调使用 |
| **后端** | ❌ 未开发 | 无 ApplicationController、无应用相关 Service/Mapper/实体,需从零开发 |
---
## 二、Plan 模式开发计划总览
```
┌─────────────────────────────────────────────────────────────────────────┐
│ 应用管理模块 - 开发计划Plan
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ [阶段一] 技术方案与文档 ✅ 已完成 │
│ [阶段二] 前端开发 ✅ 已完成 │
│ [阶段三] 后端开发 ⬜ 待开始 ← 当前缺口 │
│ [阶段四] 联调与测试 ⬜ 待开始 │
│ [阶段五] 验收上线 ⬜ 待开始 │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
---
## 三、分阶段任务清单Plan
### 阶段一:技术方案与文档 ✅ 已完成
| 序号 | 任务项 | 状态 | 产出/路径 |
|:----:|-------|:----:|----------|
| 1.1 | 应用管理模块技术方案 | ✅ | docs/05-模块技术方案/应用管理模块技术方案_v1.0.md |
| 1.2 | 前端技术方案 | ✅ | docs/05-模块技术方案/应用管理-前端技术方案.md |
| 1.3 | 后端技术方案 | ✅ | docs/05-模块技术方案/应用管理-后端技术方案.md |
| 1.4 | 开发检查清单 | ✅ | docs/05-模块技术方案/应用管理-开发检查清单.md |
| 1.5 | 测试用例 | ✅ | docs/05-模块技术方案/应用管理-测试用例.md |
---
### 阶段二:前端开发 ✅ 已完成
| 序号 | 任务项 | 状态 | 产出/路径 |
|:----:|-------|:----:|----------|
| 2.1 | 应用列表页 | ✅ | frontend/src/views/application/index.vue |
| 2.2 | 新增/编辑弹窗 | ✅ | frontend/src/views/application/components/AppDialog.vue |
| 2.3 | 密钥展示弹窗(重置后复制) | ✅ | frontend/src/views/application/components/SecretDialog.vue |
| 2.4 | 应用管理 API 封装 | ✅ | frontend/src/api/application.js |
| 2.5 | 应用管理 Mock 数据 | ✅ | frontend/src/mock/application.js |
| 2.6 | 路由与菜单配置 | ✅ | 已挂载应用管理菜单,可 Mock 联调 |
**前端已实现能力:**
- 列表查询(应用名称、编码、状态筛选 + 分页)
- 新增应用(应用名称、描述、联系人、电话、状态、接口授权勾选)
- 编辑应用(拉取详情回填 + 提交更新)
- 删除应用Popconfirm 二次确认)
- 重置密钥(确认后弹窗显示新密钥并支持复制)
- 接口授权选项来自 `GET /api/application/apiList`,与接口文档一致
---
### 阶段三:后端开发 ⬜ 待开始
| 序号 | 任务项 | 状态 | 说明 |
|:----:|-------|:----:|------|
| **3.1 数据库** | | | |
| 3.1.1 | 创建 pg_application 表 | ⬜ | 按《数据库设计文档》建表 |
| 3.1.2 | 创建 pg_app_api 表 | ⬜ | 应用接口授权表 |
| 3.1.3 | 创建 pg_api_dict 表 | ⬜ | API 接口字典表 |
| 3.1.4 | 插入 pg_api_dict 初始数据 | ⬜ | 6 条STUDENT_LIST 等) |
| 3.1.5 | 插入应用管理菜单数据 | ⬜ | sql/pangu_menu.sql 或等价脚本 |
| **3.2 实体层** | | | |
| 3.2.1 | Application 实体 | ⬜ | app_id, app_code, app_name, app_secret 等 |
| 3.2.2 | AppApi 实体 | ⬜ | 应用接口授权 |
| 3.2.3 | ApiDict 实体 | ⬜ | 接口字典(或复用已有) |
| 3.2.4 | VO/DTO可选 | ⬜ | 列表/详情/新增修改用 |
| **3.3 Mapper 层** | | | |
| 3.3.1 | ApplicationMapper + XML | ⬜ | 分页列表、详情、增删改 |
| 3.3.2 | AppApiMapper + XML | ⬜ | 按 app_id 查/删/批量插入 |
| 3.3.3 | ApiDictMapper + XML | ⬜ | 查全部接口列表apiList |
| **3.4 Service 层** | | | |
| 3.4.1 | IApplicationService | ⬜ | 列表、详情、新增、修改、删除、重置密钥、apiList |
| 3.4.2 | ApplicationServiceImpl | ⬜ | 应用编码 YY+6 位、密钥 32 位、事务与授权表联动 |
| **3.5 Controller 层** | | | |
| 3.5.1 | ApplicationController | ⬜ | 实现《接口设计文档》第 6 章全部接口 |
| **3.6 接口清单(与前端对齐)** | | | |
| 3.6.1 | GET /api/application/list | ⬜ | 分页列表,支持 appName、appCode、status |
| 3.6.2 | GET /api/application/{appId} | ⬜ | 详情,含 apis 列表 |
| 3.6.3 | POST /api/application | ⬜ | 新增body: appName, appDesc, contactPerson, contactPhone, status, apiCodes |
| 3.6.4 | PUT /api/application | ⬜ | 修改body: appId + 同上 |
| 3.6.5 | DELETE /api/application/{appId} | ⬜ | 删除(含授权表) |
| 3.6.6 | PUT /api/application/resetSecret/{appId} | ⬜ | 重置密钥,返回 data.appSecret |
| 3.6.7 | GET /api/application/apiList | ⬜ | 返回可授权接口列表,供前端勾选 |
---
### 阶段四:联调与测试 ⬜ 待开始
| 序号 | 任务项 | 状态 | 说明 |
|:----:|-------|:----:|------|
| 4.1 | 前端关闭 Mock对接真实后端 | ⬜ | 修改 request baseURL 或环境变量 |
| 4.2 | 接口联调列表、详情、新增、编辑、删除、重置密钥、apiList | ⬜ | 按接口文档校验请求/响应 |
| 4.3 | 业务规则校验 | ⬜ | 编码 YY+6 位、密钥 32 位、删除确认、重置后弹窗复制 |
| 4.4 | 执行《应用管理-测试用例》 | ⬜ | 功能 + 边界 + 权限(如需要) |
---
### 阶段五:验收上线 ⬜ 待开始
| 序号 | 任务项 | 状态 | 说明 |
|:----:|-------|:----:|------|
| 5.1 | 产品/业务验收 | ⬜ | 按需求规格说明书应用管理章节 |
| 5.2 | 部署与发布 | ⬜ | 后端部署、前端打包部署 |
| 5.3 | 上线检查与回滚预案 | ⬜ | 配置、权限、数据初始化 |
---
## 四、后端开发建议顺序Plan 执行顺序)
按依赖关系,建议按以下顺序实施**阶段三**
```
1. 数据库
└─ 建表 + 初始数据 + 菜单 SQL
2. 实体 + Mapper
└─ Application, AppApi, ApiDict 实体
└─ ApplicationMapper, AppApiMapper, ApiDictMapper含 XML
3. Service
└─ IApplicationService + ApplicationServiceImpl
└─ 编码生成、密钥生成、重置密钥、授权表增删
4. Controller
└─ ApplicationController
└─ 7 个接口与接口文档、前端入参出参完全对齐
5. 单测与自测
└─ Service 单测(可选)
└─ Postman/浏览器自测 7 个接口
```
---
## 五、前后端对接要点(联调时核对)
| 项目 | 前端约定 | 后端需满足 |
|------|----------|------------|
| 主键字段名 | 兼容 `appId``id` | 统一返回 `appId` 或与前端约定一致 |
| 列表行数据 | 含 `apis: [{ apiCode, apiName, apiPath }]` | 列表接口返回每行带 apis或至少 apiCodes |
| 详情接口 | 返回 `data.apis` | GET /api/application/{appId} 返回 apis 数组 |
| 新增/修改 body | appName, appDesc, contactPerson, contactPhone, status, apiCodes | 接收 apiCodes 数组,落库到 pg_app_api |
| 重置密钥 | PUT /api/application/resetSecret/{appId},响应 data.appSecret | 同上,返回明文新密钥 |
| apiList | GET /api/application/apiListdata 为数组 | 返回 pg_api_dict 中启用接口列表 |
---
## 六、总结
| 问题 | 结论 |
|------|------|
| 应用管理菜单中的全部页面是否前后端一起完成? | **否。** 仅前端(含 Mock完成后端未开发。 |
| 下一步建议 | 按本文「阶段三」与「后端开发建议顺序」实施后端开发,再进行阶段四联调与测试。 |
---
*文档结束*