知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?
您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
微信小程序沒有授權(quán)時(shí)的處理方法
發(fā)表時(shí)間:2021-3-31
發(fā)布人:葵宇科技
瀏覽次數(shù):147
背景:微信小程序很多都需要用戶的微信授權(quán),可是很多瓜皮用戶會狠心拒絕,但是不管用戶怎么操作,我們必須讓用戶能夠更好的體驗(yàn)小程序。
過程:我把用戶的操作分四種。
1)用戶直接同意授權(quán)。
2)用戶拒絕授權(quán),進(jìn)入引導(dǎo)彈窗,用戶繼續(xù)拒絕授權(quán)。
3)用戶拒絕授權(quán),進(jìn)入引導(dǎo)彈窗,用戶點(diǎn)擊授權(quán),進(jìn)入授權(quán)設(shè)置頁,用戶點(diǎn)擊授權(quán)。
4)用戶拒絕授權(quán),進(jìn)入引導(dǎo)彈窗,用戶點(diǎn)擊授權(quán),進(jìn)入授權(quán)設(shè)置頁,用戶不點(diǎn)擊授權(quán),直接退出。
解決方法:
toMap() {
let that = this;
wx.getSetting({
success(res) {
if (!res.authSetting['scope.userLocation']) {//如果沒有授權(quán)
wx.authorize({
scope: 'scope.userLocation',
success: res => {//第一種情況:用戶同意授權(quán)
// 發(fā)送地圖
that.toMapFin();
}, fail: res => {//用戶點(diǎn)擊了取消授權(quán),引導(dǎo)其去授權(quán)
wx.showModal({
title: '提示',
content: '定位需要您的微信授權(quán)才能使用哦~ 錯(cuò)過授權(quán)頁面的處理方法:刪除小程序->重新搜索五百強(qiáng)名片進(jìn)入->點(diǎn)擊授權(quán)按鈕',
cancelText: "不授權(quán)",
confirmText: "授權(quán)",
confirmColor: "#a08250",
success: function (res) {
if (res.confirm) {
// 這個(gè) API 是基礎(chǔ)庫 1.1.0 才有的,所以需要做兼容處理:
if (wx.openSetting) {
wx.openSetting({
success: function (res) {//第三種情況:用戶拒絕授權(quán),進(jìn)入引導(dǎo)彈窗,用戶點(diǎn)擊授權(quán),進(jìn)入授權(quán)設(shè)置頁,用戶點(diǎn)擊授權(quán)。
that.toMapFin();
}
})
} else {
wx.showModal({
title: '授權(quán)提示',
content: '定位需要您的微信授權(quán)才能使用哦~ 錯(cuò)過授權(quán)頁面的處理方法:刪除小程序->重新搜索五百強(qiáng)名片進(jìn)入->點(diǎn)擊授權(quán)按鈕'
})
}
} else if (res.cancel) {//第二種情況:用戶拒絕授權(quán),進(jìn)入引導(dǎo)彈窗,用戶繼續(xù)拒絕授權(quán)。
wx.showModal({
title: '提示',
content: '定位失敗,錯(cuò)過授權(quán)頁面的處理方法:刪除小程序->重新搜索五百強(qiáng)名片進(jìn)入->點(diǎn)擊授權(quán)按鈕',
showCancel: false,
confirmColor: "#c00",
success: function (res) {
if (res.confirm) {
console.log('用戶點(diǎn)擊確定')
}
}
})
}
}
})
}
})
} else {//用戶原來已經(jīng)通過了授權(quán),不必重新調(diào)起授權(quán)界面。
that.toMapFin();
}
}
})
},
toMapFin(){
wx.chooseLocation({
success: res => {
console.log(res)
let address = res.address + res.name;
this.setData({
"local.address": [address],
"local.longitude": res.longitude,
"local.latitude": res.latitude
})
},
fail: res => { //第四種情況:用戶拒絕授權(quán),進(jìn)入引導(dǎo)彈窗,用戶點(diǎn)擊授權(quán),進(jìn)入授權(quán)設(shè)置頁,用戶不點(diǎn)擊授權(quán),直接退出。
wx.showModal({
title: '提示',
content: '定位失敗',
showCancel: false,
confirmColor: "#c00",
success: function (res) { }
})
}
})
},
這樣做的話,每次用戶進(jìn)來都會查看他是否已經(jīng)授權(quán),如果不授權(quán)的話,都會調(diào)起授權(quán)提示。
如果是用戶點(diǎn)擊拒絕授權(quán)之后,以后每次進(jìn)來都再也不調(diào)起授權(quán)提示的話,這個(gè)方法就不適合了。
需要用到的方法:
wx:getSetting(獲取用戶的當(dāng)前設(shè)置。)
wx.authorize(提前向用戶發(fā)起授權(quán)請求。調(diào)用后會立刻彈窗詢問用戶是否同意授權(quán)小程序使用某項(xiàng)功能或獲取用戶的某些數(shù)據(jù),但不會實(shí)際調(diào)用對應(yīng)接口。如果用戶之前已經(jīng)同意授權(quán),則不會出現(xiàn)彈窗,直接返回成功。)
wx.openSetting(調(diào)起客戶端小程序設(shè)置界面,返回用戶設(shè)置的操作結(jié)果。)
相關(guān)案例查看更多
相關(guān)閱讀
- 云南小程序商城
- 小程序制作
- 網(wǎng)站搭建
- 大理小程序開發(fā)
- 網(wǎng)站制作
- 安家微信小程序
- 網(wǎng)站開發(fā)哪家好
- 小程序開發(fā)平臺前十名
- 網(wǎng)絡(luò)公司哪家好
- 云南etc小程序
- 云南小程序開發(fā)哪家好
- 云南網(wǎng)站建設(shè)服務(wù)公司
- 網(wǎng)站建設(shè)案例
- 保山小程序開發(fā)
- 云南做軟件
- 微信小程序開發(fā)入門課程
- web前端
- 汽車拆解系統(tǒng)
- 網(wǎng)站建設(shè)公司哪家好
- vue開發(fā)小程序
- 人口普查小程序
- 云南網(wǎng)站建設(shè)方案 doc
- 報(bào)廢車回收管理軟件
- 昆明網(wǎng)站制作
- 百度排名
- 小程序被攻擊
- 云南建設(shè)廳官方網(wǎng)站
- 云南網(wǎng)站建設(shè)選
- 云南小程序哪家好
- 云南網(wǎng)站維護(hù)