用户
User 类
用户属性
User 类关联 _userprofile 表中 id 为用户 id 的数据行。User 类包含了 _userprofile 表的所有的内置字段。
| 参数 | 类型 | 说明 |
|---|---|---|
| id | String | 用户 id (对应 _userprofile 表中的 id 字段) |
| username | String | 用户名(用于用户以用户名 & 密码登录) |
| phone | String | 手机号码 |
| avatar | String | 用户头像 |
| city | String | 用户所在城市 |
| country | String | 用户所在国家 |
| gender | String | 用户的性别,值为 1 时是男性,值为 2 时是女性,值为 0 时是未知 |
| language | String | 用户的语言,简体中文为 zh_CN |
| nickname | String | 用户昵称 |
| openid | String | 用户唯一标识,由微信生成 |
| province | String | 用户所在省份 |
| String | 用户邮箱(用于用户以邮箱 & 密码登录) | |
| emailVerified | Boolean | 用户邮箱是否已经通过验证(已验证邮箱才能找回密码) |
访问用户信息
- 访问内置字段
currentUser.username; // 用户名
currentUser.gender; // 性别
currentUser.city; // 城市
... // 其他内置字段类似方式获取
- 访问自定义字段
通过自定义 key 来访问自定义信息。
currentUser.get("keyName");
如果访问了不存在的属性,会返回 null。
获取指定用户
通过指定用户 id 获取对应用户的信息。
User.getUser(String userId, {List<String> expand, List<String> select})
示例代码
try {
let userId = "36845**9853014";
User user = await User.getUser(userId);
// 操作成功
} on HError catch(e) {
// 操作失败
}
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userId | String | Y | 用户 Id |
| select | List<String> |
N | 指定筛选的字段,详见数据表 - 字段过滤章节 |
| expand | List<String> |
N | 指定扩展的字段,详见数据表 - 字段扩展章节 |
返回结果
| 名称 | 类型 | 说明 |
|---|---|---|
| user | User | 用户实例 |
HError 对象结构请参考错误码和 HError 对象
查询用户
User.find([Query query])
通过设置查询条件,获取所有符合条件的用户。以下实例代码查询所有年龄小于 25 岁的用户:
示例代码
try {
Query query = new Query();
Where where = Where.compare("age", '=', 25);
query.where(where);
UserList users = await User.find(query: query);
} catch(e) {}
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | Query | N | 查询条件,详见数据表 - 查询 |
返回结果
| 名称 | 类型 | 说明 |
|---|---|---|
| userList | UserList | 用户列表 |
HError 对象结构请参考错误码和 HError 对象
UserList 类
UserList 表示一次查询数据库所返回的用户列表以及元数据。
| 属性 | 类型 | 说明 |
|---|---|---|
| limit | Int | 一次请求返回记录的最大个数 |
| offset | Int | 返回记录的起始偏移值 |
| total_count | Int | 记录总数 |
| next | String | 下一页地址,若值为 null,表示当前为最后一页 |
| previous | String | 上一页地址,若值为 null,表示当前为第一页 |
| users | List |
用户数组,每个元素为 User 类型 |
返回结果默认不包含 total_count,如需获取该值可以在设置查询条件 Query 时,通过设置 query.withTotalCount(true) 来获取 total_count。详见获取记录总数
