81 lines
2.5 KiB
JavaScript
81 lines
2.5 KiB
JavaScript
import default1 from '../../images/factory/default/1.png'
|
|
import default2 from '../../images/factory/default/2.png'
|
|
import default3 from '../../images/factory/default/3.png'
|
|
import default4 from '../../images/factory/default/4.png'
|
|
import default5 from '../../images/factory/default/5.png'
|
|
import default6 from '../../images/factory/default/6.png'
|
|
import default7 from '../../images/factory/default/7.png'
|
|
import default8 from '../../images/factory/default/8.png'
|
|
import { message } from 'antd'
|
|
import cookie from 'react-cookies';
|
|
|
|
export function formatNumber(num) {
|
|
if (num === undefined || num === null) return
|
|
if (num >= 1e9) {
|
|
return (num / 1e9).toFixed(1) + 'B'; // 十亿
|
|
} else if (num >= 1e6) {
|
|
return (num / 1e6).toFixed(1) + 'M'; // 百万
|
|
} else if (num >= 1e3) {
|
|
return (num / 1e3).toFixed(1) + 'K'; // 千
|
|
} else {
|
|
return num.toString(); // 小于 1000 的数字原样返回
|
|
}
|
|
}
|
|
export function formatNumberWithCommas(num) {
|
|
if (num === undefined || num === null) return
|
|
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
}
|
|
|
|
/**
|
|
* 下载
|
|
* @param url 下载地址
|
|
* @param name 下载名称
|
|
* @param msg 成功消息
|
|
*/
|
|
export const downloadFunc = (url, name) => {
|
|
// 检查用户是否登录
|
|
const login = cookie.load("login");
|
|
|
|
if (!login) {
|
|
message.info('请先登录后再下载')
|
|
return
|
|
}
|
|
|
|
const link = document.createElement('a')
|
|
link.href = url
|
|
link.download = name || 'download'
|
|
|
|
document.body.appendChild(link)
|
|
setTimeout(() => {
|
|
link.click()
|
|
|
|
if (url.startsWith('blob:')) {
|
|
URL.revokeObjectURL(url)
|
|
}
|
|
|
|
document.body.removeChild(link)
|
|
message.success('开始下载, 请稍后')
|
|
}, 50)
|
|
}
|
|
|
|
export const getDefaultImage = (id) => {
|
|
const defaultList = [default1, default2, default3, default4, default5, default6, default7, default8]
|
|
return defaultList[ id % 8 ]
|
|
}
|
|
|
|
// 判断前一个路由是否是本站地址
|
|
export const isPrevRouteSameSite = () => {
|
|
try {
|
|
// 获取当前域名
|
|
const currentHost = window.location.host;
|
|
// 获取前一个页面的 URL
|
|
const prevUrl = document.referrer || ""; // 获取 state 中的 URL
|
|
const prevHost = new URL(prevUrl).host; // 获取前一个页面的域名
|
|
// 判断前一个页面的域名是否与当前域名一致
|
|
return prevHost === currentHost;
|
|
} catch (error) {
|
|
// 如果解析失败,返回 false
|
|
console.error("无法判断前一个路由是否是本站地址", error);
|
|
return false;
|
|
}
|
|
}; |