2020-04-25 22:59:04 +08:00
|
|
|
|
/**
|
|
|
|
|
* 工具类
|
|
|
|
|
*/
|
|
|
|
|
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);
|
|
|
|
|
},
|
|
|
|
|
|
2020-04-25 23:02:46 +08:00
|
|
|
|
/**
|
|
|
|
|
* 对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;
|
|
|
|
|
},
|
|
|
|
|
|
2020-04-25 22:59:04 +08:00
|
|
|
|
};
|