User 在一个Domain下有唯一的ID。Account 是 User 的登录账号,同一个 User 可以有多种登录账号,比如手机号,邮箱等。
系统内置的角色有:user, admin, superadmin。
下文提到的Admin权限,是指调用者token的角色为:admin | superadmin。
createUser 方法
需要Admin权限。
创建用户。
此方法只创建用户,如果要使用PDS提供的几种登录方式,还需要调对应的 LinkAccount - 绑定账号 接口。
如果是JWT接入的用户,则无需调用 linkAccount。
const result = await client.createUser(params, options)
举例
const userInfo = await client.createUser({
user_id: 'id_123',
phone: '135****8888',
email:'username@aliyundoc.com',
nick_name: '昵称',
user_name: '用户名',
role: 'user'
})
参数说明
字段 | 类型 | 必选 | 说明 |
params | ICreateUserReq | 是 | 创建用户的参数 |
options | AxiosRequestConfig | 其它配置项 |
ICreateUserReq
字段 | 类型 | 必选 | 说明 |
user_id | string | 是 | User ID |
role | string | 角色, 支持: "user","admin","superadmin",默认:"user"。 如果是当前domain支持subdomain。还可以支持 "subdomain_super_admin", "subdomain_admin"。 | |
user_name | string | 用户名 | |
nick_name | string | 昵称 | |
description | string | 备注 | |
string | 邮箱 | ||
phone | string | 手机 | |
status | string | 状态,取值范围: disabled, enabled | |
avatar | string | 头像信息, 以 http:// 开头, 或者 base64 data URI |
返回
字段 | 类型 | 必选 | 说明 |
result | IUserItem | 是 | 结果 |
IUserItem
名称 | 类型 | 说明 |
domain_id | string | domain ID |
user_id | string | user id |
string | 邮箱 | |
role | string | 用户角色 |
description | string | 描述 |
phone | string | 手机 |
nick_name | string | 昵称 |
user_name | string | 用户名 |
status | string | 状态: enabled, disabled |
avatar | string | 头像 |
created_at | long | 创建时间 |
updated_at | long | 最后修改时间 |
default_drive_id | string | 默认drive id |
listUsers 方法
需要Admin权限。
列举用户。
const result = await client.listUsers(params, options)
举例:
const {items=[],next_marker} = await client.listUsers({
limit: 100,
marker: ''
})
参数
字段 | 类型 | 必选 | 说明 |
params | IListReq | 默认为 {} | |
options | AxiosRequestConfig | 其它配置项 |
IListReq
字段 | 类型 | 必选 | 说明 |
marker | string | 查询起始标识 | |
limit | string | 返回数据最大条数,范围:[1-100],默认:100 |
返回
字段 | 类型 | 必选 | 说明 |
result | IListRes | 是 | 结果 |
IListRes
字段 | 类型 | 必选 | 说明 |
items | IUserItem[] | 是 | 用户列表 |
getUser 方法
Admin 权限可以查询任意用户的信息。User 权限只可以查自己的信息。
查询用户信息。
const result = await client.getUser(params, options)
举例
const userInfo = await client.getUser({
user_id: 'id_123'
})
参数
字段 | 类型 | 必选 | 说明 |
params | Object | 是 | 默认为 {} |
options | AxiosRequestConfig | 其它配置项 |
params
字段 | 类型 | 必选 | 说明 |
user_id | string | 是 | User ID |
返回
字段 | 类型 | 必选 | 说明 |
result | IUserItem | 是 | 结果 |
IUserItem
名称 | 类型 | 说明 |
domain_id | string | domain ID |
user_id | string | user id |
string | 邮箱 | |
role | string | 用户角色 |
description | string | 描述 |
phone | string | 手机 |
nick_name | string | 昵称 |
user_name | string | 用户名 |
status | string | 状态: enabled, disabled |
avatar | string | 头像 |
created_at | long | 创建时间 |
updated_at | long | 最后修改时间 |
default_drive_id | string | 默认drive id |
generalGetUser 方法
查询单个用户接口。
const result = await client.generalGetUser(params, options)
举例
const userInfo = await client.generalGetUser({
user_id: 'id_123',
extra_return_info: ['drive', 'group']
})
参数
字段 | 类型 | 必选 | 说明 |
params | Object | 是 | 默认为 {} |
options | AxiosRequestConfig | 其它配置项 |
params
字段 | 类型 | 必选 | 说明 |
user_id | string | 是 | User ID 不穿查当前登录用户 |
extra_return_info | string[] | 管理员才可以传此字段 可选枚举:drive、group, 表示返回用户的drive或group信息。 如果此字段带上group会大幅减慢查询速度,调用limit不能超过30。 |
返回
字段 | 类型 | 必选 | 说明 |
result | IUserItem | 是 | 结果 |
IUserItem
名称 | 类型 | 说明 |
domain_id | string | domain ID |
user_id | string | user id |
string | 邮箱 | |
role | string | 用户角色 |
description | string | 描述 |
phone | string | 手机 |
nick_name | string | 昵称 |
user_name | string | 用户名 |
status | string | 状态: enabled, disabled |
avatar | string | 头像 |
created_at | long | 创建时间 |
updated_at | long | 最后修改时间 |
default_drive_id | string | 默认drive id |
updateUser 方法
要求Admin权限
修改用户昵称,头像等信息。
await client.updateUser(params, options)
举例
// 将用户禁用
await client.updateUser({
user_id: 'id_123',
status : 'disabled'
})
参数
字段 | 类型 | 必选 | 说明 |
params | IUpdateUserReq | 是 | 默认为 {} |
options | AxiosRequestConfig | 其它配置项 |
IUpdateUserReq
字段 | 类型 | 必选 | 说明 |
user_id | string | 是 | User ID |
role | string | 角色, 支持: "user","admin","superadmin",默认:"user" | |
nick_name | string | 昵称 | |
description | string | 备注 | |
string | 邮箱 | ||
phone | string | 手机 | |
status | string | 状态,取值范围: disabled, enabled | |
avatar | string | 头像信息, 以 http:// 开头, 或者 base64 data URI |
返回
字段 | 类型 | 必选 | 说明 |
result | IUserItem | 是 | 结果 |
deleteUser 方法
需要admin权限
删除用户并删除关联的AccountLink。
await client.deleteUser(params, options)
举例
await client.deleteUser({
user_id: 'id_123'
})
参数
字段 | 类型 | 必选 | 说明 |
params | Object | 是 | 默认为 {} |
options | AxiosRequestConfig | 其它配置项 |
params
字段 | 类型 | 必选 | 说明 |
user_id | string | 是 | User ID |
返回
无
searchUsers 方法
需要Admin权限
搜索用户。
const result = await client.searchUsers(params, options)
举例
const {items=[]} = await client.searchUsers({
nick_name_for_fuzzy: 'test'
})
参数
字段 | 类型 | 必选 | 说明 |
params | ISearchUsersReq | 是 | 默认为 {} |
options | AxiosRequestConfig | 其它配置项 |
ISearchUsersReq
字段 | 类型 | 必选 | 说明 |
nick_name | string | 昵称,前缀匹配,中文不支持全拼和首字母 | |
nick_name_for_fuzzy | string | 用户昵称模糊搜索 | |
user_name | string | 用户名,前缀匹配,中文不支持全拼和首字母 | |
string | 电子邮件, 前缀匹配 | ||
phone | string | 电话号码, 前缀匹配 | |
role | string | 角色, 精确匹配 | |
status | string | 状态, 精确匹配 | |
limit | number | 返回数据最大条数,范围:[1-100],默认:100 | |
marker | string | 查询起始标识 |
返回
字段 | 类型 | 必选 | 说明 |
result | IListRes | 是 | 结果 |
IListRes
名称 | 类型 | 说明 |
items | IUserItem[] | user 数组 |
next_marker | string | 下一页起始位置标识 |
generalSearchUsers 方法
搜索用户。
const result = await client.generalSearchUsers(params, options)
举例
const {items=[], next_marker} = await client.generalSearchUsers({
nick_name_for_fuzzy: 'test',
direct_parent_group_id: '123456',
extra_return_info: ['drive', 'group'],
limit: 30,
marker: ''
})
参数
字段 | 类型 | 必选 | 说明 |
params | IUserGeneralSearchReq | 是 | 默认为 {} |
options | AxiosRequestConfig | 其它配置项 |
IUserGeneralSearchReq
字段 | 类型 | 必选 | 说明 |
nick_name | string | 昵称,前缀匹配,中文不支持全拼和首字母 | |
nick_name_for_fuzzy | string | 用户昵称模糊搜索 | |
parent_group_id_list | string[] | 返回该团队下的数据,包含子团队下符合的成员 | |
direct_parent_group_id | string | 只返回该团队下的数据,不包含子团队 | |
extra_return_info | string[] | 管理员才可以传此字段 可选枚举:drive、group, 表示返回用户的drive或group信息。 如果此字段带上group会大幅减慢查询速度,调用limit不能超过30。 | |
limit | number | 返回数据最大条数,范围:[1-100],默认:100 | |
marker | string | 查询起始标识 |
返回
字段 | 类型 | 必选 | 说明 |
result | IListRes | 是 | 结果 |
IListRes
名称 | 类型 | 说明 |
items | IUserItem[] | user 数组 |
next_marker | string | 下一页起始位置标识 |
listGroupUsers 方法
列举Group的直接子成员。
此方法普通用户也能调用。
const result = await client.listGroupUsers(params, options)
举例
const params = {
group_id: "abc"
}
const {items=[], next_marker} = await client.listGroupUsers(params)
参数
字段 | 类型 | 必选 | 说明 |
params | IListGroupUserReq | 是 | 默认为 {} |
options | AxiosRequestConfig | 其它配置项 |
IListGroupUserReq
字段 | 类型 | 必选 | 说明 |
group_id | string | 查询某个group下的user和group | |
member_type | string | 成员类型,可选参数:user、group 不传默认都返回 | |
extra_return_info | string[] | 可选:group, drive。 管理员才可以传此字段。表示返回用户的 drive或 group 信息。 如果此字段带上group会大幅减慢查询速度,调用一次不能超过30条记录。 | |
limit | number | 返回数据最大条数,范围:[1-100],默认:100 | |
marker | string | 查询起始标识 |
返回
字段 | 类型 | 必选 | 说明 |
result | IListRes | 是 | 结果 |
IListRes
名称 | 类型 | 说明 |
items | IGroupItem[] 或 IUserItem[] | 数组 |
next_marker | string | 下一页起始位置标识 |
importUser 方法
需要Admin权限
导入手机/邮箱用户。
此方法相当于 createUser
成功后又调用 createAccountLink
。
const result = await client.importUser(params, options)
举例
导入手机用户
await client.importUser({
authentication_type: 'mobile',
auto_create_drive: true,
identity:'135****8888',
drive_total_size: 1024 * 1024 * 1024,
nick_name: 'W123'
})
导入Email用户
await client.importUser({
authentication_type: 'email',
auto_create_drive: true,
identity:'username@example.com',
drive_total_size: 1024 * 1024 * 1024,
nick_name: 'W123'
})
参数
字段 | 类型 | 必选 | 说明 |
params | IImportUserReq | 是 | 默认为 {} |
options | AxiosRequestConfig | 其它配置项 |
IImportUserReq
字段 | 类型 | 必选 | 说明 |
auto_create_drive | boolean | 自动创建云盘 | |
drive_total_size | number | 云盘空间大小 | |
authentication_type | string | 取值范围:mobile, email,ldap, custom。 | |
identity | string | 是 | 唯一标识, 如果 authentication_type 为 mobile, 应该传手机号,如果为 email, 应该传邮箱地址, 如果为ldap,应该传 ldap_dn, 如果是custom, 则传自定义的唯一ID。 |
plain_password | string | 用户密码明文 | |
deny_change_password_by_self | boolean | 禁止自己修改密码 | |
need_change_password_next_login | boolean | 下次登录后是否强制修改密码 | |
parent_group_id | string | ||
nick_name | string | 昵称 |
返回
字段 | 类型 | 必选 | 说明 |
result | IUserItem | 是 | 结果 |