|
|
@@ -6,17 +6,39 @@ import {
|
|
|
//data: 日期对象或时间戳
|
|
|
//format: 格式化字符串,默认"YYYY-MM-DD hh:mm:ss"
|
|
|
export function formatDate(
|
|
|
- data = { date: null, timestamp: null },
|
|
|
+ data,
|
|
|
format = "YYYY-MM-DD hh:mm:ss"
|
|
|
) {
|
|
|
- if (!data?.date && !data?.timestamp) {
|
|
|
+ if (data === null || data === undefined) {
|
|
|
return ""
|
|
|
}
|
|
|
- let date = data?.date
|
|
|
+ let date = data
|
|
|
+ if (typeof data === 'object' && !(data instanceof Date)) {
|
|
|
+ if (data.date) {
|
|
|
+ date = data.date
|
|
|
+ } else if (data.timestamp) {
|
|
|
+ date = data.timestamp * 1000
|
|
|
+ } else if (Object.keys(data).length === 0) {
|
|
|
+ // empty object
|
|
|
+ return ""
|
|
|
+ }
|
|
|
+ // If object but no date/timestamp property found, and not a Date object,
|
|
|
+ // it might be intended as 'date' if it was structured differently,
|
|
|
+ // but based on previous code, it only looked for date/timestamp.
|
|
|
+ // However, if we want to support direct values, we assume 'date' holds the value
|
|
|
+ // extracted above.
|
|
|
+ // But wait, if data is { other: 1 }, date becomes { other: 1 }. new Date({other:1}) is Invalid Date usually.
|
|
|
+ }
|
|
|
+
|
|
|
if (!date) {
|
|
|
- date = data?.timestamp * 1000
|
|
|
+ return ""
|
|
|
}
|
|
|
+
|
|
|
const d = new Date(date);
|
|
|
+ if (isNaN(d.getTime())) {
|
|
|
+ return ""
|
|
|
+ }
|
|
|
+
|
|
|
const year = d.getFullYear();
|
|
|
const month = String(d.getMonth() + 1).padStart(2, "0");
|
|
|
const day = String(d.getDate()).padStart(2, "0");
|
|
|
@@ -39,22 +61,16 @@ export function getUid(len = 16) {
|
|
|
return (ts + rand).slice(0, len);
|
|
|
}
|
|
|
|
|
|
-let permissions = []
|
|
|
-
|
|
|
//判断是否有某个功能权限
|
|
|
export function hasFunction(key) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- if (permissions.length) {
|
|
|
- resolve(permissions.includes(key))
|
|
|
- return
|
|
|
- }
|
|
|
Request(
|
|
|
{
|
|
|
url: "/v1/api/basic/home/menu?type=3",
|
|
|
- method,
|
|
|
+ method: 'GET',
|
|
|
}
|
|
|
).then((res) => {
|
|
|
- permissions = res.data?.permissions || []
|
|
|
+ const permissions = res.data?.permissions || []
|
|
|
resolve(permissions.includes(key))
|
|
|
}).catch(err => {
|
|
|
reject(err)
|