用户管理
createUser
1. 接口描述
接口功能:创建用户,支持用户名密码登录
接口声明:app.user.createUser(options): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| name | 是 | String | 用户名,1~64 位,字母/数字开头,仅允许字母、数字、.、_、- |
| uid | 否 | String | 自定义用户 UID,最长 64 位 |
| type | 否 | String | 用户类型:internalUser(内部)或 externalUser(外部) |
| password | 否 | String | 密码,8~32 位,需包含大写、小写、数字、特殊字符中的至少 3 类 |
| userStatus | 否 | String | 初始状态:ACTIVE(激活)或 BLOCKED(封禁),默认 ACTIVE |
| nickName | 否 | String | 昵称,2~64 位 |
| phone | 否 | String | 手机号(11位中国大陆号码) |
| 否 | String | 邮箱 | |
| avatarUrl | 否 | String | 头像 URL |
| description | 否 | String | 描述,最长 200 字符 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
| Data.Uid | String | 创建的用户 UID |
4. 示例代码
const app = CloudBase.init({ secretId, secretKey, envId })
async function main() {
const res = await app.user.createUser({
name: 'alice',
password: 'Abc@12345',
type: 'internalUser',
nickName: 'Alice',
email: 'alice@example.com'
})
console.log('新用户 UID:', res.Data.Uid)
}
describeUserList
1. 接口描述
接口功能:分页查询用户列表,支持按用户名、昵称、手机号、邮箱过滤
接口声明:app.user.describeUserList(options?): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| pageNo | 否 | Number | 页码,从 1 开始,默认 1 |
| pageSize | 否 | Number | 每页数量,1~100,默认 20 |
| name | 否 | String | 按用户名过滤 |
| nickName | 否 | String | 按昵称过滤 |
| phone | 否 | String | 按手机号过滤 |
| 否 | String | 按邮箱过滤 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
| Data.Total | Number | 用户总数 |
| Data.UserList | Array | 用户列表,见下方 TcbUserItem |
TcbUserItem
| 字段 | 类型 | 说明 |
|---|---|---|
| Uid | String | 用户 UID |
| Name | String | 用户名 |
| Type | String | 用户类型 |
| UserStatus | String | 用户状态:ACTIVE 或 BLOCKED |
| NickName | String | 昵称 |
| Phone | String | 手机号 |
| String | 邮箱 | |
| AvatarUrl | String | 头像 URL |
| Description | String | 描述 |
4. 示例代码
async function main() {
const res = await app.user.describeUserList({ pageNo: 1, pageSize: 20 })
console.log(`共 ${res.Data.Total} 个用户`)
res.Data.UserList.forEach(u => console.log(u.Uid, u.Name, u.UserStatus))
}
modifyUser
1. 接口描述
接口功能:修改用户信息,支持修改密码、用户状态等
接口声明:app.user.modifyUser(options): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| uid | 是 | String | 用户 UID |
| name | 否 | String | 新用户名(传空字符串不修改) |
| type | 否 | String | 新用户类型:internalUser 或 externalUser |
| password | 否 | String | 新密码(传空字符串不修改) |
| userStatus | 否 | String | 新状态:ACTIVE 或 BLOCKED |
| nickName | 否 | String | 新昵称(传空字符串表示清空) |
| phone | 否 | String | 新手机号(传空字符串表示清空) |
| 否 | String | 新邮箱(传空字符串表示清空) | |
| avatarUrl | 否 | String | 新头像 URL(传空字符串表示清空) |
| description | 否 | String | 新描述(传空字符串表示清空) |
name、password:传入非空字符串才更新,传空字符串或不传均忽略nickName、phone、email、avatarUrl、description:只要传入该字段(包括空字符串),就下发给后端;传空字符串可清空该字段
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
| Data.Success | Boolean | 是否修改成功 |
4. 示例代码
async function main() {
// 封禁某用户
await app.user.modifyUser({
uid: 'user-uid-xxx',
userStatus: 'BLOCKED'
})
// 修改密码
await app.user.modifyUser({
uid: 'user-uid-xxx',
password: 'NewPass@2025'
})
}
deleteUsers
1. 接口描述
接口功能:批量删除用户(不可恢复)
接口声明:app.user.deleteUsers(options): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| uids | 是 | String[] | 要删除的用户 UID 列表,最多 100 个 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
| Data.SuccessCount | Number | 删除成功数量 |
| Data.FailedCount | Number | 删除失败数量 |
4. 示例代码
async function main() {
const res = await app.user.deleteUsers({
uids: ['uid-a', 'uid-b', 'uid-c']
})
console.log(`成功删除 ${res.Data.SuccessCount} 个用户`)
}
以下接口已废弃,建议迁移至上方新版接口。
获取用户列表(废弃)
1. 接口描述
接口功能:获取指定云环境下的用户列表
接口声明:getEndUserList(options: Object): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| limit | 是 | Number | 拉取用户数量 |
| offset | 是 | Number | 偏移量 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| Total | Number | 用户总数 |
| RequestId | String | 请求唯一标识 |
| Users | Array<EndUserInfo> | 用户信息列表 |
EndUserInfo
| 字段 | 类型 | 说明 |
|---|---|---|
| UUId | String | 用户唯一 ID |
| WXOpenId | String | 微信 ID |
| QQOpenId | String | qq ID |
| Phone | String | 手机号 |
| String | 邮箱 | |
| NickName | String | 昵称 |
| Gender | String | 性别 |
| AvatarUrl | String | 头像地址 |
| UpdateTime | String | 更新时间 |
| CreateTime | String | 创建时间 |
| IsAnonymous | Boolean | 是否为匿名用户 |
| IsDisabled | Boolean | 是否禁用账户 |
| HasPassword | Boolean | 是否设置过密码 |
| UserName | String | 用户名 |
4. 示例代码
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
};
const app = new CloudBase(cloudBaseConfig);
async function main() {
const { Users } = await app.user.getEndUserList({
limit: 20,
offset: 0
});
console.log(">>> Users are:", Users);
}
main();
创建新用户(废弃)
1. 接口描述
接口功能:在指定云环境下,创建用户名和密码
接口声明:createEndUser(options: Object): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| username | 是 | String | 用户名 |
| password | 是 | String | 密码 |
密码长度不小于 8 位,不大于 32 位,需要包含字母和数字。
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
| User | EndUserInfo | 用户信息 |
4. 示例代码
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
};
const app = new CloudBase(cloudBaseConfig);
async function main() {
try {
const { User } = await app.user.createEndUser({
username: "your username",
password: "your password"
});
console.log(">>> 新建用户信息:", User);
} catch (error) {
console.log(">>> 新建用户失败:", error.message);
}
}
main();
修改用户账户信息(废弃)
1. 接口描述
接口功能:修改指定云环境下的特定用户的信息
接口声明:modifyEndUser(options: Object): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| uuid | 是 | String | 云开发用户唯一标识 |
| username | 否 | String | 新用户名 |
| password | 否 | String | 新密码 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
4. 示例代码
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
};
const app = new CloudBase(cloudBaseConfig);
async function main() {
try {
await app.user.modifyEndUser({
uuid: "your user uuid",
username: "your new username",
password: "your new password"
});
console.log(">>> 修改用户账户信息成功");
} catch (error) {
console.log(">>> 修改用户账户信息失败:", error.message);
}
}
main();
修改用户信息(废弃)
1. 接口描述
接口功能:修改指定云环境下的特定用户的信息
接口声明:updateEndUser(options: Object): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| uuid | 是 | String | 云开发用户唯一标识 |
| nickName | 是 | String | 新昵称 |
| gender | 是 | String | 新性别, `MALE |
| avatarUrl | 是 | String | 新头像 |
| country | 是 | String | 新国家 |
| province | 是 | String | 新省份 |
| city | 是 | String | 新城市 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
4. 示例代码
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
};
const app = new CloudBase(cloudBaseConfig);
async function main() {
try {
await app.user.updateEndUser({
uuid: "your user uuid",
nickName: "your new nickName",
gender: "your new gender",
avatarUrl: "your new avatarUrl",
country: "your new country",
province: "your new province",
city: "your new city"
});
console.log(">>> 修改用户信息成功");
} catch (error) {
console.log(">>> 修改用户信息失败:", error.message);
}
}
main();
设置用户状态(废弃)
1. 接口描述
接口功能:停用或启用云环境下的特定用户
接口声明:setEndUserStatus(options: object): Promise<object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| uuid | 是 | String | 云开发用户唯一标识 |
| status | 是 | String | 'DISABLE'或者'ENABLE' |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
4. 示例代码
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
};
const app = new CloudBase(cloudBaseConfig);
async function main() {
try {
const { RequestId } = await app.user.setEndUserStatus({
uuid: "User uuid",
status: "DISABLE"
});
console.log(">>> 停用成功");
} catch (error) {
console.log(">>> 停用失败", error.message);
}
}
main();
批量删除用户(废弃)
1. 接口描述
接口功能:批量删除指定云环境下的用户
接口声明:deleteEndUsers(options: Object): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| userList | 是 | Array<String> | 用户 uuid 列表 |
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求唯一标识 |
4. 示例代码
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
};
const app = new CloudBase(cloudBaseConfig);
async function main() {
try {
const { RequestId } = await app.user.deleteEndUsers({
userList: [
"uuid a",
"uuid b",
"uuid c"
// ......
]
});
console.log(">>> 批量删除成功");
} catch (error) {
console.log(">>> 批量删除失败", error.message);
}
}
main();