/web/api/admins所有接口返回统一格式:
{
"code": 0, // 返回码:0-成功,-1-失败,101-用户未登录/失效/无权限,102-无效数据,103-数据覆盖,104-数据不存在,105-数据唯一性,106-数据多样性
"msg": "请求成功", // 提示信息
"data": {} // 返回数据,根据接口不同而变化
}
接口描述: 管理员通过手机号和密码登录
请求地址: /web/api/admins/login
请求方式: POST
请求头: Content-Type: application/json
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | String | 是 | 手机号码 |
| password | String | 是 | 密码 |
请求示例:json { "phone": "13800138000", "password": "123456" }
响应示例:
成功响应:json { "code": 0, "msg": "登录成功", "data": { "id": 1, "username": "admin", "name": "管理员", "phone": "13800138000", "role": "admin", "status": "1", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } }
失败响应:json { "code": -1, "msg": "账号不存在", "data": null }
错误码说明:
- code: -1, msg: "用户名和密码不能为空" - 参数为空
- code: -1, msg: "账号不存在" - 账号不存在或已禁用
- code: -1, msg: "请求失败" - 系统异常
接口描述: 分页查询管理员列表,支持多条件筛选
请求地址: /web/api/admins/pageQuery
请求方式: GET
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | int | 是 | 页码(从1开始) |
| size | int | 是 | 每页数量 |
| username | String | 否 | 用户名(模糊查询) |
| name | String | 否 | 姓名(模糊查询) |
| role | String | 否 | 角色 |
| status | String | 否 | 状态(0:禁用,1:正常) |
| createStart | String | 否 | 创建开始时间(格式:yyyy-MM-dd HH:mm:ss) |
| createEnd | String | 否 | 创建结束时间(格式:yyyy-MM-dd HH:mm:ss) |
请求示例: GET /web/api/admins/pageQuery?page=1&size=10&username=admin&status=1
响应示例:
成功响应:json { "code": 0, "msg": "处理成功", "data": { "content": [ { "id": 1, "username": "admin", "name": "管理员", "phone": "13800138000", "role": "admin", "status": "1", "lastLoginTime": "2024-01-15 10:30:00", "communityCode": "001", "communityName": "XX社区", "subdistrictCode": "001", "subdistrictName": "XX街道", "districtCode": "001", "districtName": "XX区", "updateTime": "2024-01-15 10:30:00", "createTime": "2024-01-01 09:00:00" } ], "pageable": { "sort": { "sorted": true, "unsorted": false, "empty": false }, "pageNumber": 0, "pageSize": 10, "offset": 0, "paged": true, "unpaged": false }, "totalElements": 100, "totalPages": 10, "last": false, "first": true, "numberOfElements": 10, "size": 10, "number": 0, "sort": { "sorted": true, "unsorted": false, "empty": false }, "empty": false } }
失败响应:json { "code": -1, "msg": "错误信息", "data": null }
说明:
- 默认按创建时间倒序排列
- 支持用户名、姓名的模糊查询
- 支持多条件组合查询
接口描述: 根据管理员ID查询详细信息
请求地址: /web/api/admins/getById
请求方式: GET
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | String | 是 | 管理员ID |
请求示例: GET /web/api/admins/getById?id=1
响应示例:
成功响应:json { "code": 0, "msg": "请求成功", "data": { "id": 1, "username": "admin", "name": "管理员", "phone": "13800138000", "role": "admin", "status": "1", "lastLoginTime": "2024-01-15 10:30:00", "communityCode": "001", "communityName": "XX社区", "subdistrictCode": "001", "subdistrictName": "XX街道", "districtCode": "001", "districtName": "XX区", "updateTime": "2024-01-15 10:30:00", "createTime": "2024-01-01 09:00:00", "password": null } }
失败响应(数据不存在):json { "code": 0, "msg": "请求成功", "data": null }
说明:
- 返回数据中不包含密码字段(password为null)
接口描述: 新增或更新管理员信息(有ID则更新,无ID则新增)
请求地址: /web/api/admins/saveAdmin
请求方式: POST
请求头: Content-Type: application/json
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | Integer | 否 | 管理员ID(更新时必填) |
| username | String | 否 | 用户名 |
| password | String | 否 | 密码(加密) |
| name | String | 否 | 姓名 |
| phone | String | 否 | 手机号码 |
| role | String | 否 | 角色 |
| status | String | 否 | 状态(0:禁用,1:正常) |
| communityCode | String | 否 | 社区code |
| communityName | String | 否 | 社区名 |
| subdistrictCode | String | 否 | 街道乡镇code |
| subdistrictName | String | 否 | 街道乡镇名 |
| districtCode | String | 否 | 区code |
| districtName | String | 否 | 区名 |
请求示例:
新增管理员:json { "username": "test", "password": "123456", "name": "测试用户", "phone": "13900139000", "role": "user", "status": "1", "communityCode": "001", "communityName": "XX社区" }
更新管理员:json { "id": 1, "name": "更新后的名称", "status": "1" }
响应示例:
成功响应(新增):json { "code": 0, "msg": "请求成功", "data": "保存成功" }
成功响应(更新):json { "code": 0, "msg": "请求成功", "data": "1" }
失败响应(用户名已存在):json { "code": -1, "msg": "用户名已存在", "data": null }
说明:
- 新增时,如果username已存在,会返回"用户名已存在"
- 更新时,如果username与已有记录重复(排除自身),会返回"用户名已存在"
- 密码需要前端进行加密后再传输
接口描述: 根据ID删除管理员(支持批量删除)
请求地址: /web/api/admins/removeByIds
请求方式: GET
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | String | 是 | 管理员ID,多个用逗号分隔 |
请求示例:
单条删除: GET /web/api/admins/removeByIds?ids=1
批量删除: GET /web/api/admins/removeByIds?ids=1,2,3
响应示例:
成功响应:json { "code": 0, "msg": "请求成功", "data": "删除成功" }
失败响应:json { "code": -1, "msg": "请求失败", "data": null }
说明:
- 支持单个删除和批量删除
- 多个ID用英文逗号分隔
接口描述: 重置指定管理员的密码
请求地址: /web/api/admins/resetPassword
请求方式: POST
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | String | 是 | 管理员ID |
| newPassword | String | 是 | 新密码 |
请求示例: POST /web/api/admins/resetPassword?id=1&newPassword=123456
响应示例:
成功响应:json { "code": 0, "msg": "请求成功", "data": "密码重置成功" }
失败响应(参数为空):json { "code": -1, "msg": "新密码不能为空", "data": null }
失败响应(系统异常):json { "code": -1, "msg": "请求失败", "data": null }
说明:
- 新密码需要前端进行加密后再传输
- 注意:当前实现中密码未加密,建议后端添加加密逻辑
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | Integer | 管理员ID(主键,自增) |
| username | String | 用户名 |
| password | String | 密码(加密) |
| name | String | 姓名 |
| phone | String | 手机号码 |
| role | String | 角色 |
| status | String | 状态(0:禁用,1:正常) |
| lastLoginTime | Date | 最后登录时间 |
| communityCode | String | 社区code |
| communityName | String | 社区名 |
| subdistrictCode | String | 街道乡镇code |
| subdistrictName | String | 街道乡镇名 |
| districtCode | String | 区code |
| districtName | String | 区名 |
| updateTime | Date | 更新时间 |
| createTime | Date | 创建时间 |
认证机制: 登录接口返回的token需要在前端保存,后续接口可能需要携带token进行身份验证(具体以实际网关配置为准)
密码加密:
时间格式: 所有时间字段格式为:yyyy-MM-dd HH:mm:ss
状态值:
0: 禁用1: 正常