新增营销系统、分销系统、会员功能、门店、提现功能
This commit is contained in:
102
utils/utils.js
102
utils/utils.js
@ -16,19 +16,19 @@ export function formatDate(date, format) {
|
||||
}
|
||||
|
||||
export function formatRemainTime(time) {
|
||||
let remainTimeStr=''
|
||||
let remainTimeStr = ''
|
||||
const seconds = Math.floor(time / 1000)
|
||||
const days = Math.floor(seconds / (3600 * 24))
|
||||
const hours = Math.floor((seconds % (3600 * 24)) / 3600)
|
||||
// const minutes = Math.floor((seconds % 3600) / 60)
|
||||
// const remainingSeconds = seconds % 60
|
||||
if(days>0){
|
||||
remainTimeStr += `${days}天`
|
||||
if (days > 0) {
|
||||
remainTimeStr += `${ days }天`
|
||||
}
|
||||
if(hours>0){
|
||||
remainTimeStr += `${hours}小时`
|
||||
if (hours > 0) {
|
||||
remainTimeStr += `${ hours }小时`
|
||||
}
|
||||
return `还剩${remainTimeStr}自动确认`
|
||||
return `还剩${ remainTimeStr }自动确认`
|
||||
}
|
||||
|
||||
/**
|
||||
@ -171,3 +171,93 @@ export function hasNetWork() {
|
||||
export function getRandom(min, max) {
|
||||
return (Math.random() * (max - min) + min).toFixed(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算未来时间距离当前时间的时间对象
|
||||
* @param futureTime 未来时间的时间戳(毫秒)
|
||||
*/
|
||||
export function getTimeAfterNow(futureTime) {
|
||||
const nowTime = Date.now()
|
||||
const timeDiff = futureTime - nowTime // 时间差
|
||||
if (timeDiff <= 0) {
|
||||
return {
|
||||
days: '00',
|
||||
hours: '00',
|
||||
minutes: '00',
|
||||
seconds: '00'
|
||||
}
|
||||
}
|
||||
let hours = Math.floor((timeDiff) / (1000 * 60 * 60));
|
||||
let minutes = Math.floor((timeDiff % (1000 * 60 * 60)) / (1000 * 60));
|
||||
let seconds = Math.floor((timeDiff % (1000 * 60)) / 1000);
|
||||
return {
|
||||
hours: hours.toString().padStart(2, '0'),
|
||||
minutes: minutes.toString().padStart(2, '0'),
|
||||
seconds: seconds.toString().padStart(2, '0')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成本周的日历
|
||||
* @return {Date[]}
|
||||
*/
|
||||
export function generationWeek() {
|
||||
const MillisecondsOfTheDay = 24 * 60 * 60 * 1000 // 一天的毫秒数
|
||||
let today = new Date();
|
||||
let dayOfTheWeek = today.getDay(); // 当前天在本周的位置
|
||||
let calendar = []
|
||||
let startOfWeek = new Date(today - (dayOfTheWeek * MillisecondsOfTheDay) + MillisecondsOfTheDay); // 本周开始的位置
|
||||
for (let i = 0; i < 7; i++) {
|
||||
let day = new Date(startOfWeek.getTime() + i * MillisecondsOfTheDay);
|
||||
calendar.push(day)
|
||||
}
|
||||
return calendar
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @description: 对象转query串
|
||||
* @param {*} obj
|
||||
* @param {*} noFilterEmpty 默认false 去除空值再拼接字符串
|
||||
* @return {*}
|
||||
*/
|
||||
export const getQueryString = (obj, noFilterEmpty = false) => {
|
||||
if (!obj) return '';
|
||||
|
||||
let newObj = {...obj};
|
||||
if (!noFilterEmpty) {
|
||||
newObj = filterParams(newObj)
|
||||
}
|
||||
return new URLSearchParams(Object.entries(newObj)).toString()
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: query串转对象
|
||||
* 支持小程序
|
||||
* @param query
|
||||
*/
|
||||
export const getUrlQuery = (query) => {
|
||||
if (!query) return
|
||||
if (query.indexOf("?") > 0) {
|
||||
query = query.split("?").at(-1) // 选取?后面的
|
||||
}
|
||||
const queryList = query.split("&").map(item => item.split("="))
|
||||
const entries = new Map(queryList);
|
||||
return Object.fromEntries(entries);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 去除对象中的空值
|
||||
* @param {*} obj
|
||||
* @return {*}
|
||||
*/
|
||||
export const filterParams = (obj) => {
|
||||
let newObj = {};
|
||||
for (const key in obj) {
|
||||
//如果对象属性的值不为空,就保存该属性(如果属性的值为0 false,保存该属性。如果属性的值全部是空格,属于为空。)
|
||||
if ((obj[key] === 0 || obj[key] === false || obj[key]) && obj[key].toString().replace(/(^\s*)|(\s*$)/g, '') !== '') {
|
||||
newObj[key] = obj[key];
|
||||
}
|
||||
}
|
||||
return newObj;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user