当前位置:K88软件开发文章中心编程全书微信小程序 → 文章内容

微信小程序API 用户信息 wx.getUserInfo(OBJECT)

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-15 15:01:20

由 ?﹏???ζ???﹏﹏? 创建,youj 最后一次修改 2016-09-26 wx.getUserInfo(OBJECT)?获取用户信息,withCredentials 为 true 时需要先调用wx.login接口OBJECT参数说明:参数名类型必填说明最低版本withCredentialsBoolean否是否带上登录态信息1.1.0langString否指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文1.4.0successFunction否接口调用成功的回调函数 failFunction否接口调用失败的回调函数 completeFunction否接口调用结束的回调函数(调用成功、失败都会执行) 注:当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。success返回参数说明:参数类型说明userInfoOBJECT用户信息对象,不包含 openid 等敏感信息rawDataString不包括敏感信息的原始数据字符串,用于计算签名。signatureString使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,参考文档signature。encryptedDataString包括敏感数据在内的完整用户信息的加密数据,详细见加密数据解密算法ivString加密算法的初始向量,详细见加密数据解密算法示例代码:wx.getUserInfo({ success: function(res) { var userInfo = res.userInfo var nickName = userInfo.nickName var avatarUrl = userInfo.avatarUrl var gender = userInfo.gender //性别 0:未知、1:男、2:女 var province = userInfo.province var city = userInfo.city var country = userInfo.country }})encryptedData 解密后为以下 json 结构,详见加密数据解密算法{ "openId": "OPENID", "nickName": "NICKNAME", "gender": GENDER, "city": "CITY", "province": "PROVINCE", "country": "COUNTRY", "avatarUrl": "AVATARURL", "unionId": "UNIONID", "watermark": { "appid":"APPID", "timestamp":TIMESTAMP }}Bug & Tiptip:wx.getUserInfo接口需要用户授权,请兼容用户拒绝授权的场景。UnionID机制说明:如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。 同一个微信开放平台下的相同主体的App、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。微信开放平台绑定小程序流程前提:微信开放平台帐号必须已完成开发者资质认证开发者资质认证流程:登录微信开放平台(open.weixin.qq.com) – 帐号中心 – 开发者资质认证绑定流程:登录微信开放平台(open.weixin.qq.com)—管理中心—公众帐号—绑定公众帐号

微信小程序API 用户信息 wx.getUserInfo(OBJECT)