新聞中心
在開發(fā)一個(gè)微信小程序的時(shí)候我們需要獲取不同等級(jí)的權(quán)限,而這些權(quán)限大多數(shù)都要通過微信授權(quán)來獲取。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比伽師網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式伽師網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋伽師地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
1.在小程序的app.json文件中注冊(cè)需要授權(quán)的權(quán)限,比如獲取用戶基本信息授權(quán),語音識(shí)別授權(quán),錄音授權(quán)等。這樣就可以確認(rèn)被拒絕或同意授權(quán)的權(quán)限列表。
“permission”: {
“scope.userInfo”: {
“desc”: “獲取用戶基本信息授權(quán)”
},
“scope.record”: {
“desc”: “錄音授權(quán)”
},
“scope.werizer”: {
“desc”: “語音識(shí)別授權(quán)”
}
}
2.然后,在需要用到這些權(quán)限功能的頁面申請(qǐng)授權(quán),如調(diào)用wx.authorize()接口進(jìn)行申請(qǐng)授權(quán),并設(shè)置參數(shù)scope來指定具體的授權(quán)。比如:
wx.authorize({
scope: ‘scope.userInfo’,
success: (res) => {
//申請(qǐng)授權(quán)成功后調(diào)用wx.getUserInfo()獲取用戶信息
wx.getUserInfo({
success:(res) => {
//獲取相關(guān)信息
}
})
}
})
3.考慮到在小程序中授權(quán)的是持久性的,有可能用戶在一次授權(quán)后,以后的運(yùn)行,就不需要再進(jìn)行授權(quán),因此可以在授權(quán)路徑內(nèi)部使用Redis來存儲(chǔ)用戶授權(quán)信息,以提升用戶體驗(yàn)度。
const redis = require(‘redis’);
const client = redis.createClient(6379, ‘localhost’);
//授權(quán)驗(yàn)證方法
function authCheck(data) {
//驗(yàn)證用戶信息是否存在
return new Promise((resolve, reject) => {
//使用Redis進(jìn)行查詢
client.hgetall(`userInfo:${data.openid}`, function(ERR, obj) {
if(err){
reject(err);
}
//如果已授權(quán),放行
if(obj && obj.isAuth) {
resolve(obj);
} else {
reject(‘未授權(quán)’);
}
});
});
}
4.此時(shí)授權(quán)已完成,小程序可以正常獲取用戶各項(xiàng)授權(quán),但是要記住,用戶任何一次拒絕授權(quán),我們都需要警告并刪除 Redis 中保存的用戶信息,這樣,用戶每次重新進(jìn)入小程序,都需要重新授權(quán):
//用戶拒絕授權(quán)時(shí),刪除該用戶在Redis中存儲(chǔ)的信息
wx.authorize({
fl: () => {
client.del(`userInfo:${data.openid}`, function(err, result) {
if(err){
console.log(err);
}
console.log(`delete ${data.openid} from redis`)
});
}
})
要實(shí)現(xiàn)小程序權(quán)限管理,除了盡量精簡(jiǎn)被拒絕授權(quán)的權(quán)限,提升用戶體驗(yàn)度,還要讓Redis來管理,提升用戶授權(quán)的效率。
創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級(jí)標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。
文章標(biāo)題:權(quán)限Redis申請(qǐng)微信授權(quán),獲取更多權(quán)限(redis請(qǐng)求微信提?。?
文章出自:http://www.fisionsoft.com.cn/article/dhjcoji.html


咨詢
建站咨詢
