Files
Web_AUTS_New_Prod/docs/寻址与索引.md

5.3 KiB
Raw Blame History

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 BearerAddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(...)

2.2 路由约定

所有 Controller 都使用:

  • 路由模板:api/[controller]/[action]
  • 因此实际 URL 形如:/api/Login/Login/api/TestLogs/GetTestSummaryTable

2.3 Token 与鉴权要点

  • 需要鉴权的 Action 会标注 [Authorize()]
  • JWT 配置来自WebAPIServer/appsettings.jsonJwT: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 目录里还有 WeatherForecastControllerTestLogsController 等;如需要我可以把所有 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.jsPC 端在 src/api/请求封装)
  • 鉴权 header后端使用标准 Bearer 头即可(Authorization: Bearer <token>),如前端用了自定义 token 头需要对齐
  • TestLog 页面:优先确认它调用的具体 actionGetTestSummaryTable / ExportExcel / GetLogListBySN后再做字段联调