ADD file via upload

冉杨品飞
pxqbzjk5c 1 month ago
parent a491ca3927
commit b1c9aad133

107
IRS

@ -0,0 +1,107 @@
接口需求规格说明IRS
1. 引言
本文件列出系统对外提供的HTTP/JSON接口规范严格依据当前代码实现与前端调用编写。
2. 接口通用规范
2.1 协议与认证
- 协议HTTP/HTTPSJSON 编码;
- 认证:除登录与验证码外,默认需在请求头携带 `Authorization: Bearer <token>`
- 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 <token>`
- 401时前端触发登出并跳转首页。
6. 版本与变更
- 本文档随接口变更同步更新如有新增模块或字段变化请同步调整第3、4章。
Loading…
Cancel
Save