不想從新寫頁面引導用戶受權,由於官方說明小程序
scope 爲 "scope.userInfo" 時,沒法彈出受權窗口,請使用<button open-type="getUserInfo"></button>
理一下思路:
這一步目的是爲了獲取用戶的openid微信
//1.登錄獲取用戶openid wx.login({ success: function(resdata) { if (resdata.code) { wx.request({ url: appConfig.config.getOpenId, data: { //somedata }, success: function(res) { //do something } }) } else { that.openAlert(); } }, fail: function(res) { that.openAlert(); } });
//2. 查看是否受權 wx.getSetting({ success: function(res) { if (res.authSetting['scope.userInfo']) { //受權了 } else { //未受權 } } })
//3. 已經受權,獲取用戶信息 wx.getUserInfo({ success: function(res) { that.globalData.userInfo = res.userInfo console.log(res.userInfo) } })
//4.未受權,引導用戶受權 wx.showModal({ title: '用戶未受權', content: '如需正常使用小程序功能,請進行用戶受權。', showCancel: true, success: function(res) { if (res.confirm) { console.log("用戶確認受權") } else { console.log("用戶取消受權") } } })
//5.受權成功 if (wx.openSetting) { wx.openSetting({ success: function(res) { //從新登錄 } }) }
//6.因外部緣由受權失敗 else { wx.showModal({ title: '受權提示', content: '小程序須要您的微信受權才能使用哦~ 錯過受權頁面的處理方法:刪除小程序->從新搜索進入->點擊受權按鈕' }) }