162 lines
No EOL
4.2 KiB
JavaScript
162 lines
No EOL
4.2 KiB
JavaScript
import C from './constant.js';
|
||
export const getHost = () => {
|
||
return C.apiHost;
|
||
};
|
||
export const isDev = () => {
|
||
return true;
|
||
}
|
||
export const parseDate = (time, type = 1) => {
|
||
const val = [time.getFullYear(), time.getMonth() + 1, time.getDate()].map((o) => { return o < 10 ? '0' + o : o });
|
||
const val2 = [time.getHours(), time.getMinutes(), time.getSeconds()].map((o) => { return o < 10 ? '0' + o : o });
|
||
if (type === 1) {
|
||
return val.join('-');
|
||
}
|
||
if (type === 2) {
|
||
return val2.join(':');
|
||
}
|
||
if (type === 3) {
|
||
return [val[0], '年', val[1], '月', val[2], '日'].join('');
|
||
}
|
||
if (type === 4) {
|
||
return val[0] + '年';
|
||
}
|
||
if (type === 5) {
|
||
return [val[1], '月'].join('');
|
||
}
|
||
if (type === 6) {
|
||
return [val[1], '月', val[2], '日'].join('');
|
||
}
|
||
if (type === 7) {
|
||
return val.join('.');
|
||
}
|
||
return val.join('-') + ' ' + val2.join(':');
|
||
}
|
||
|
||
|
||
export const safeStrToDate = (str) => {
|
||
const arr = str.split(/[-\ \:]/g);
|
||
const arr2 = [0, 0, 0, 0, 0, 0];
|
||
arr.map((one, idx) => {
|
||
arr2[idx] = one * 1;
|
||
});
|
||
if (arr2[1] > 0) {
|
||
arr2[1] -= 1;
|
||
}
|
||
return new Date(arr2[0], arr2[1], arr2[2], arr2[3], arr2[4], arr2[5]);
|
||
}
|
||
|
||
export const sizeTool = (size) => {
|
||
if (size > 1024 * 1024 * 1024) {
|
||
return (size / 1024 / 1024 / 1024).toFixed(2) + 'G';
|
||
}
|
||
if (size > 1024 * 1024) {
|
||
return (size / 1024 / 1024).toFixed(2) + 'M';
|
||
}
|
||
if (size > 1024) {
|
||
return (size / 1024).toFixed(2) + 'K';
|
||
}
|
||
return size + 'B'
|
||
}
|
||
|
||
export const getQueryString = (params) => {
|
||
const list = [];
|
||
for (const k in params) {
|
||
if (!(params[k] == undefined || params[k] == null)) {
|
||
list.push([encodeURIComponent(k), encodeURIComponent(params[k])].join('='));
|
||
}
|
||
}
|
||
return list.join('&');
|
||
}
|
||
|
||
export const parseQueryString = (str) => {
|
||
const l = str.split('&');
|
||
const m = {};
|
||
l.forEach((o) => {
|
||
const _ = o.split('=');
|
||
m[decodeURIComponent(_[0])] = decodeURIComponent(_[1] || '');
|
||
})
|
||
return m;
|
||
}
|
||
|
||
export const filterProperties = (obj, propKeys) => {
|
||
if (propKeys.length == 0) {
|
||
return { ...obj };
|
||
}
|
||
const reObj = {};
|
||
propKeys.map((k) => {
|
||
reObj[k] = obj[k];
|
||
});
|
||
return reObj;
|
||
}
|
||
|
||
export const filterPropertiesList = (list, propKeys) => {
|
||
return list.map((obj => filterProperties(obj, propKeys)));
|
||
}
|
||
|
||
|
||
export const secToTimeStr = (n) => {
|
||
const h = Math.floor(n * 1.0 / 60 / 60);
|
||
const m = Math.floor((n - h * 60 * 60) / 60);
|
||
const s = n % 60;
|
||
return h + '时' + m + '分' + s + '秒';
|
||
}
|
||
|
||
export const dateToWeek = (date) => {
|
||
const arr = '日一二三四五六'.split('');
|
||
return arr[date.getDay()];
|
||
}
|
||
|
||
export const fixPage = (pageData, oldPage) => {
|
||
// console.log('fixPage', pageData.page, oldPage);
|
||
const { page, pageSize, total } = pageData;
|
||
if (total == 0) {
|
||
return {
|
||
...pageData,
|
||
page: 1, pageSize, total: 0
|
||
};
|
||
}
|
||
const maxPage = Math.ceil(total * 1.0 / pageSize);
|
||
if (oldPage > maxPage) {
|
||
return {
|
||
...pageData,
|
||
list: [],
|
||
page: oldPage, pageSize, total: 0
|
||
};
|
||
}
|
||
return {
|
||
...pageData,
|
||
page, pageSize, total
|
||
};
|
||
}
|
||
|
||
|
||
// 分转元,并移除小数点后多余的0
|
||
export const formatePrice = (price) => {
|
||
return (price / 100).toFixed(2).replace(/\.00$/, '')
|
||
}
|
||
// 时间(12:22)加上分钟后的时间
|
||
export const timeAddMinute = (time, minute) => {
|
||
const tmpTime = safeStrToDate('2020-01-01 ' + time + ':00').getTime() + minute * 60 * 1000;
|
||
return parseDate(new Date(tmpTime), 9);
|
||
}
|
||
|
||
// 手机号隐藏中间几位
|
||
export const hidePhone = (phone) => {
|
||
return (phone || '').replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
|
||
}
|
||
|
||
export const fix0 = (n) => {
|
||
if (!/[0-9\.]+/.test(n + '')) {
|
||
return 0;
|
||
}
|
||
const t = n + '';
|
||
if (n.indexOf('.') == -1) {
|
||
return t;
|
||
}
|
||
const tt = t.split('.');
|
||
const f0 = (tt[1].split('').reverse().join('') * 1 + '').split('').reverse().join('');
|
||
if (f0 == 0) {
|
||
return tt[0];
|
||
}
|
||
return [tt[0], f0].join('.');
|
||
} |