跳转到内容

同事列表

获取公司同事列表,支持分页、关键词搜索及按部门、职位筛选。

项目 内容
请求方式 GET
接口地址 /api/personnel/colleagues
鉴权 是,需在请求头中携带 Token
参数名 类型 必填 说明
page int 页码,默认 1,最小值 1
per_page int 每页条数,默认 50,最小 1,最大 200
keyword string 搜索关键词,最长 100 个字符,匹配用户名、姓名或手机号
department_id int 按部门 ID 筛选
position string 按职位精确匹配筛选,最长 50 个字符
Terminal window
curl -X GET "/api/personnel/colleagues?page=1&per_page=20&department_id=2" \
-H "Authorization: Bearer your_token_here"
字段 类型 说明
code int 状态码,0 表示成功
message string 响应描述
data.items array 同事列表
data.items[].id int 用户 ID
data.items[].name string 姓名
data.items[].username string 用户名
data.items[].phone string 手机号
data.items[].email string 邮箱
data.items[].employee_no string 工号
data.items[].department_id int 所属部门 ID
data.items[].department_name string 所属部门名称
data.items[].department_path string 部门层级路径
data.items[].position string 职位
data.items[].status int 账号状态
data.items[].avatar string 头像 URL
data.items[].roles_text string 角色名称,多个角色以顿号分隔
data.items[].company_address string 公司地址
data.pagination.current_page int 当前页码
data.pagination.per_page int 每页条数
data.pagination.total int 总记录数
data.pagination.total_pages int 总页数
{
"code": 0,
"message": "success",
"data": {
"items": [
{
"id": 101,
"name": "张三",
"username": "zhangsan",
"phone": "13800138001",
"email": "zhangsan@example.com",
"employee_no": "EMP001",
"department_id": 2,
"department_name": "技术部",
"department_path": "总公司 / 技术部",
"position": "高级工程师",
"status": 1,
"avatar": "https://devapi.fengshengshou.com/uploads/avatars/101.jpg",
"roles_text": "普通员工、项目负责人",
"company_address": "广东省广州市天河区某大厦"
},
{
"id": 102,
"name": "李四",
"username": "lisi",
"phone": "13800138002",
"email": "lisi@example.com",
"employee_no": "EMP002",
"department_id": 2,
"department_name": "技术部",
"department_path": "总公司 / 技术部",
"position": "前端工程师",
"status": 1,
"avatar": "https://devapi.fengshengshou.com/uploads/avatars/102.jpg",
"roles_text": "普通员工",
"company_address": "广东省广州市天河区某大厦"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 58,
"total_pages": 3
}
}
}
{
"code": 401,
"message": "未登录或 Token 已过期",
"data": null
}