A页面提示用户授权被拒绝,B页面却不再弹窗授权框,怎么处理
发布于 6 年前 作者 fangshen 11585 次浏览 来自 问答

因小程序有一个留言反馈的功能需要获取用户的信息,所以需要进行用户授权操作。

在用户第一次进入小程序时,会弹窗提示用户是否授权,用户在此时能同意则很理想。但是如果拒绝了,那么就要再次授权。

假设用户拒绝了授权,用户进入留言界面时,则再次弹窗提示用户授权,否则不能使用该功能。可是我在liuyan.js页面的  onLoad: function (options) {} 中 调用 wx.authorize 接口没任何反应。代码如下

onLoad: function (options) {

var that = this

wx.login({

success: function (res) {

wx.getSetting({

success(setRes) {

// 判断是否已授权(用户进入时会判断是否已授权)

if (!setRes.authSetting[‘scope.userInfo’]) {

// 授权访问

wx.authorize({

scope: ‘scope.userInfo’,

success() {

// 用户已经同意小程序使用个人基本信息,后续调用 wx.getUserInfo 接口不会弹窗询问

wx.getUserInfo({

lang: “zh_CN”,

success: function (userRes) {

// 发起网络请求

wx.request({

url: http://localhost:8080/fm93/xcx/user.action,

data: {

code: res.code,

encryptedData: userRes.encryptedData,

iv: userRes.iv,

signature: userRes.signature

},

header: {

“Content-Type”: “application/x-www-form-urlencoded”

},

method: ‘POST’,

// 服务端回调

success: function (result) {

var sessionKey = result.data;

console.log("–sessionKey–" + sessionKey);

wx.setStorageSync(“session3rd”, sessionKey);//存储后台返回的3rdsession

}

})

}

})

},

fail: function () {

//用户拒绝授权

//

}

})

} else {

// 获取用户信息

console.log(“已授权”)

}

}

})

}

})

}

3 回复

跳登录啊,大哥。难道你不做登录页面?

那如果用户拒绝授权却还是要使用留言反馈这功能,那我不是获取不到用户信息

拒绝后在 一段时间内 是不会再次让你授权的。

回到顶部