微信更新用户信息

danger 从 2022 年 11 月 8 日 24 时开始,小程序 wx.getUserProfilewx.getUserInfo 接口将被微信收回,其中获取用户头像将统一返回默认灰色头像,昵称将统一返回“微信用户”。请参考 小程序用户头像昵称获取规则调整公告

info SDK >= 3.17.0

danger 从 2021 年 4 月 28 日后发布的小程序新版本,无法通过 wx.getUserInfo 与 <button open-type="getUserInfo"/> 获取加密的用户个人信息,而需要通过新增的 getUserProfile 接口获取。请参考 小程序登录、用户信息相关接口调整说明

为应对微信的调整,云函数 SDK v3.17.0 中将会提供新的更新用户信息方法 BaaS.wechat.updateUserInfo()

小程序建议的登录流程是,可通过 wx.BaaS.auth.loginWithWechat() 获取用户 openID,这时无需弹框授权,开发者拿到 openID 可以建立自身的帐号 ID。当必须要获得用户的头像昵称等信息时,调用 wx.getUserProfile 接口,并将返回结果通过调用云函数 BaaS.wechat.updateUserInfo() 方法更新用户信息。

BaaS.wechat.updateUserInfo(userID, data, {syncUserProfile})

参数说明

参数
类型
必填
说明

userID

Number

用户 ID

data

Object

wx.getUserProfile 事件回调返回的参数

syncUserProfile

Boolean

是否同步第一层级用户信息,可选值为 overwritesetnxfalse,默认值为setnx

请求示例

// 云函数部分
// 函数名:update_wechat_user_info
BaaS.useVersion("v3.17.0");
exports.main = async function updateUserInfo(event, callback) {
  const res = await BaaS.wechat.updateUserInfo(event.data.userID, event.data.data, {
    syncUserProfile: event.data.syncUserProfile
  });
  return res
}

返回示例

Last updated

Was this helpful?