用户
用户
let MyUser = new BaaS.User()
创建用户
info SDK >= 3.9
操作步骤
1.本地创建用户
let user = MyUser.create()
2.为上面创建的用户设置属性
user.set(data)
该方法支持两种类型的赋值操作:
a.一次性赋值:
user.set({
key1: value1,
key2: value2
})b.逐个赋值
支持的属性:
_username
String
_username、_phone、_email、_provider 其中至少一项必填
用户名
_phone
String
_username、_phone、_email、_provider 其中至少一项必填
手机号
_email
String
_username、_phone、_email、_provider 其中至少一项必填
邮箱
_provider
Object
_username、_phone、_email、_provider 其中至少一项必填
用户在平台方的用户信息,具体用法请参考 _provider 传入说明
_password
String
传入了 _username、_email 时必填
密码
_phone_verified
Boolean
否
手机号是否已验证
_email_verified
Boolean
否
邮箱是否已验证
avatar
String
否
用户头像
nickname
String
否
用户昵称
gender
Integer
否
用户性别,可选值包括:0(未知)、1(男性)、2(女性)
country
String
否
国家
province
String
否
省份
city
String
否
城市
language
String
否
语言
is_authorized
Boolean
否
微信是否授权,默认为 undefined
除了以上字段外,还支持用户表的自定义字段
info 对同一字段进行多次
set操作,后面的数据会覆盖掉前面的数据
_provider 传入说明
在传入 _provider 的时候,如传入的参数不符合规范,则不会写入数据库中,正确的格式如下:
info 在传入了 _provider 的同时,也传入了
_username,_email其中一个,则必须传入有效的_password
keyword 必须传入平台支持的有效值:[openid, unionid, user_id]。
而 platform 必须在支持的平台范围内,目前支持的平台如下:
微信小程序
openid,unionid(非必填)
qq_miniapp
QQ 小程序
openid
baidu_miniapp
百度小程序
openid
douyin
抖音小程序
openid
toutiao
头条小程序
openid
bytedance_devtools
字节跳动小程序开发者工具
openid
news_article_lite
头条极速版小程序
openid
jd_miniapp
京东小程序
openid
alipay
支付宝小程序
user_id
oauth_wechat_mp
微信公众号
openid,unionid(非必填)
oauth_wechat_web
微信网页版
openid,unionid(非必填)
oauth_weibo
微博用户
openid
oauth_weibo_native
微博客户端
openid
oauth_wechat_native
微信客户端
openid,unionid(非必填)
oauth_apple_native
苹果客户端
openid
4.将创建的用户保存到服务器
user.save()
通过上面的四个步骤,即完成了一个用户的创建。
请求示例
返回示例
获取指定用户信息
MyUser.get(userID)
参数说明
userID
Number
是
用户 ID (对应 _userprofile 表中的 id 字段)
返回字段说明
avatar
String
用户头像
city
String
用户所在城市
country
String
用户所在国家
gender
String
用户的性别,值为 1 时是男性,值为 2 时是女性,值为 0 时是未知
id
Number
用户 ID (对应 _userprofile 表中的 id 字段)
language
String
用户的语言,简体中文为 zh_CN
nickname
String
用户昵称
openid
String
用户唯一标识,由微信生成
province
String
用户所在省份
unionid
String
用户在开放平台的唯一标识符,由微信生成
_email
String
用户邮箱(用于用户以邮箱 & 密码登录)
_username
String
用户名(用于用户以用户名 & 密码登录)
_email_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 如果有自定义字段,则一并返回
请求示例
返回示例
筛选返回字段
select 使用方法可以参考数据表 - 字段过滤小节
扩展字段
expand 使用方法可以参考数据表 - 字段扩展小节
请求示例
假设 _userprofile 表中有一个类型为 pointer 的字段,名称为 pointer_test_oder, 指向了 test_order 表
请求结果
请求结果
微信目前对小程序获取用户信息有两个小时的缓存设定,因此,如果一个用户修改了个人信息如头像、昵称等,需两个小时才能重新授权拿到最新的信息。
更新用户信息
更新用户信息与数据表更新数据项方法基本一致。
{{modifiableField()}}
请求示例
设置账号信息
UserRecord.setAccount({username, email, password})
通过微信、支付宝授权登录用户,可以设置用户名、邮箱、密码,以便下次通过用户名或邮箱登录。
参数说明
username
String
N
用户名
String
N
邮箱
phone
String
N
手机号
password
String
N
密码
示例代码
返回示例
批量修改用户自定义字段
BaaS.UserRecord#update(options)
{{modifiableField()}}
参数说明
options:
enableTrigger
boolean
否
true
是否触发触发器
withCount
boolean
否
true
是否返回 total_count
{{totalCount.withCountTips()}}
通过设置自定义查询条件 Query,将符合条件的用户自定义字段进行批量更新操作
注意:由于条件查询可能命中非常多的数据,默认情况下,限制为最多更新前 1000 条数据。 如需要一次性更新更多数据,请通过维护分页来进行。
其中:
请求示例
返回示例
回调中的 res 对象结构如下:
批量修改用户自定义字段不触发触发器
不触发触发器的情况下会有以下的行为:
当更新命中总条目 <= 1000 时,无论 limit 设置为多少,均为同步更新,将返回每一条更新的 id 和更新结果,详见下方返回示例中同步执行部分。
当更新命中总条目 > 1000 时,根据设置 limit 的不同,将有下方两种行为:
limit <= 1000 时,操作记录为同步执行
limit > 1000 或未设置时,则会转为异步执行并移除 limit 限制,变成操作全部
返回示例
同步操作时,回调中的 res 对象结构如下:
异步操作时,回调中的 res 对象结构如下:
info 获取异步执行结果,请查看接口文档
删除用户
MyUser.delete(userID)
参数说明
userID
Number
Y
用户 ID
示例代码
返回示例
获取符合筛选条件的用户总数
BaaS.User#count()
查询,获取用户列表
BaaS.User#find(options)
参数说明
options:
withCount
boolean
否
true
是否返回 total_count
{{totalCount.withCountTips()}}
用户查询与数据表查询方法一致
请求示例
查询用户组下的用户
info _group 是一个系统定义的特殊字段,可以通过 _group 来查询指定用户组下的用户,目前只支持 in 查询。 该字段仅支持查询,不支持删除和修改。
返回示例
成功时 res 结构如下
排序
用户查询排序与数据表排序方法一致,不包含在返回数据里的字段不支持排序,如 created_at。
请求示例
分页
用户查询分页与数据表分页方法一致。
请求示例
pointer 引用
使用 wx.BaaS.User().getWithoutData 可以创建一个 _userprofile 指定数据行的引用。主要配合 pointer 功能使用
具体使用方法请参考 数据表-添加 pointer 类型数据 小节
Last updated
Was this helpful?