API低版本兼容處理

關鍵詞: 微信小程序, API, 低版本, 兼容

小程序的功能不斷的增加,但是舊版本的微信客戶端并不支持新功能,所以在使用這些新能力的時候需要做兼容。
文檔會在組件,API等頁面描述中帶上各個功能所支持的版本號。
可以通過 wx.getSystemInfo 或者 wx.getSystemInfoSync 獲取到小程序的基礎庫版本號。
也可以通過 wx.canIUse 詳情 來判斷是否可以在該基礎庫版本下直接使用對應的API或者組件

在處理小程序的時候 往往需要授權操作, 而如果未授權的情況下又會很尷尬的發(fā)現(xiàn)沒法重新授權啊(除非刪除小程序或者等待一段時間授權超時之后可以重新授權), 而我剛好又碰到了另外一種情況.部分安卓手機無法彈出授權提示(登錄未發(fā)現(xiàn).主要體現(xiàn)在授權收貨地址)
找了一圈發(fā)現(xiàn)了向下兼容的 api

bindViewAds:function(){
    console.log("點擊地址");
    var that = this;
    // 檢查是否可以調用地址
    if (wx.canIUse('chooseAddress')) {
    } else {
      // 如果希望用戶在最新版本的客戶端上體驗您的小程序,可以這樣子提示
      wx.showModal({
        title: '提示',
        content: '當前微信版本過低,無法使用該功能,請升級到最新微信版本后重試。'
      })
      return;
    }

    wx.chooseAddress({
      success: function (res) {
        // console.log("獲取地址信息",res);
        // console.log(res.userName)
        // console.log(res.postalCode)
        // console.log(res.provinceName)
        // console.log(res.cityName)
        // console.log(res.countyName)
        // console.log(res.detailInfo)
        // console.log(res.nationalCode)
        // console.log(res.telNumber)
      },
      fail: function (res) {
        console.log("點擊地址調用失敗", res);
        wx.getSetting({
          success: (res) => {
            if (!res.authSetting["scope.address"]) {
              //這里是授權成功之后 填寫你重新獲取數(shù)據(jù)的js
              //參考:
              wx.showModal({
                title: '提示',
                content: '您未授權獲取地址信息,請點擊確定后同意獲取地址信息',
                success: function (res) {
                  if (res.confirm) {
                    console.log('用戶點擊確定')
                  // 微信跳轉授權頁面進行操作
                    wx.openSetting({
                      success: (res) => {
                      }
                    })
                  } 
                }
              })
            }
          }
        })
      }
    })
  },

一段又臭又長的代碼,在這里指示為了給出參考方案,歡迎吐槽代碼寫法 O(∩_∩)O~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,119評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,597評論 19 139
  • 轉載鏈接 注:本文轉載知乎上的回答 作者:初雪 鏈接:https://www.zhihu.com/question...
    pengshuangta閱讀 29,324評論 9 295
  • 給提問的開發(fā)者的建議:提問之前先查詢 文檔、通過社區(qū)右上角搜索搜索已經(jīng)存在的問題。 寫一個簡明扼要的標題,并且...
    極樂叔閱讀 14,631評論 0 3
  • Objective 你對今天學的記得什么? 聽小也電臺的一篇文章,用一年時間成為一個牛人。今天開始做一件能持續(xù)一年...
    徐偉豪閱讀 221評論 1 0

友情鏈接更多精彩內容