修改测试查询的界面部分逻辑,修复bug

This commit is contained in:
2026-01-13 10:55:29 +08:00
parent b9b1ff5ed4
commit 28ae23cdf3
14 changed files with 319 additions and 126 deletions

131
docs/寻址与索引.md Normal file
View 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 页面:优先确认它调用的具体 actionGetTestSummaryTable / ExportExcel / GetLogListBySN后再做字段联调