初始化代码
This commit is contained in:
124
utils/util.js
Normal file
124
utils/util.js
Normal 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)
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user