|
|
接口需求规格说明(IRS)
|
|
|
|
|
|
1. 引言
|
|
|
本文件列出系统对外提供的HTTP/JSON接口规范,严格依据当前代码实现与前端调用编写。
|
|
|
|
|
|
2. 接口通用规范
|
|
|
2.1 协议与认证
|
|
|
- 协议:HTTP/HTTPS,JSON 编码;
|
|
|
- 认证:除登录与验证码外,默认需在请求头携带 `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章。
|
|
|
|
|
|
|