5.3 KiB
5.3 KiB
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+ localStoragetoken - 特权页面:
/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)后再做字段联调