Files
mokeegateway/memory/session-20260620-1.md
2026-07-15 16:13:27 +08:00

72 lines
3.8 KiB
Markdown
Raw 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.
---
name: session-20260620-1
description: 2026-06-20 第1次会话 — menu/router接口改造、user/info权限过滤、文档清理、数据库IP迁移域名、Redis Key加前缀
metadata:
type: session
date: 2026-06-20
sessionNumber: 1
startTime: 2026-06-20T00:00:00+08:00
---
# 2026-06-20 第1次会话
## 会话摘要
本次会话主要做了5件事1) `/menu/router` 接口响应结构调整,新增 `permission` 字段2) `/user/info``permissions` 仅 gateway 系统返回3) 接入文档清理删除冗余接口章节4) 数据库/Redis IP 全部迁移到域名5) Redis Key 加统一前缀 `GATEWAY:`
## 关键操作
### 1. /menu/router 接口返回结构调整
- **做了什么**: 新建 `MenuRouterResponse` DTO`menu` + `permission` 字段),修改 AuthService/AuthServiceImpl/AuthController 返回新结构,前端 auth.ts 和 AdminLayout.vue 适配新结构
- **原因**: 业务系统需要一次性获取菜单路由树 + 该系统所有权限标识,用于前端 v-permission 指令
- **结果**: 返回从 `[{...}]` 变为 `{"menu":[{...}], "permission":["...","..."]}`
- **涉及文件**: `MenuRouterResponse.java`(新建), `AuthService.java`, `AuthServiceImpl.java`, `AuthController.java`, `auth.ts`, `AdminLayout.vue`, `integration-guide.md`, `IntegrationDoc.vue`
### 2. /user/info 的 permissions 条件返回
- **做了什么**: `getUserInfo()` 中判断 `currentSystemCode`,仅 gateway 系统返回 permissions业务系统返回 null
- **原因**: user/info 的 permissions 是网关平台权限,业务系统用不到,应通过 /menu/router 获取自身权限
- **结果**: 文档 5.1 节完全去掉 permissions 字段
### 3. 接入文档删除 system/select 和 logout 接口
- **做了什么**: 删除 Markdown 和 Vue 文档中 5.4 (system/select) 和 5.5 (logout) 章节5.6→5.4 重新编号API 速查表同步更新
- **原因**: 这两个接口 Widget 已内置切换系统→跳转系统选择页退出登录→Widget 内部处理),接入系统不需要自己调
- **涉及文件**: `integration-guide.md`, `IntegrationDoc.vue`
### 4. 数据库/Redis IP 迁移域名
- **做了什么**: 全项目 `10.1.1.122` → 域名,区分 PROD/QA 环境
- **原因**: 统一使用域名方便运维IP 变更不用改代码
- **结果**:
- PROD: MySQL=`db1.prod.zgitm.com`, Redis=`redis.db1.zgitm.com`
- QA: MySQL=`db1.qa.zgitm.com`, Redis=`redis.db2.zgitm.com`
- **涉及文件**: 21个文件yml src×6 + yml target×6 + py×7 + 需求文档×1 + ...
### 5. Redis Key 加统一前缀 GATEWAY:
- **做了什么**: `RedisUtil` 新增 `KEY_PREFIX = "GATEWAY:"` 常量和 `key()` 静态方法,所有 Redis key 改为 `RedisUtil.key("xxx")`
- **原因**: 以后改前缀只改一处
- **结果**: 所有 key 变为 `GATEWAY:rate:login:...` / `GATEWAY:auth:token:...` / `GATEWAY:open:token:...`
- **涉及文件**: `RedisUtil.java`, `AuthServiceImpl.java`, `UserServiceImpl.java`, `RoleServiceImpl.java`, `OpenApiController.java`
## 重要信息
### 数据库连接
| 环境 | MySQL | Redis |
|------|-------|-------|
| PROD | db1.prod.zgitm.com:3306 | redis.db1.zgitm.com:6379 |
| QA | db1.qa.zgitm.com:3306 | redis.db2.zgitm.com:6379 |
### API 接口清单(接入系统用)
| 章节 | 接口 | 说明 |
|------|------|------|
| 5.1 | GET /user/info | 用户信息(无 permissions |
| 5.2 | GET /menu/router | 菜单树 + 权限列表 |
| 5.3 | GET /system/list | 可切换系统列表 |
| 5.4 | PUT /password/update | 修改密码 |
### Redis Key 前缀
- 统一前缀: `GATEWAY:`
- 改法: `RedisUtil.key("auth:token:" + tokenId)`
## 待处理
- [ ] 部署后端到服务器使接口变更生效
- [ ] 部署前端到服务器使文档页生效
- [ ] 确认 DNS 解析 `db1.prod.zgitm.com` / `db1.qa.zgitm.com` / `redis.db1.zgitm.com` / `redis.db2.zgitm.com` 已配置