用户
获取用户信息
let MyUser = new wx.BaaS.User()
获取指定用户信息
MyUser.get(userID)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
userID | Number | 是 | 用户 ID (对应 _userprofile 表中的 id 字段) |
返回字段说明
内置字段的返回依赖于 _userprofile
表中该内置字段的权限设置,若字段权限勾选了 客户端不可见
,则 SDK 中该字段不返回;若字段权限勾选了 仅创建者可见
,则 SDK 中仅当 userID
与当前用户 ID 相同时返回该字段。_userprofile
表中的内置字段包括:
参数 | 类型 | 说明 |
---|---|---|
avatar | String | 用户头像 |
city | String | 用户所在城市 |
country | String | 用户所在国家 |
gender | Number | 用户的性别,值为 1 时是男性,值为 2 时是女性,值为 0 时是未知 |
id | Number | 用户 ID (对应 _userprofile 表中的 id 字段) |
language | String | 用户的语言,简体中文为 zh_CN |
nickname | String | 用户昵称 |
openid | String | 用户唯一标识,由微信提供 |
unionid | String | 同一个微信开放平台帐号下的不同应用中,用户的唯一标识,由微信提供 |
province | String | 用户所在省份 |
is_authorized | Boolean | 用户是否授权,true 为已授权,false 为未授权 |
_email | String | 用户邮箱(用于用户以邮箱 & 密码登录) |
_username | String | 用户名(用于用户以用户名 & 密码登录) |
_email_verified | Boolean | 用户邮箱是否已经通过验证(已验证邮箱才能找回密码) |
_phone | String | 用户手机 |
_phone_verified | Boolean | 用户手机是否已经通过验证 |
_provider | Object | 用户在平台方的用户信息 |
_provider.alipay | Object | 支付宝平台的用户信息,见下方说明 |
支付宝平台的用户信息对象说明
参数 | 类型 | 说明 |
---|---|---|
user_id | string | 支付宝小程序用户 user_id |
is_student | boolean | 用户是否是学生 |
user_type | string | 用户类型,包括:company_account(公司账户)以及 personal_account (个人账户) |
user_status | boolean | 用户状态,包括:registered(快速注册用户)、authenticated(已认证用户)、frozen(被冻结用户) 以及inactive(已注册,未激活用户) |
verified | boolean | 用户是否通过实名认证,当且仅当该值为 true 时gender 值才保证准确性 |
avatar | string | 支付宝小程序用户头像 |
province | string | 支付宝小程序用户省份 |
city | string | 支付宝小程序用户市名称 |
nickname | string | 支付宝小程序用户昵称 |
gender | string | 支付宝小程序用户性别,female 为女性,male 为男性 |
info
默认情况下,上述内置字段除
id
、nickname
、avatar
字段外,默认权限设置均为 客户端可见,且仅创建者可见,id
默认均可见,nickname
以及avatar
默认权限设置为 客户端可见,且非创建者也可见针对该权限设置,SDK 中当查询的用户为非当前用户时,上述内置字段仅返回
id
、nickname
、avatar
字段;当查询的用户为当前用户时,上述内置字段均会返回若开发者需要让 SDK 中非当前用户查询时也能返回某一内置字段,则应修改
_userprofile
表中该字段权限为非仅创建者可见
若开发者不希望 SDK 中返回某一内置字段,则应修改
_userprofile
表中该字段权限为客户端不可见
如果有自定义字段,则自定义字段同样根据该字段本身的权限设置,判断是否在 SDK 中进行返回,判断规则同内置字段。
微信网页登录/微信公众号登录 UnionID 机制说明
应用使用微信网页登录/微信公众号登录后,当用户资料中有 unionid 返回时,知晓云会将其存储到内置字段 _provider.wechat_unionid
中。 在重新进行微信网页登录/微信公众号登录时,知晓云会优先通过 _provider.wechat_unionid
查找用户,从而实现微信网页登录/微信公众号登录之间的用户身份打通。
info 微信小程序暂未支持
请求示例
返回示例
非当前用户:
当前用户:
筛选返回字段
select 使用方法可以参考数据表 - 字段过滤小节
扩展字段
expand 使用方法可以参考数据表 - 字段扩展小节
请求示例
假设 _userprofile 表中有一个类型为 pointer 的字段,名称为 pointer_test_oder
, 指向了 test_order 表
请求结果
请求结果
获取符合筛选条件的用户总数
MyUser.count()
info SDK v3.0 新增
查询,获取用户列表
info 因为安全性考虑,仅支持 nickname、id 字段的查询,如需查询更多字段,可通过在云函数内编写查询逻辑云函数 node sdk 查询用户 ,然后通过小程序调用。
MyUser.find(options)
参数说明
options:
参数 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
withCount | boolean | 否 |
| 是否返回 total_count |
{{totalCount.withCountTips()}}
用户查询与数据表查询方法一致
请求示例
排序
用户查询排序与数据表排序方法一致,不包含在返回数据里的字段不支持排序,如 created_at。
请求示例
分页
用户查询分页与数据表分页方法一致。
请求示例
pointer 引用
使用 BaaS.User().getWithoutData
可以创建一个 _userprofile 指定数据行的引用。主要配合 pointer 功能使用
具体使用方法请参考 [数据表-添加 pointer 类型数据](./schema/create-record.md) 小节
Last updated