美文网首页
API低版本兼容处理

API低版本兼容处理

作者: 旺仔Milk | 来源:发表于2017-09-12 10:46 被阅读571次

    关键词: 微信小程序, API, 低版本, 兼容

    小程序的功能不断的增加,但是旧版本的微信客户端并不支持新功能,所以在使用这些新能力的时候需要做兼容。
    文档会在组件,API等页面描述中带上各个功能所支持的版本号。
    可以通过 wx.getSystemInfo 或者 wx.getSystemInfoSync 获取到小程序的基础库版本号。
    也可以通过 wx.canIUse 详情 来判断是否可以在该基础库版本下直接使用对应的API或者组件

    在处理小程序的时候 往往需要授权操作, 而如果未授权的情况下又会很尴尬的发现没法重新授权啊(除非删除小程序或者等待一段时间授权超时之后可以重新授权), 而我刚好又碰到了另外一种情况.部分安卓手机无法弹出授权提示(登录未发现.主要体现在授权收货地址)
    找了一圈发现了向下兼容的 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"]) {
                  //这里是授权成功之后 填写你重新获取数据的js
                  //参考:
                  wx.showModal({
                    title: '提示',
                    content: '您未授权获取地址信息,请点击确定后同意获取地址信息',
                    success: function (res) {
                      if (res.confirm) {
                        console.log('用户点击确定')
                      // 微信跳转授权页面进行操作
                        wx.openSetting({
                          success: (res) => {
                          }
                        })
                      } 
                    }
                  })
                }
              }
            })
          }
        })
      },
    

    一段又臭又长的代码,在这里指示为了给出参考方案,欢迎吐槽代码写法 O(∩_∩)O~

    相关文章

      网友评论

          本文标题:API低版本兼容处理

          本文链接:https://www.haomeiwen.com/subject/vxxcsxtx.html