min-project/utils/common.js
2024-12-12 12:14:09 +08:00

92 lines
2.6 KiB
JavaScript

'use strict'
function changeTime(date){
return [date.getFullYear(),date.getMonth() +1,date.getDate()].map(function(item){return item > 9 ? item :'0' + item}).join('-');
}
function changeTimeMD(date) {
return [date.getMonth() + 1, date.getDate()].join('.');
}
function changeTimeDate(date) {
let now = new Date();
let yesterDay = new Date(now.getTime() - 24 * 60 * 60 * 1000);
if (changeTime(now) === changeTime(date)){
return '今日 ' + [changeNum(date.getHours()), changeNum(date.getMinutes())].join(':');
} else if (changeTime(yesterDay) === changeTime(date)){
return '昨日 ' + [changeNum(date.getHours()), changeNum(date.getMinutes())].join(':');
}
return [date.getMonth() + 1, date.getDate()].join('月') + ' ' + [changeNum(date.getHours()), changeNum(date.getMinutes())].join(':');
}
function changeTimeHoursAgo(date){
let now = new Date();
let yesterDay = new Date(now.getTime() - 24 * 60 * 60 * 1000);
if (changeTime(now) === changeTime(date)) {
// 计算是此刻之前几个小时
let h = Math.floor((now.getTime() - date.getTime()) / (1000 * 60 * 60));
if (h == 0) {
return Math.floor((now.getTime() - date.getTime()) / (1000 * 60)) + '分钟前';
}
return h + '小时前';
} else if (changeTime(yesterDay) === changeTime(date)) {
return '昨天';
} else if (now.getFullYear() == date.getFullYear()){
return [date.getMonth() + 1, date.getDate()].join('月');
}
return [date.getFullYear(),date.getMonth() + 1, date.getDate()].join('.');
}
function changeNum(num){
return num >9 ? num : '0' + num
}
// 计算元素宽高
function caculateQueryHeight(className){
return new Promise((resolve,reject)=>{
const query = wx.createSelectorQuery();
query.select('.' + className).boundingClientRect(function (rect) {
console.log(rect)
resolve({
width: rect.width,
height: rect.height,
left: rect.left,
right: rect.right,
top: rect.top,
bottom: rect.bottom
})
}).exec();
})
}
function confirmAlert(tips,title){
return new Promise((resolve,reject)=>{
wx.showModal({
title: title || '提示',
content: tips,
cancelColor: '#999999',
confirmColor: '#62C4A3',
success: function (info) {
if (info.confirm) {
resolve(info)
}else{
reject()
}
}
})
})
}
function showToast(title){
wx.showToast({
title: title,
icon: 'none',
duration: 2000,
mask: true
})
}
module.exports = {
changeTime,
changeTimeMD,
changeTimeDate,
caculateQueryHeight,
confirmAlert,
changeNum,
changeTimeHoursAgo,
showToast
}