修改测试查询的界面部分逻辑,修复bug
This commit is contained in:
131
docs/寻址与索引.md
Normal file
131
docs/寻址与索引.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# AUTS 寻址与索引(前后端快速定位)
|
||||
|
||||
> 目标:后续同步修改前后端时,能快速定位“页面/路由 → 调用的 API → 后端 Controller/Action → 鉴权/配置”。
|
||||
|
||||
## 1. 仓库组成
|
||||
|
||||
- 后端:ASP.NET Core Web API(项目:WebAPIServer)
|
||||
- PC 前端:Vue3 + TypeScript(目录:auts_new.client)
|
||||
- 移动端前端:Vue3(目录:auts_new_mobile.client)
|
||||
|
||||
## 2. 后端寻址(WebAPIServer)
|
||||
|
||||
### 2.1 入口与全局中间件
|
||||
|
||||
- 入口:WebAPIServer/Program.cs
|
||||
- 路由映射:`app.MapControllers()`
|
||||
- CORS:策略名 `Vue3`,当前配置为 `AllowAnyOrigin/AnyHeader/AnyMethod`
|
||||
- 鉴权:JWT Bearer(`AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(...)`)
|
||||
|
||||
### 2.2 路由约定
|
||||
|
||||
所有 Controller 都使用:
|
||||
|
||||
- 路由模板:`api/[controller]/[action]`
|
||||
- 因此实际 URL 形如:`/api/Login/Login`、`/api/TestLogs/GetTestSummaryTable`
|
||||
|
||||
### 2.3 Token 与鉴权要点
|
||||
|
||||
- 需要鉴权的 Action 会标注 `[Authorize()]`
|
||||
- JWT 配置来自:WebAPIServer/appsettings.json(`JwT:SecretKey/Issuer/Audience`)
|
||||
- 登录成功后后端返回 `AccessToken`(见 `LoginController.Login`)
|
||||
|
||||
### 2.4 API 索引(按 Controller)
|
||||
|
||||
#### LoginController(/api/Login/{action})
|
||||
|
||||
- `POST Login`:登录,返回 `ResLoginData`(含 `AccessToken/IsAdmin/ID/UserName/Auths`)
|
||||
- `POST TokenXuQi`:续期(需 `[Authorize]`)
|
||||
- `POST LogRecord`:记录登录信息(需 `[Authorize]`)
|
||||
- `GET GetCaptcha`:验证码(当前返回固定 `CaptchaText = "1111"` + base64 图)
|
||||
|
||||
#### TestLogsController(/api/TestLogs/{action})
|
||||
|
||||
- `POST GetLogListBySN`:按 SN 查询多步骤测试日志(需 `[Authorize]`)
|
||||
- `POST GetTestSummaryTableExcel`:导出测试总表 Excel(需 `[Authorize]`)
|
||||
- `POST GetTestSummaryTable`:分页查询测试总表 + 统计 passCount/passRate
|
||||
|
||||
#### DataHandleController(/api/DataHandle/{action})
|
||||
|
||||
- `POST R_InfoCommon`:通用查询(带 MemoryCache,需 `[Authorize]`)
|
||||
- `POST CUD_InfoCommon`:通用增删改(需 `[Authorize]`)
|
||||
- `POST NNN`:简单 hello(无鉴权)
|
||||
- `POST III`:看起来是实验/未完成接口(返回 null)
|
||||
|
||||
#### UsersController(/api/Users/{action})
|
||||
|
||||
(均需 `[Authorize]`)
|
||||
|
||||
- `POST GetUserInfo`:获取用户信息(All/Single)
|
||||
- `POST AddUser`:新增用户
|
||||
- `POST EditUser`:修改用户
|
||||
- `POST DelUser`:删除(逻辑删除 IsValid=false)
|
||||
- `POST ResetPassWord`:重置密码为指定明文(服务端双 MD5)
|
||||
- `POST NewPassWord`:重置密码为 123456(服务端双 MD5)
|
||||
|
||||
#### CompanyController(/api/Company/{action})
|
||||
|
||||
- `POST GetCompanyInfo`:获取公司信息(需 `[Authorize]`)
|
||||
|
||||
#### ValuesController(/api/Values/{action})
|
||||
|
||||
- `GET GetAll_WebApiMethod`:从 `StaticData.scope` 取变量
|
||||
- `POST UpdateData`:触发 `StaticData.GetWebAPIMethod()` 刷新
|
||||
|
||||
> 备注:Controllers 目录里还有 `WeatherForecastController`、`TestLogsController` 等;如需要我可以把所有 action 完整拉平为表格(含 HttpVerb)。
|
||||
|
||||
## 3. 移动端前端寻址(auts_new_mobile.client)
|
||||
|
||||
### 3.1 路由表
|
||||
|
||||
路由文件:auts_new_mobile.client/src/router/index.js
|
||||
|
||||
- `/`:按 localStorage 是否有 `token` 动态跳转到 `/home` 或 `/login`
|
||||
- `/login`:登录
|
||||
- `/home`:主页(requiresAuth)
|
||||
- `/user`:个人中心(requiresAuth)
|
||||
- `/usermanage`:用户管理(requiresAuth,且用户名必须是 Admin 或 MomoWen)
|
||||
- `/loginlog`:用户日志(requiresAuth)
|
||||
- `/dbmanage`:数据库管理(requiresAuth)
|
||||
- `/inputcolorbox`:数据导入(requiresAuth)
|
||||
- `/stationlog`:站位日志/数据导入(requiresAuth)
|
||||
- `/testlog`:测试数据(requiresAuth)
|
||||
|
||||
### 3.2 鉴权守卫
|
||||
|
||||
- 路由 meta `requiresAuth` + localStorage `token`
|
||||
- 特权页面:`/usermanage`(以及守卫中出现的 `/scopemanage`,但移动端路由表里目前未定义该 path)
|
||||
|
||||
### 3.3 当前编辑页面定位
|
||||
|
||||
- 当前页:auts_new_mobile.client/src/pages/testlog/index.vue
|
||||
- 该页的后端关联点大概率在 `TestLogsController`(如 GetTestSummaryTable / GetLogListBySN / 导出 Excel)
|
||||
|
||||
## 4. PC 端前端寻址(auts_new.client)
|
||||
|
||||
### 4.1 路由聚合方式
|
||||
|
||||
路由入口:auts_new.client/src/router/index.ts
|
||||
|
||||
- 从 `src/router/modules/**` 动态导入模块路由
|
||||
- 默认路由:`/login` 与 `/` → `/dashboard/base`
|
||||
|
||||
### 4.2 已识别的模块路由
|
||||
|
||||
- 仪表盘:首页/统计报表
|
||||
- `/dashboard/base`:首页
|
||||
- `/dashboard/detail`:统计报表
|
||||
- 用户中心:
|
||||
- `/permission/users`:用户管理
|
||||
- `/permission/character`:权限管理
|
||||
- `/permission/user`:个人中心
|
||||
|
||||
> 注意:PC 端部分模块(如 result/user 模块)目前在源码中被注释掉,实际生效以 modules 目录内容为准。
|
||||
|
||||
## 5. 后续同步修改前后端的推荐对齐点(准备清单)
|
||||
|
||||
- Token:前端存储 key(当前移动端用 localStorage `token/username`)应与后端返回字段 `AccessToken` 映射一致
|
||||
- API BaseUrl:前端 axios 基础配置位置(移动端通常在 `src/axios.js`,PC 端在 `src/api`/请求封装)
|
||||
- 鉴权 header:后端使用标准 Bearer 头即可(`Authorization: Bearer <token>`),如前端用了自定义 `token` 头需要对齐
|
||||
- TestLog 页面:优先确认它调用的具体 action(GetTestSummaryTable / ExportExcel / GetLogListBySN)后再做字段联调
|
||||
|
||||
Reference in New Issue
Block a user