小程序代码封装

平常的一次性开发好弄,但是当维护起来代码的时候,每次反复的修改就会觉得效率低了。因为做的不仅仅只有微信小程序,还有支付宝小程序,百度,头条小程序。都知道每一个小程序的语法都不太一样,每次修改一次都要全部修改,实在是心累。为了提升自己的开发效率,自己简单的封装代码是必不可少的!

一般都是在自己项目的根目录下,自带一个util文件夹,在这个文件夹下有一个util.js文件,这个文件里面一般都是放一些公用的方法。(例如封装截取url函数,计算计算指定日期与当前日期相差的天数,获取当前日期与时间,消息提示等等)

还可以在util文件夹下新建文件api.js,里面放上自己当前小程序的globalData数据信息和api。从而在服务器域名更改或者appId更改的时候,还有借口名称改变的时候,只需要在这个文件夹中修改,减少翻找其他的文件。

下面是我的一些自己封装代码的实例。大家也可以按照自己的想法来封装,怎么少写一句代码就怎么来,哈哈。

计算指定日期与当前日期相差的天数

/**
 * 计算指定日期与当前日期相差的天数
 */
function calculateDateDifference(date) {
  var now = Date.parse(new Date());
  var end = Date.parse(date);
  //两个时间戳相差的毫秒数
  var time = end - now;
  return Math.floor(time / (24 * 3600 * 1000));
}

消息提示封装

/**
 * 弹出提示框信息,无回调动作
 */
// 弹框显示 只有一个确认按钮.微信上没有alert API,是只有一个showModal,可以自己封装一下,之所以这样封装是为了和支付宝小程序保持一致,修改的时候,可以一套代码,两个都适用。
function alert(content, title) {
  wx.showModal({
    content: content,
    title: title || '提示',
    showCancel: false,
    confirmText: '确认',
  })
}
//使用方法:
// 在js文件上面导入api.js文件:
import api from '../../utils/api.js'
api.alert("恭喜签约成功!")
function showToast(content, type, duration, mask) {
  wx.showToast({
    title: content, // 注意这里的不一样
    icon: type || 'none', // 注意
    duration: duration || 2000,
    mask: mask || false
  })
}
function showLoading(title) {
  wx.showLoading({
    title: title || '正在加载中。。。'
  })
}
// 封装 请求
function request(obj) {
  wx.showLoading({
    title: obj.tips || '加载中',
    mask: true
  })
  if (obj.method == 'post' || obj.method == "POST") {
    header['content-type'] = 'application/x-www-form-urlencoded'
  } else {
    header["content-type"] = 'application/json'
  }
  wx.request({
    method: obj.method || 'get',
    url: baseUrl + obj.url,
    header: obj.header || header,
    data: obj.data,
    success: (res) => {
      // wx.hideLoading()
      if (res.statusCode == 200) {
        if (obj.success) {
          obj.success(res)
         }
      } else {
        console.error(res);
        console.log('500')
        wx.showToast({
          title: '网络有点小故障,请稍后再试',
          icon: "none"
        })
      }
    },
    fail: (e) => {
      // wx.hideLoading()
      if (obj.fail) {
        obj.fail(e)
        return
      } else {
        console.error(e);
      }
      wx.showToast({
        title: '网络有点小故障,请稍后再试',
        icon: "none"
      })
    },
    complete: () => {
      wx.hideLoading()
    }
  })
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值