这里我们就以uni-app举例,简单介绍一下在项目中需要的一些配置
1、封装公共网络请求
2、封装路由表对象(我们将项目中所有路由封装起来,方便统一管理)
3、封装图片静态资源表
5、封装相同数据统一管理,避免每个页面都需要定义
6、使用store存储
8、通用格式处理
9、封装常用方法统一管理
以上是我们本次项目总结,封装及调用方法
这里我简单举几个例子
校验手机格式
function checkMobile(mobile) {
return RegExp(
/^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(18[0-9]{1})|(17[0-9]{1})|(19[0-9]{1}))+\d{8})$/)
.test(mobile);
}
校验身份证号
function checkIDNumber(card) {
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (reg.test(card) === false) {
// alert("身份证输入不合法");
return false;
} else {
return true;
}
}
时间戳转化为年 月 日 时 分 秒
function formatTime(number, format) {
var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
var returnArr = [];
var date = new Date(number * 1000);
returnArr.push(date.getFullYear());
returnArr.push(formatNumber(date.getMonth() + 1));
returnArr.push(formatNumber(date.getDate()));
returnArr.push(formatNumber(date.getHours()));
returnArr.push(formatNumber(date.getMinutes()));
returnArr.push(formatNumber(date.getSeconds()));
for (var i in returnArr) {
format = format.replace(formateArr[i], returnArr[i]);
}
return format;
}
防止快速连续点击,节流函数
function throttle(fun, delay) {
let oadDate = Date.now();
return function() {
let _this = this;
let args = arguments;
let newDate = Date.now();
if (newDate - oadDate > delay) {
fun.apply(_this, args);
oadDate = Date.now();
} else {
uni.showToast({
title: '请不要频繁点击哦~',
icon: 'none'
})
}
}
}
所有内容可以下载源码,有什么不懂可以留言一起讨论
扫码小程序 / 微信搜索 源流空间 直接下载