初始化代码

This commit is contained in:
2023-08-21 14:54:02 +08:00
parent dce6c0324f
commit cd1099cb2e
183 changed files with 38763 additions and 79 deletions

124
utils/util.js Normal file
View File

@@ -0,0 +1,124 @@
/**
* 工具类
*/
module.exports = {
/**
* scene解码
*/
scene_decode(e) {
if (e === undefined)
return {};
let scene = decodeURIComponent(e),
params = scene.split(','),
data = {};
for (let i in params) {
var val = params[i].split(':');
val.length > 0 && val[0] && (data[val[0]] = val[1] || null)
}
return data;
},
/**
* 格式化日期格式 (用于兼容ios Date对象)
*/
format_date(time) {
// 将xxxx-xx-xx的时间格式转换为 xxxx/xx/xx的格式
return time.replace(/\-/g, "/");
},
/**
* 对象转URL
*/
urlEncode(data) {
var _result = [];
for (var key in data) {
var value = data[key];
if (value.constructor == Array) {
value.forEach(_value => {
_result.push(key + "=" + _value);
});
} else {
_result.push(key + '=' + value);
}
}
return _result.join('&');
},
/**
* 遍历对象
*/
objForEach(obj, callback) {
Object.keys(obj).forEach((key) => {
callback(obj[key], key);
});
},
/**
* 是否在数组内
*/
inArray(search, array) {
for (var i in array) {
if (array[i] == search) {
return true;
}
}
return false;
},
/**
* 判断是否为正整数
*/
isPositiveInteger(value) {
return /(^[0-9]\d*$)/.test(value);
},
/**
* 对Date的扩展将 Date 转化为指定格式的String
* 月(Y)、月(m)、日(d)、小时(H)、分(M)、秒(S) 可以用 1-2 个占位符,
* 例子:
* dateFormat('YYYY-mm-dd HH:MM:SS', new Date()) ==> 2020-01-01 08:00:00
*/
dateFormat(fmt, date) {
const opt = {
"Y+": date.getFullYear().toString(), // 年
"m+": (date.getMonth() + 1).toString(), // 月
"d+": date.getDate().toString(), // 日
"H+": date.getHours().toString(), // 时
"M+": date.getMinutes().toString(), // 分
"S+": date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
let ret;
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
};
};
return fmt;
},
duration(r) {
var t = 0, e = 0;
(r = Math.ceil(r)) > 60 && (t = parseInt(r / 60), r = parseInt(r % 60), t > 60 && (e = parseInt(t / 60),
t = parseInt(t % 60)));
var n = "";
return n += parseInt(r) + "秒", 0 != t && (n = parseInt(t) + "分" + n), e > 0 && (n = parseInt(e) + "小时" + n),
n;
},
kb(r) {
if (r / 1024 >= 1024) return (t = (r - r % 1024) / 1024 / 1024).toFixed(2) + "M";
var t = (r - r % 1024) / 1024;
return t.toFixed(2) + "KB";
},
handleUrl(str) {
var reg = /(https?|http|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/g;
str = str.match(reg);
if (str) {
return (str[0])
} else {
return (false)
}
}
};