故事的起源:​​https://developers.weixin.qq.com/community/develop/doc/0006026b3c83c0e244573a0025bc08​​ ,小程序官方api的调整。

1.关于wx.login() 函数说明:

--1. 调用wx.login接口,静默获取openid

2.关于 登陆授权相关说明:

--使用button(小程序)或UserInfoButton(小游戏)组件****,用户点击后弹窗请求用户授权

独家解读——wx.login():

调用后会得到openid

   /**获取open_id*/
getOpenId: function (callBack) {
var self = this;
//获取code
wx.login({
success: (res) => {
//获取open_id
var sendData = {
appid: app.appId,
code: res.code
}
let apiData = {
apiUrl: app.apiConfig.getOpenId,
type: 'get',
sendData: sendData,
};
apiData.success = res => {
if (res.data) {
callBack && callBack(res.data.openid);
}
};
app.apiConfig.getApi(apiData);
},
fail: () => {
app.tool.showModal('提示', '登录凭证code获取失败');
}
})
},

独家解读——UserInfoButton:

此处需要合理设计,因为这里授权已经不再弹出框了,不过以前已经上线的小程序还是会弹出授权框(亲测),一旦更新后就不会出现了,小小的吐槽一下,略坑。
--这里点了按钮后可以得到用户的微信相关信息,除了UUID除外,具体为啥没有,我也不道。
-- 然后得到信息后,可以先暂时放到data里面,到需要保存的时候取出来存到相应的接口调用里面即可
--备注:openId是一串字符串,踩坑了

<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button>

    /*新版的获取微信用户信息——即用户授权*/
onGotUserInfo: function (e) {
console.log('errMsg', e.detail.errMsg)
console.log('userInfo', e.detail.userInfo)
console.log('rawData', e.detail.rawData)
let self = this;
self.setData({
userInfo: e.detail.userInfo
})
self.setData({
divShow: 2
})
console.log('查看数据源3', self.data);
},