用户

说明

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

备注

email

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

email

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

email

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, 表示返回用户的drivegroup信息。

如果此字段带上group会大幅减慢查询速度,调用limit不能超过30。

返回

字段

类型

必选

说明

result

IUserItem

结果

IUserItem

名称

类型

说明

domain_id

string

domain ID

user_id

string

user id

email

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

备注

email

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

用户名,前缀匹配,中文不支持全拼和首字母

email

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, 表示返回用户的drivegroup信息。

如果此字段带上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下的usergroup

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

结果