feat: 新增根据权限获取用户列表功能

1. 在SysUserController中新增/list-by-permission接口
2. 实现根据权限标识获取用户列表的业务逻辑
3. 支持按租户筛选用户
4. 更新用户认证登录API文档
5. 优化前端用户相关接口
This commit is contained in:
zlwu committed 2025-07-09 21:18:21 +08:00
1 parent 38166f105c
commit cd87b47cf9
7 files changed
+359 -181

No files matched your search

+91 -1
View File
@@ -1,4 +1,9 @@
# 用户认证登录 API
# 用户认证登录API文档
## 目录
1. [用户登录](#用户登录)
2. [获取用户信息](#获取用户信息)
3. [获取具有指定权限的用户列表](#获取具有指定权限的用户列表)
## 📋 文档说明
@@ -660,3 +665,88 @@ methods: {
**📝 维护**: 用户认证登录 API 文档
**🔄 更新**: 2025-01-03
**📁 文件**: 用户认证登录 API.md
## 获取具有指定权限的用户列表
### 基本信息
- **接口URL**: `/system/user/list-by-permission`
- **请求方式**: GET
- **接口描述**: 获取具有指定权限的用户列表
- **权限标识**: `system:user:list`
### 请求参数
#### Query参数
| 参数名 | 类型 | 是否必须 | 说明 | 示例值 |
|--------|------|----------|------|--------|
| permission | string | 是 | 权限标识符 | hq:hallAudit:list |
### 响应参数
```typescript
{
code: number; // 状态码
msg: string; // 提示信息
rows: {
userId: string; // 用户ID
userName: string; // 用户名
nickName: string; // 昵称
dept: {
deptId: string; // 部门ID
deptName: string; // 部门名称
};
avatar: string; // 头像URL
}[];
total: number; // 总记录数
}
```
### 响应示例
```json
{
"code": 200,
"msg": "操作成功",
"rows": [
{
"userId": "1",
"userName": "admin",
"nickName": "管理员",
"dept": {
"deptId": "1",
"deptName": "后勤部"
},
"avatar": "http://example.com/avatar.jpg"
}
],
"total": 1
}
```
### 错误码
| 错误码 | 说明 |
|--------|------|
| 401 | 未登录或登录超时 |
| 403 | 没有权限 |
| 500 | 服务器内部错误 |
### 注意事项
1. 该接口需要用户登录后才能访问
2. 返回的用户信息已过滤敏感字段
3. 建议前端对结果进行缓存,避免频繁请求
4. 返回结果按照用户ID升序排序
### 使用示例
```typescript
// 前端调用示例
import { listUsersByPermission } from '@/api/system/user';
async function getAuditors() {
try {
const res = await listUsersByPermission('hq:hallAudit:list');
if (res.code === 200) {
return res.rows;
}
} catch (error) {
console.error('获取审核人员列表失败:', error);
return [];
}
}
```