Appearance
用户
创建用户
POST /api/user
权限
- 需要认证
参数
字段 | 是否必须 | 描述 |
---|---|---|
truename string | 是 | 真实姓名 |
nickname string | 是 | 用户名称 |
orgCodes string | 是 | 部门编码(用,分开, eg: 1.3,1.2,) |
password string | 是 | 密码 |
email string | 是 | 邮箱 |
roles | 否 | 角色(eg:["ROLE_USER"]) |
postId | 否 | 岗位id |
hireDate | 否 | 入职时间 |
idcard | 否 | 身份证号码 |
mobile | 否 | 手机号 |
permissionOrgIds | 否 | 管理范围(用,分开, eg: 3,2,) |
响应
字段 | 描述 |
---|---|
id int string | 用户ID |
nickname string | 昵称 |
verifiedMobile | 手机号 |
avatar Picture | 头像 |
uuid string | uuid |
title string | 头衔 |
loginTime string | 登录时间 |
hireDate string | 入职时间 |
批量同步用户
POST /api_v3/admin/sync/users
规则说明
1.单次同步数量最⼤为500个⽤户
2.每个⽤户必须保证⾄少有:⽤户名 或 邮箱 或 ⼿机号
3.每个⽤户的部⻔编码必须已存在培训平台
4.每个⽤户的⻆⾊编码必须已存在培训平台
5.每个⽤户的管理范围部⻔编码必须已存在培训平台
6.每个⽤户的⽤户组编码必须已存在培训平台
7.每个⽤户的数据进⾏同步覆盖(字段值为空则不更新)
8.用户同步syncId必须全局唯⼀且不可变更(标记用户数据唯⼀来源)。
9.如果已有⽤户的syncId为0时(系统⽤户除外),且 ⽤户名/邮箱/⼿机号 存在同步数据中,则更新其syncId。
权限
需要认证
支持版本
>=25.2.4
具备角色
admin_user_manage
参数
字段 | 是否必须 | 描述 |
---|---|---|
truename string | 是 | 真实姓名 |
nickname string | 是 | 用户名称(⽤户名/邮箱/⼿机号 ⾄少有1项⾮空) |
orgCodes string | 是 | 所属部⻔编码(使⽤org.code,且,分开, eg: "o1,o2,o3") 依赖接口:https://developer-ct.edusoho.com/api/org.html |
password string | 是 | 密码 |
email string | 是 | 邮箱(⽤户名/邮箱/⼿机号 ⾄少有1项⾮空) |
mobile string | 是 | 手机号(⽤户名/邮箱/⼿机号 ⾄少有1项⾮空) |
roles | 否 | ⻆⾊编码(⽤,分开 eg:"ROLE_USER,ROLE_TEACHER") 依赖接口:https://developer-ct.edusoho.com/api/role.html |
postCode | 否 | 岗位编码 依赖接口:https://developer-ct.edusoho.com/api/post.html |
hireDate | 否 | 入职时间 |
idcard | 否 | 身份证号码 |
locked | 否 | 是否封禁(0表示在职/1表示离职,默认为0) |
permissionOrgCodes | 否 | 管理范围部⻔编码(使⽤org.code,且,分开, eg: "o1,o2,o3") 依赖接口:https://developer-ct.edusoho.com/api/org.html |
userGroupCodes | 否 | ⽤户组编码(⽤,分开, eg:"ug1,ug2,ug3") 依赖接口:https://developer-ct.edusoho.com/api/userGroup.htm |
syncId | 是 | ⽤户同步syncId(必须唯⼀且不可变更,且不能为空或0) |
成功响应
json
{
"status": true
}
失败响应
json
{
"status": false,
"message": "同步失败原因"
}
编辑用户
PATCH /api/user/{id}
权限
- 需要认证
参数
字段 | 是否必填 | 描述 |
---|---|---|
truename string | 否 | 真实姓名 |
gender string | 否 | 性别male :男,female : 女 |
hireDate string | 否 | 入职日期 |
idcard string | 否 | 身份证号 |
mobile string | 否 | 手机号码 |
email string | 否 | 邮箱 |
company string | 否 | 公司 |
job string | 否 | 职业 |
title string | 否 | 头衔 |
signature string | 否 | 个人签名 |
about string | 否 | 自我介绍 |
site string | 否 | 个人主页 |
weibo string | 否 | 微博 |
qq string | 否 | |
weixin string | 否 | 微信 |
newNickname string | 否 | 用户名 |
newPassword string | 否 | 账户密码 |
响应
字段 | 描述 |
---|---|
truename string | 真实姓名 |
nikename string | 用户名 |
gender string | 性别male :男,female : 女 |
hireDate string | 入职日期 |
idcard string | 身份证号 |
mobile string | 手机号码 |
email string | 邮箱 |
company string | 公司 |
job string | 职业 |
title string | 头衔 |
signature string | 个人签名 |
about string | 自我介绍 |
site string | 个人主页 |
weibo string | 微博 |
qq string | |
weixin string | 微信 |
删除用户
DELETE /api/user
权限
- 需要认证
参数
字段 | 是否必填 | 描述 |
---|---|---|
ids array | 是 | 删除的用户id; 例如:[1,2,3] |
响应
json
{
"success": true
}
设置用户角色组
PATCH /api/user/user_role/role
权限
- 需要认证
参数
字段 | 是否必填 | 描述 |
---|---|---|
userIds array | 是 | 被设置的用户id; 例如:[1,2,3] |
roles array | 是 | 设置成什么用户组; 例如:['ROLE_USER','ROLE_SUPER_ADMIN','ROLE_DEPARTMENT_ADMIN'] |
single int | 否 | 是否修改单个用户; 例如:0:批量修改, 1:修改单个用户 |
响应
json
{
"success": true
}
设置用户管理范围
PATCH /api/user/users_manage_org/manage_org
权限
- 需要认证
参数
字段 | 是否必填 | 描述 |
---|---|---|
userIds array | 是 | 被设置的用户id; 例如:[1,2,3] |
orgIds string | 是 | 设置成什么部门管理范围; 例如:1.,1.2.,1.2.3.,1.18. |
响应
json
{
"success": true
}
当前用户
GET /me
权限
- 需要认证
响应
成功响应AuthenticatedUser结构体
AuthenticatedUser
结构体
字段 | 描述 |
---|---|
id int string | 用户ID |
nickname string | 昵称 |
postName | 岗位名称 |
avatar Picture | 头像 |
gender string | 性别 |
iam string | |
city string | 所在城市 |
qq string | |
signature string | 个人签名 |
about string | 自我介绍 |
company string | 公司 |
job string | 职业 |
school string | 学校 |
class string | 班级 |
weibo string | 微博 |
weixin string | 微信 |
isQQPublic string | QQ是否公开 |
isWeixinPublic string | 微信是否公开 |
isWeiboPublic string | 微博是否公开 |
email string | |
locale string | |
uri string | |
title string | 头衔 |
type string | 注册方式 |
roles list<string> | 角色 |
promotedSeq string | |
promotedTime datetime | |
locked bool | 用户是否被锁 |
lastPasswordFailTime string | 上次密码输入错误时间 |
loginTime datetime | 登录时间 |
approvalTime datetime | |
vip simpleVip | 会员信息 |
SimpleUser
结构体
字段 | 描述 |
---|---|
id int string | 用户ID |
nickname int string | 昵称 |
title string | 头衔 |
avatar Picture | 头像 |
PublicUser
结构体
字段 | 描述 |
---|---|
id int string | 用户ID |
nickname int string | 昵称 |
title string | 头衔 |
avatar Picture | 头像 |
about string | 自我介绍 |
Picture
结构体
字段 | 描述 |
---|---|
small string | 小图 |
middle string | 中图 |
large string | 大图 |
我的教学计划
GET /me/courses
权限
- 需要认证
参数
字段 | 描述 |
---|---|
offset int string | 分页偏移值, 默认0 |
limit int string | 每一页数量, 默认10 |
courseTitle string | 课程标题 |
learnStatus string | 学习状态(all-全部、notStart-未学习、learning-学习中、learned-已学完) |
响应
成功响应成功响应pageList<SimpleMeCourse
>结构体
字段 | 描述 |
---|---|
id int string | 计划id |
title string | 计划名称 |
totalLearnTime int string | 学习时长 |
compulsoryTaskNum int string | 必修任务数量 |
learnedCompulsoryTaskNum int string | 已学必修任务数 |
courseSet SimpleCourseSet | 课程信息 |
课程学习进度规则:learnedCompulsoryTaskNum/compulsoryTaskNum |
我的直播课程
GET /me/live_course_sets
权限
- 需要认证
- 按照最近查看时间排序
响应
成功响应list<SimpleCourseSet>结构体
我的班级
GET /me/classrooms
权限
- 需要认证
响应
成功响应list<SimpleClassroom>结构体
查询用户
GET /users/{nickname,id,email,mobile}
权限
- 不需要认证
参数
字段 | 是否必填 | 描述 |
---|---|---|
identifyType string | 是 | 标示类型:nickname,id,email,mobile |
响应
成功响应list<SimpleClassroom>结构体
获取用户列表
GET /user/users_list/list
权限
- Access-Token认证方式可获取全部用户
- X-Auth-Token认证方式可获取属于该用户管理范围内的用户
参数
字段 | 是否必填 | 描述 |
---|---|---|
orgCode | 否 | 部门orgCode(eg:1.2.) |
postId | 否 | 岗位id(eg:1) |
roles | 否 | 角色编码code(eg:USER_ROLE) |
keywordType | 否 | 关键词类型(5选1:truename、nickname、phone、email、ip 真实姓名、用户名、手机号、邮箱、ip) |
keyword | 否 | 对应关键词内容(eg:张三) |
locked | 否 | 封禁状态 unlocked、locked 未封禁、封禁 |
hireDate_GTE | 否 | 入职起始时间(eg:2022-01-13) |
hireDate_LTE | 否 | 入职结束时间(eg:2022-01-14) |
isReturnMobile | 否 | 是否返回手机号(eg: true) |
isReturnEmail | 否 | 是否返回邮箱(eg: true) |
响应
字段 | 描述 |
---|---|
id int string | 用户ID |
nickname string | 昵称 |
uuid string | 用户识别码 |
hireDate string | 入职时间 |
locked int string | 是否封禁 1表示封禁, 0表示未封禁 |
profile list<string> | 用户信息:真实姓名、性别 |
postId int string | 岗位ID |
post list<string> | 岗位信息:岗位id、岗位名称 |
orgCodes list<string> | 部门信息:部门orgCode合集 |
org list<string> | 部门信息:部门id、部门名称、部门code、部门orgCode |
roles list<string> | 角色信息:角色code合集 |
role list<string> | 角色信息:角色名称、角色code |
verifiedMobile list<string> | 用户手机号(根据信息安全合规要求,返回值已加密) |
email list<string> | 用户邮箱(根据信息安全合规要求,返回值已加密) |
解密
txt
例如:
手机号:RWJKcXNSZzZZaEdmWTlNU1hFYnZJZz09
邮箱:NkRJWGt4VnRZak5LMnhtVkpJcERFblBkZVRoeHUvTGgvYStvMnZ4bzduYz0=
步骤:
1.将加密信息Base64解码
2.将解码后的信息进行Openssl解密
2.1 Openssl解密key:参见站点域名/admin/system/api/setting的SecretKey
2.2 Openssl解密算法:AES-256-CBC