From b1c9aad133618ac4dd9a9835ed7a4eea0096c015 Mon Sep 17 00:00:00 2001 From: pxqbzjk5c <1499856873@qq.com> Date: Thu, 28 Aug 2025 20:46:25 +0800 Subject: [PATCH] ADD file via upload --- IRS | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 IRS diff --git a/IRS b/IRS new file mode 100644 index 0000000..5b970e5 --- /dev/null +++ b/IRS @@ -0,0 +1,107 @@ +接口需求规格说明(IRS) + +1. 引言 +本文件列出系统对外提供的HTTP/JSON接口规范,严格依据当前代码实现与前端调用编写。 + +2. 接口通用规范 +2.1 协议与认证 +- 协议:HTTP/HTTPS,JSON 编码; +- 认证:除登录与验证码外,默认需在请求头携带 `Authorization: Bearer `; +- Token 获取:通过 `POST /login` 成功登录后,在响应体中以 `Constants.TOKEN` 键返回;前端将其以 `Admin-Token` Cookie 持久化,并在请求拦截器自动附加到请求头。 + +2.2 响应包装 +- 成功:`{ code: 200, msg: 'success', data: any }` +- 失败:`{ code: 非200, msg: string }` +- 分页:`TableDataInfo`(包含列表与分页元数据,前端直接使用返回体) + +2.3 错误码约定(前端处理) +- 401:登录过期或未认证,需重新登录; +- 500:服务端错误; +- 其他非200:按 `src/utils/errorCode.js` 进行展示。 + +2.4 超时与BaseURL +- BaseURL:`process.env.VUE_APP_BASE_API` +- 超时:2000ms + +3. 接口清单 + +3.1 验证码 +GET /captchaImage +- 功能:生成验证码图片与 `uuid`,并在Redis保存验证码文本(键:`Constants.CAPTCHA_CODE_KEY + uuid`)。 +- 请求头:无特殊要求 +- 请求参数:无 +- 响应体:`{ code, msg, uuid: string, img: string(Base64) }` + +3.2 登录 +POST /login +- 功能:登录并颁发 `token`。 +- 请求头:`isToken: false` 可选(前端默认对登录不附加Authorization) +- 请求体:`{ username: string, password: string, code: string, uuid: string }` +- 响应体:`{ code, msg, token: string }`(键名为常量 `Constants.TOKEN`) + +3.3 部门信息管理 +GET /dept_info/list +- 入参:查询参数映射 `Dept` 字段(如 `name`, `manager`, `reportto` 等) +- 出参:`TableDataInfo` + +GET /dept_info/{id} +- 入参:路径参数 `id` +- 出参:`AjaxResult(data: Dept)` + +POST /dept_info +- 入参:`Dept` JSON +- 出参:`AjaxResult` + +PUT /dept_info +- 入参:`Dept` JSON +- 出参:`AjaxResult` + +DELETE /dept_info/{ids} +- 入参:路径参数,支持 `,` 分隔批量或数组映射(由后端解析为 `Long[]`) +- 出参:`AjaxResult` + +3.4 员工信息管理 +GET /employee/list +GET /employee/{id} +POST /employee +PUT /employee +DELETE /employee/{ids} +- 说明:与3.3一致;`PUT /employee` 带事务。 + +3.5 员工评价管理 +GET /employee_kpi/list +GET /employee_kpi/{id} +POST /employee_kpi +PUT /employee_kpi +DELETE /employee_kpi/{ids} + +3.6 招人名额管理 +GET /hirenum/list +GET /hirenum/{id} +POST /hirenum +PUT /hirenum +DELETE /hirenum/{ids} + +3.7 薪资标准管理 +GET /salary_level/list +GET /salary_level/{id} +POST /salary_level +PUT /salary_level +DELETE /salary_level/{ids} + +4. 数据模型(请求/响应数据结构) +- Dept: `{ id: Long, name: String, manager: String, reportto: String }` +- Employee: `{ id: Long, dept: String, name: String, position: String, salary: BigDecimal }` +- EmployeeKpi: `{ id: Long, kpi: String, bonus: String, manager: String }` +- HireNum: `{ id: Long, dept: String, num: BigDecimal, endtime: String }` +- SalaryLevel: `{ id: Long, jobType: String, salary: BigDecimal, salaryrange: BigDecimal }` + +5. 安全与会话 +- 登录成功后,前端以Cookie键 `Admin-Token` 存储token; +- 后续请求由 `@/utils/request` 在拦截器中设置 `Authorization: Bearer `; +- 401时前端触发登出并跳转首页。 + +6. 版本与变更 +- 本文档随接口变更同步更新;如有新增模块或字段变化,请同步调整第3、4章。 + +