167 lines
4.5 KiB
JavaScript
167 lines
4.5 KiB
JavaScript
import request from "@/utils/request";
|
||
import {
|
||
setStorageWithExpiry,
|
||
getStorageWithExpiry
|
||
} from './auth'
|
||
|
||
function getWXStatusHeight() {
|
||
// #ifdef MP-WEIXIN
|
||
// 获取距上
|
||
const barTop = wx.getSystemInfoSync().statusBarHeight
|
||
// 获取胶囊按钮位置信息
|
||
const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
|
||
// 获取导航栏高度
|
||
const barHeight = menuButtonInfo.height + (menuButtonInfo.top - barTop) * 2
|
||
let barWidth = menuButtonInfo.width
|
||
console.log('menuButtonInfo', menuButtonInfo)
|
||
let barLeftPosition = 375 - menuButtonInfo.right + menuButtonInfo.width
|
||
let menuButtonLeft = menuButtonInfo.left
|
||
let menuButtonRight = menuButtonInfo.right
|
||
return {
|
||
barHeight,
|
||
barTop,
|
||
barWidth,
|
||
barLeftPosition,
|
||
menuButtonLeft,
|
||
menuButtonRight
|
||
}
|
||
// #endif
|
||
}
|
||
|
||
export function formatDateTimeToMinute(timestamp) {
|
||
// 将时间戳转换为 Date 对象
|
||
const date = new Date(timestamp);
|
||
// 获取年月日时分
|
||
const year = date.getFullYear();
|
||
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
||
const day = date.getDate().toString().padStart(2, '0');
|
||
const hours = date.getHours().toString().padStart(2, '0');
|
||
const minutes = date.getMinutes().toString().padStart(2, '0');
|
||
// 组合成日期时间字符串(格式:yyyy-MM-dd hh:mm)
|
||
return `${year}-${month}-${day} ${hours}:${minutes}`;
|
||
}
|
||
|
||
export function formatDateChinese(timestamp) {
|
||
// 将时间戳转换为Date对象
|
||
const date = new Date(timestamp);
|
||
// 获取年月日时分秒
|
||
const year = date.getFullYear();
|
||
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
||
const day = date.getDate().toString().padStart(2, '0');
|
||
// 组合成日期时间字符串
|
||
return `${year}年${month}月${day}日`;
|
||
}
|
||
|
||
export function formatDate(timestamp) {
|
||
// 将时间戳转换为Date对象
|
||
const date = new Date(timestamp);
|
||
// 获取年月日时分秒
|
||
const year = date.getFullYear();
|
||
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
||
const day = date.getDate().toString().padStart(2, '0');
|
||
// 组合成日期时间字符串
|
||
return `${year}-${month}-${day}`;
|
||
}
|
||
|
||
/**
|
||
* 角色权限校验
|
||
* @param dictType 校验值
|
||
* @returns {Boolean}
|
||
*/
|
||
export async function ifHasRoleByDictType(dictType) {
|
||
const res = await request({
|
||
url: '/partnerOwn/partner/ifHasRole',
|
||
method: 'get',
|
||
params: {
|
||
dictType
|
||
}
|
||
});
|
||
return res.data;
|
||
}
|
||
|
||
export async function getDictDataByType(type) {
|
||
let data = getStorageWithExpiry(type);
|
||
if (data === null || data === undefined || data.length == 0) {
|
||
try {
|
||
const response = await request({
|
||
url: '/system/dict-data/type',
|
||
method: 'get',
|
||
params: {
|
||
type
|
||
}
|
||
});
|
||
data = response.data;
|
||
setStorageWithExpiry(type, data, 3600); // 存储数据并设置过期时间
|
||
} catch (error) {
|
||
console.error("请求字典数据时出现了异常:", error);
|
||
throw error; // 确保错误能够被外部捕获
|
||
}
|
||
}
|
||
return data;
|
||
}
|
||
|
||
export async function getDictDataById(id) {
|
||
let data = getStorageWithExpiry(id);
|
||
if (data === null || data === undefined || data.length == 0) {
|
||
try {
|
||
const response = await request({
|
||
url: '/system/dict-data/get',
|
||
method: 'get',
|
||
params: {
|
||
id
|
||
}
|
||
});
|
||
data = response.data;
|
||
setStorageWithExpiry(id, data, 3600); // 存储数据并设置过期时间
|
||
} catch (error) {
|
||
console.error("请求字典数据时出现了异常:", error);
|
||
throw error; // 确保错误能够被外部捕获
|
||
}
|
||
}
|
||
return data;
|
||
}
|
||
|
||
export function getDateRange(type) {
|
||
const now = new Date()
|
||
let start, end
|
||
|
||
if (type === 'week') {
|
||
// 获取本周的开始(周一)和结束(周日)
|
||
const day = now.getDay() || 7 // Sunday 为 0,设为 7
|
||
start = new Date(now)
|
||
start.setDate(now.getDate() - day + 1)
|
||
|
||
end = new Date(start)
|
||
end.setDate(start.getDate() + 6)
|
||
} else if (type === 'month') {
|
||
// 获取本月的开始和结束
|
||
start = new Date(now.getFullYear(), now.getMonth(), 1)
|
||
end = new Date(now.getFullYear(), now.getMonth() + 1, 0) // 本月最后一天
|
||
}else if (type === 'day') {
|
||
// 获取当天的开始和结束(00:00:00 到 23:59:59)
|
||
start = new Date(now)
|
||
start.setHours(0, 0, 0, 0)
|
||
|
||
end = new Date(now)
|
||
end.setHours(23, 59, 59, 999)
|
||
} else {
|
||
console.warn('不支持的类型:', type)
|
||
return []
|
||
}
|
||
|
||
return [
|
||
formatDateCus(start),
|
||
formatDateCus(end)
|
||
]
|
||
}
|
||
|
||
export function formatDateCus(date) {
|
||
const y = date.getFullYear()
|
||
const m = (date.getMonth() + 1).toString().padStart(2, '0')
|
||
const d = date.getDate().toString().padStart(2, '0')
|
||
return `${y}-${m}-${d}`
|
||
}
|
||
|
||
export {
|
||
getWXStatusHeight,
|
||
} |