feat: 接入下载桌台码接口,代客下单代码调整

This commit is contained in:
2025-02-26 14:09:04 +08:00
parent 98403f2acc
commit 2ee461a50f
15 changed files with 673 additions and 62 deletions

View File

@@ -56,3 +56,63 @@ export function formatGrowthRate(growthRate: number) {
.replace(/\.?0+$/, "");
return formattedRate + "%";
}
/**
* Parse the time to string
* @param {(Object|string|number)} time
* @param {string} cFormat
* @returns {string}
*/
export function parseTime(time: string | number | Date | null, cFormat: string | undefined) {
if (arguments.length === 0) {
return null;
}
const format = cFormat || "{y}-{m}-{d} {h}:{i}:{s}";
let date;
if (typeof time === "undefined" || time === null || time === "null") {
return "";
} else if (typeof time === "object") {
date = time;
} else {
if (typeof time === "string" && /^[0-9]+$/.test(time)) {
time = parseInt(time);
}
if (typeof time === "number" && time.toString().length === 10) {
time = time * 1000;
}
date = new Date(time);
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
};
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key: keyof typeof formatObj): string => {
let value = formatObj[key];
// Note: getDay() returns 0 on Sunday
if (key === "a") {
return ["日", "一", "二", "三", "四", "五", "六"][value];
}
if (result.length > 0 && value < 10) {
value = Number("0" + value.toString());
}
return value.toString() || "0";
});
return time_str;
}
// 下载文件
export function downloadFile(obj: BlobPart, name: string, suffix: string) {
const url = window.URL.createObjectURL(new Blob([obj]));
const link = document.createElement("a");
link.style.display = "none";
link.href = url;
const fileName = parseTime(new Date(), undefined) + "-" + name + "." + suffix;
link.setAttribute("download", fileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}