快来看看!支付宝小程序常用方法封装


  //检查版本更新
  updata: function() {
    //检查更新
    const updateManager = my.getUpdateManager()
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      console.log("小程序更新!"+ JSON.stringify(res))
      console.log(res.hasUpdate)
    })
    updateManager.onUpdateReady(function () {
      my.confirm({
        title: '更新提示',
        content: '新版本已经准备好,是否重启应用?',
        success: function (res) {
          if (res.confirm) {
            // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    })
    updateManager.onUpdateFailed(function () {
      // 新版本下载失败
      console.log("新版本下载失败!!")
    })
  },

//随机数
generateMixed: function (n) {
      var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
         var res = "";
         for(var i = 0; i < n ; i ++) {
             var id = Math.ceil(Math.random()*61);
             res += chars[id];
         }
         return res;
    },

//编码
base64_encode: function (str) { // 编码,配合encodeURIComponent使用
  var c1, c2, c3;
  var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  var i = 0, len = str.length, strin = '';
  while (i < len) {
      c1 = str.charCodeAt(i++) & 0xff;
      if (i == len) {
          strin += base64EncodeChars.charAt(c1 >> 2);
          strin += base64EncodeChars.charAt((c1 & 0x3) << 4);
          strin += "==";
          break;
      }
      c2 = str.charCodeAt(i++);
      if (i == len) {
          strin += base64EncodeChars.charAt(c1 >> 2);
          strin += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
          strin += base64EncodeChars.charAt((c2 & 0xF) << 2);
          strin += "=";
          break;
      }
      c3 = str.charCodeAt(i++);
      strin += base64EncodeChars.charAt(c1 >> 2);
      strin += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
      strin += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));
      strin += base64EncodeChars.charAt(c3 & 0x3F)
  }
  return strin
},

//解码 
base64_decode: function(input){
  var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  var output = "";
  var chr1, chr2, chr3;
  var enc1, enc2, enc3, enc4;
  var i = 0;
  input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
  while (i < input.length) {
      enc1 = base64EncodeChars.indexOf(input.charAt(i++));
      enc2 = base64EncodeChars.indexOf(input.charAt(i++));
      enc3 = base64EncodeChars.indexOf(input.charAt(i++));
      enc4 = base64EncodeChars.indexOf(input.charAt(i++));
      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;
      output = output + String.fromCharCode(chr1);
      if (enc3 != 64) {
          output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
          output = output + String.fromCharCode(chr3);
      }
  }
  return this.utf8_decode(output);
},
// urf-8解码
utf8_decode: function(utftext){
  var string = '';
  let i = 0;
  let c = 0;
  let c1 = 0;
  let c2 = 0;
  while (i < utftext.length) {
      c = utftext.charCodeAt(i);
      if (c < 128) {
          string += String.fromCharCode(c);
          i++;
      } else if ((c > 191) && (c < 224)) {
          c1 = utftext.charCodeAt(i + 1);
          string += String.fromCharCode(((c & 31) << 6) | (c1 & 63));
          i += 2;
      } else {
          c1 = utftext.charCodeAt(i + 1);
          c2 = utftext.charCodeAt(i + 2);
          string += String.fromCharCode(((c & 15) << 12) | ((c1 & 63) << 6) | (c2 & 63));
          i += 3;
      }
  }
  return string;
}, 

//跳转新页面页面,保留当前页面。
function navigateTo(url) {
    my.navigateTo({
        url:url
    })
}


//跳转新页面页面,关闭当前页面。
function redirectTo(url) {
    my.redirectTo({
        url: url
    })
}


//关闭其他所有非 tabBar 页面,跳转到 tabBar 页面
function reLaunch(url) {  //url必须为tabbar页面的路径,否则没有效果
  my.switchTab({
    url: url
  })
}


//返回页面
function navigateBack(delta) {  //注意:此处的delta为number(数字)
    my.navigateBack({
        delta: delta
    })
}

//获取当前页url
function getCurrentPageUrl() {
  var pages = getCurrentPages()                //获取加载的页面
  var currentPage = pages[pages.length - 1]    //获取当前页面的对象
  var url = currentPage.route                  //当前页面url
  return url
}

//加载等待提示,title提示,mask是否透明层bool
function showLoading(title, mask) {
  my.showLoading({
    title: title,
    mask: mask
  })
}

// 隐藏加载框
function hideLoading() {
  my.hideLoading()
}


//加载模态框,title 提示的内容, icon 图标(success,loading,none), duration 提示的延迟时间 mask是否显示透明层, image 自定义图标的本地路径,image 的优先级高于 icon
function showToast(title, icon, duration){
   my.showToast({
      title: title,
      icon: icon,
      image: image,
      duration: duration,
      mask: mask
    })   
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值