小程序模板網

玩轉微信小程序的位置授權

發(fā)布時間:2020-05-21 09:39 所屬欄目:小程序開發(fā)教程

背景

日漸增多的小程序需求,必然會存在形色各異的授權問題。今天就來跟大家一起學習一下如何玩轉小程序的位置授權

位置授權問題分類

  • 并非必須允許授權:在第一次用戶決策完成后都允許用戶繼續(xù)操作(并非完全依賴位置信息)
  • 必須允許授權:只有授權才能使用(依賴位置信息的wx小程序)

分類剖析

1.針對需求分類1的情況,在這里就不多說,直接調用wx.getLocation就可以

2.只有授權才能繼續(xù)使用的情況

 

 

  • App:用于描述整體程序,需要對應用添加地理位置授權,代碼如下
    App({
        config: {
            'permission': {
              'scope.userLocation': {
                'desc': '請開啟位置授權' // 高速公路行駛持續(xù)后臺定位
              }
            },
        }
    })
    復制代碼
  • Page: 處理位置信息的頁面或者區(qū)域
  • wx.getLocation: 不多講解,是小程序的api,使用方法以及實現(xiàn)效果如下
     Page({
         onLoad () {
             wx.getLocation({
                 success: (res) => {}, // 成功的回調
                 fail: (err) => {} // 失敗的回調
             })
         }
     })
    復制代碼

 

 

  • $invoke('LocationAuthModal', showModal): 通過對LocationAuthModal組件中的方法直接調用,在頁面中彈出提示彈窗,效果如下(LocationAuthModal組件是我們自定義的彈窗,并且在頁面中引用)

     

  • Button(open-type=”openSetting” bindopensetting=callback): 小程序基礎庫2.3.0版本開始,用戶發(fā)生點擊行為后,才可以跳轉打開setting頁面,管理設置授權信息。在完成設置后,在callback中獲取到授權auth進行處理:

    <button  open-type="openSetting" @opensetting="callback">設置</button>
    復制代碼
  • callback: 設置完成后的回調函數(shù)

  • setting: 小程序的設置

  • auth: 設置完成后獲取到的設置授權信息

  • auth[“scope.userLocation”] = true:開啟了位置授權的設置,可以直接通過wx.getLocation拿到位置信息

  • else: 仍未開啟位置授權,那么根據我們的需求是不能繼續(xù)讓用戶使用的,所以會繼續(xù)執(zhí)行$invoke('LocationAuthModal', showModal),強制提醒用戶開啟位置授權

  • suceeCallback: 成功獲取位置后的回調函數(shù),用來處理獲取到微信知悉后的操作

說明

  • 文檔中的部分代碼采用微信小程序框架--wepy
  • 開發(fā)過程中使用小程序基礎庫版本為v2.10.1
  •  


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