You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ECMS/IRS

108 lines
3.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

接口需求规格说明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章。