# 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` 头需要对齐 - TestLog 页面:优先确认它调用的具体 action(GetTestSummaryTable / ExportExcel / GetLogListBySN)后再做字段联调