小程序模板網(wǎng)

微信小程序如何再次獲取用戶授權(quán)

發(fā)布時(shí)間:2017-12-13 08:55 所屬欄目:小程序開發(fā)教程

有什么方法可以解決呢,或者怎樣可以重新獲取用戶授權(quán)?

 
 
 

現(xiàn)在在做一個(gè)小程序有地圖的功能,通過點(diǎn)擊按鈕打開地圖。調(diào)用wx.getlocation()這個(gè)接口是需要用戶的授權(quán)。如果他授權(quán)了,返回一個(gè)success當(dāng)然最好啦,就什么問題都沒有了。如果他點(diǎn)了取消,返回一個(gè)fail,我就使用預(yù)設(shè)的經(jīng)緯度打開一個(gè)定位。但是如果用戶點(diǎn)擊返回以后,再次點(diǎn)擊按鈕進(jìn)入地圖就會(huì)沒有反應(yīng)(如果一開始有授權(quán)的話就可以再次重新打開地圖)。

有什么方法可以解決呢,或者怎樣可以重新獲取用戶授權(quán)。畢竟叫他們刪了重來的話,這樣的體驗(yàn)好像不大好。。。

方法:A:單擊隱藏圖章wx.openSetting(OBJECT) 重新調(diào)用小程序授權(quán),文檔現(xiàn)在已經(jīng)有了【以下是文檔內(nèi)容】 
wx.openSetting(OBJECT)

調(diào)起客戶端小程序設(shè)置界面,返回用戶設(shè)置的操作結(jié)果

Object 參數(shù)說明:

 

		
  1. 參數(shù) 類型 必填 說明
  2. success Function 接口調(diào)用成功的回調(diào)函數(shù),返回內(nèi)容詳見返回參數(shù)說明。
  3. fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
  4. complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success返回參數(shù)說明:

 

		
  1. 參數(shù) 類型 說明
  2. authSetting Object 用戶授權(quán)結(jié)果,其中 key scope 值,value Bool 值,表示用戶是否允許授權(quán),詳見 scope 列表

示例代碼:

 

		
  1. wx.openSetting({
  2. success: (res) => {
  3. /*
  4. * res.authSetting = {
  5. * "scope.userInfo": true,
  6. * "scope.userLocation": true
  7. * }
  8. */
  9. }
  10. })
  11. wx.getSetting(OBJECT)

獲取用戶的當(dāng)前設(shè)置

Object 參數(shù)說明:

 

		
  1. 參數(shù) 類型 必填 說明
  2. success Function 接口調(diào)用成功的回調(diào)函數(shù),返回內(nèi)容詳見返回參數(shù)說明。
  3. fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
  4. complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success返回參數(shù)說明:

 

		
  1. 參數(shù) 類型 說明
  2. authSetting Object 用戶授權(quán)結(jié)果,其中 key scope 值,value Bool 值,表示用戶是否允許授權(quán),詳見 scope 列表

示例代碼:

 

		
  1. wx.getSetting({
  2. success: (res) => {
  3. /*
  4. * res.authSetting = {
  5. * "scope.userInfo": true,
  6. * "scope.userLocation": true
  7. * }
  8. */
  9. }
  10. })
  11.  
  12. Map:function(){
  13. wx.getLocation({
  14. type: 'gcj02',
  15. success: function(res){
  16. // success
  17. wx.openLocation({
  18. latitude: res.latitude,
  19. longitude: res.longitude,
  20. scale: 28,
  21. })},
  22.  
  23. fail: function(res){
  24. // fail
  25. wx.openLocation({
  26. address:"獲取授權(quán)失敗 打開默認(rèn)定位",
  27. //默認(rèn)定位我就隱藏啦
  28. latitude: XX.XX,
  29. longitude: XX.XX,
  30. scale: 28,
  31. },
  32. wx.openSetting({
  33. //重新請求獲取定位
  34. success: (res) => {}})
  35. )},
  36. })
  37. }


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://m.u-renovate.com/wxmini/doc/course/18150.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢
AI智能客服 ×