• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

小程序--授权封装

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
function PromiseAuth(scope){
  return new Promise(function (resolve, reject) {
    if (wx.getSetting) {
      wx.getSetting({
        success: function (res) {
          if (res.authSetting[scope]) {
            resolve(true);
          } else {
            confirm({
              content: `请授权,才能正常使用功能!`,
              title: '温馨提示',
              options: [
                {}, {
                  callback: _ => {
                    openSetting()
                  }
                }
              ]
            })
         
          }
        },
        fail: function () {
          resolve(false);
        }
      })
    } else {
      wx.showModal({
        showCancel: false,
        title: '提示',
        content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。',
        confirmColor: '#20b976'
      });
      reject(false);
    }
  })
  
}

function confirm({ content = '', title = '', options = [{}, {}] }) {
  return new Promise((resolve, reject) => {
    wx.showModal({
      title,
      content,
      confirmText: options[1].label || '确定',
      confirmColor: '#21c0ae',
      success: function (res) {
        if (res.confirm) {
          resolve(res)
          if (options[1].callback) {
            options[1].callback()
          }
        } else if (res.cancel) {
          reject(res)
          if (options[0].callback) {
            options[0].callback()
          }
        }
      }
    })
  })
} 
function openSetting(scope, opts = {}) {
  return new Promise((resolve, reject) => {
    wx.openSetting({
      success({
        authSetting
      }) {
        if (scope) {
          resolve(authSetting[`scope.${scope}`])
          opts.success && opts.success(authSetting[`scope.${scope}`])
        } else {
          resolve(authSetting)
          opts.success && opts.successopts.success(authSetting)
        }
      },
      fail(err) {
        reject(err)
        console.log('89080')
        console.log(err)
        opts.fail && opts.fail(err)
      }
    })
  })
}
function getLocation(callback) {
    wx.getLocation({
        type: 'gcj02',
        success: function (res) {
            callback(null, res || {});
        },
        fail: function (res) {
            // GPSNotFound();
            callback('fail', {});
        }
    })
}
module.exports  ={
  PromiseAuth, getLocation

}
const wxUtil = require('../../utils/wxUtil.js')
  var _this = this;
    wxUtil.getLocation(function (code, val) {
      if (code) {
        wxUtil.PromiseAuth('scope.userLocation').then((res) => {
          if (res) {
            wxUtil.getLocation(function (code, val) {
              if (code) {
                app.globalData.urlData.latitude = val.latitude;
                app.globalData.urlData.longitude = val.longitude;
                _this.getData();
              } else {
                wx.showModal({
                  showCancel: false,
                  title: '提示',
                  content: '授权失败!',
                  confirmColor: '#20b976'
                });
              }
            })
          }
        });
      } else {
        app.globalData.urlData.latitude = val.latitude;
        app.globalData.urlData.longitude = val.longitude;
        _this.getData();
      }
    })

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序商城15天从零实战视频课程-知识点-1行4列的布局发布时间:2022-07-18
下一篇:
小程序组件的生命周期发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap