Compare commits
2 Commits
2b11631b39
...
ecdb34ce95
Author | SHA1 | Date |
---|---|---|
|
ecdb34ce95 | |
|
b1e6814b31 |
|
@ -33,6 +33,7 @@ export const buildEnv = (): BuildOptions => {
|
|||
rollupOptions: {
|
||||
external: ['md-editor-v3', 'echarts'],
|
||||
input: {
|
||||
// @ts-ignore
|
||||
index: pathResolve('../index.html', import.meta.url),
|
||||
},
|
||||
// 静态资源分类打包
|
||||
|
|
12
build/css.ts
12
build/css.ts
|
@ -1,26 +1,26 @@
|
|||
import type { AcceptedPlugin } from 'postcss';
|
||||
import postCssPxToViewport8plugin from 'postcss-px-to-viewport-8-plugin';
|
||||
import type { CSSOptions, Plugin } from 'vite';
|
||||
import type { CSSOptions } from 'vite';
|
||||
|
||||
import { wrapperEnv } from './utils';
|
||||
|
||||
export const css = (mode): CSSOptions => {
|
||||
const plugins: Plugin[] = [usePostCssPxToViewport8plugin(mode)];
|
||||
export const css = (mode: string): CSSOptions => {
|
||||
const plugins: AcceptedPlugin[] = [usePostCssPxToViewport8plugin(mode)];
|
||||
|
||||
return {
|
||||
preprocessorOptions: {
|
||||
scss: {
|
||||
additionalData: `@use "@/assets/styles/minix/sidebar" as *;`,
|
||||
api: 'modern-compiler',
|
||||
},
|
||||
},
|
||||
postcss: {
|
||||
plugins: plugins.filter(Boolean),
|
||||
},
|
||||
} as CSSOptions;
|
||||
};
|
||||
};
|
||||
|
||||
/** 是否启用px转换vw插件 */
|
||||
const usePostCssPxToViewport8plugin = (mode): Plugin => {
|
||||
const usePostCssPxToViewport8plugin = (mode: string): AcceptedPlugin => {
|
||||
const { VITE_POST_CSS_PX_TO_VIEWPORT8_PLUGIN } = wrapperEnv(mode, 'VITE');
|
||||
|
||||
const cssPxToVw = postCssPxToViewport8plugin({
|
||||
|
|
|
@ -3,7 +3,7 @@ import dayjs, { type Dayjs } from 'dayjs';
|
|||
import duration from 'dayjs/plugin/duration';
|
||||
import gradientString from 'gradient-string';
|
||||
|
||||
import { wrapperEnv } from './utils';
|
||||
import { logOutputSize, wrapperEnv } from './utils';
|
||||
|
||||
dayjs.extend(duration);
|
||||
|
||||
|
@ -17,13 +17,12 @@ const boxenOptions: BoxenOptions = {
|
|||
/* 输出日志信息 */
|
||||
const printLogMessage = (VITE_PORT: number) => {
|
||||
return gradientString('cyan', 'magenta').multiline(
|
||||
`保存成功!服务器重新启动...
|
||||
项目访问地址如下:
|
||||
`欢迎使用此项目,项目访问地址如下:
|
||||
http://localhost:${VITE_PORT}`
|
||||
);
|
||||
};
|
||||
|
||||
export const viteConsoleLog = (mode) => {
|
||||
export const viteConsoleLog = (mode: string) => {
|
||||
const { VITE_PORT } = wrapperEnv(mode);
|
||||
|
||||
let config: { command: string };
|
||||
|
@ -44,9 +43,12 @@ export const viteConsoleLog = (mode) => {
|
|||
if (config.command === 'build') {
|
||||
endTime = dayjs(new Date());
|
||||
const format = dayjs.duration(endTime.diff(startTime)).format('mm分ss秒');
|
||||
|
||||
console.log(
|
||||
boxen(
|
||||
gradientString('cyan', 'magenta').multiline(`🎉 恭喜打包完成(总用时${format})`),
|
||||
gradientString('cyan', 'magenta').multiline(
|
||||
`🎉 恭喜打包完成(总用时${format})打包大小(${logOutputSize()})`
|
||||
),
|
||||
boxenOptions
|
||||
)
|
||||
);
|
||||
|
|
|
@ -9,6 +9,6 @@ const include = ['vue', 'vue-router', 'dayjs', 'axios', 'pinia', 'vue-types', 'j
|
|||
/**
|
||||
* 在预构建中强制排除的依赖项
|
||||
*/
|
||||
const exclude = [];
|
||||
const exclude: string[] = [];
|
||||
|
||||
export { include, exclude };
|
||||
|
|
|
@ -4,6 +4,7 @@ import vueJsx from '@vitejs/plugin-vue-jsx';
|
|||
import { presetIcons } from 'unocss';
|
||||
import UnoCSS from 'unocss/vite';
|
||||
import type { PluginOption } from 'vite';
|
||||
// @ts-ignore
|
||||
import { vitePluginFakeServer } from 'vite-plugin-fake-server';
|
||||
import removeConsole from 'vite-plugin-remove-console';
|
||||
import Inspector from 'vite-plugin-vue-inspector';
|
||||
|
@ -12,7 +13,7 @@ import { useCDN } from './cdn';
|
|||
import { viteConsoleLog } from './info';
|
||||
import { compressPack, report, wrapperEnv } from './utils';
|
||||
|
||||
export const plugins = (mode): PluginOption[] => {
|
||||
export const plugins = (mode: string): PluginOption[] => {
|
||||
return [
|
||||
vue(),
|
||||
vueJsx(),
|
||||
|
@ -47,7 +48,7 @@ export const plugins = (mode): PluginOption[] => {
|
|||
};
|
||||
|
||||
/** MOCK 服务 */
|
||||
const useMock = (mode) => {
|
||||
const useMock = (mode: string) => {
|
||||
const { VITE_MOCK_DEV_SERVER } = wrapperEnv(mode);
|
||||
|
||||
return VITE_MOCK_DEV_SERVER
|
||||
|
|
|
@ -4,7 +4,7 @@ export const resolve = () => {
|
|||
return {
|
||||
alias: {
|
||||
'@': pathResolve('../src'),
|
||||
'@build': pathResolve(),
|
||||
// '@build': pathResolve(),
|
||||
},
|
||||
};
|
||||
};
|
||||
|
|
|
@ -3,7 +3,7 @@ import type { ServerOptions } from 'vite';
|
|||
import { wrapperEnv } from './utils';
|
||||
|
||||
/* 开发服务配置 */
|
||||
export const server = (mode) => {
|
||||
export const server = (mode: string) => {
|
||||
const { VITE_PORT, VITE_APP_URL, VITE_STRICT_PORT } = wrapperEnv(mode);
|
||||
|
||||
const options: ServerOptions = {
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
import { dirname, resolve } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { visualizer } from 'rollup-plugin-visualizer';
|
||||
import { loadEnv } from 'vite';
|
||||
import viteCompression from 'vite-plugin-compression';
|
||||
|
||||
import { buildEnv } from './buildEnv';
|
||||
|
||||
export const root: string = process.cwd();
|
||||
|
||||
/**
|
||||
|
@ -12,6 +16,7 @@ export const root: string = process.cwd();
|
|||
* @param dir 路径片段,默认`build`
|
||||
* @param metaUrl 模块的完整`url`,如果在`build`目录外调用必传`import.meta.url`
|
||||
*/
|
||||
// @ts-ignore
|
||||
export const pathResolve = (dir = '.', metaUrl = import.meta.url) => {
|
||||
// 当前文件目录的绝对路径
|
||||
const currentFileDir = dirname(fileURLToPath(metaUrl));
|
||||
|
@ -34,18 +39,20 @@ export const pathResolve = (dir = '.', metaUrl = import.meta.url) => {
|
|||
* @param prefix 需要过滤的前缀
|
||||
* @link 参考:https://cn.vite.dev/config/#using-environment-variables-in-config
|
||||
*/
|
||||
export const wrapperEnv = (mode, prefix: string = ''): ViteEnv => {
|
||||
const env = loadEnv(mode, root, prefix);
|
||||
// @ts-ignore
|
||||
export const wrapperEnv = (mode: string, prefix: string = ''): ViteEnv => {
|
||||
const env: any = loadEnv(mode, root, prefix);
|
||||
|
||||
// 将变量转换指定类型
|
||||
for (const envName of Object.keys(env)) {
|
||||
let realName = env[envName].replace(/\\n/g, '\n');
|
||||
let realName: string | boolean | number = env[envName].replace(/\\n/g, '\n');
|
||||
realName = realName === 'true' ? true : realName === 'false' ? false : realName;
|
||||
|
||||
if (envName === 'VITE_PORT') {
|
||||
realName = Number(realName);
|
||||
}
|
||||
env[envName] = realName;
|
||||
// @ts-ignore
|
||||
process.env[envName] = realName;
|
||||
}
|
||||
return env;
|
||||
|
@ -60,8 +67,52 @@ export const report = () => {
|
|||
};
|
||||
|
||||
/* 启用gzip压缩 */
|
||||
export const compressPack = (mode) => {
|
||||
export const compressPack = (mode: string) => {
|
||||
const { VITE_COMPRESSION } = wrapperEnv(mode);
|
||||
|
||||
return VITE_COMPRESSION == 'gzip' ? viteCompression({ threshold: 1024000 }) : null;
|
||||
};
|
||||
|
||||
/**
|
||||
* 计算打包后文件夹大小
|
||||
* @returns
|
||||
*/
|
||||
export const logOutputSize = (): string => {
|
||||
const outDir = `../${buildEnv().outDir}`;
|
||||
|
||||
function convertSize(size: number) {
|
||||
const units: Array<string> = ['byte', 'KB', 'MB', 'GB'];
|
||||
|
||||
// 输入的单位是否存在
|
||||
let index = 0;
|
||||
|
||||
while (size >= 1024) {
|
||||
size /= 1024;
|
||||
index++;
|
||||
}
|
||||
|
||||
return `${size.toFixed(2)} ${units[index]}`;
|
||||
}
|
||||
|
||||
// 计算文件夹字节大小
|
||||
function getFolderSize(folderPath: string) {
|
||||
let size = 0;
|
||||
|
||||
fs.readdirSync(folderPath).forEach((fileName: string) => {
|
||||
const filePath = path.join(folderPath, fileName);
|
||||
const stats = fs.statSync(filePath);
|
||||
|
||||
if (stats.isFile()) {
|
||||
size += stats.size;
|
||||
} else if (stats.isDirectory()) {
|
||||
size += getFolderSize(filePath);
|
||||
}
|
||||
});
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
const folderSize = getFolderSize(path.resolve(__dirname, outDir));
|
||||
|
||||
return convertSize(folderSize);
|
||||
};
|
||||
|
|
|
@ -83,7 +83,7 @@ export default defineFlatConfig([
|
|||
rules: {
|
||||
...pluginTypeScript.configs.strict.rules,
|
||||
'@typescript-eslint/ban-types': 'off',
|
||||
'@typescript-eslint/no-redeclare': 'error',
|
||||
'@typescript-eslint/no-redeclare': 'off',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'@typescript-eslint/prefer-as-const': 'warn',
|
||||
|
|
|
@ -3,7 +3,7 @@ import { defineFakeRoute } from 'vite-plugin-fake-server/client';
|
|||
export default defineFakeRoute([
|
||||
{
|
||||
url: '/mock/users',
|
||||
methods: 'get',
|
||||
method: 'GET',
|
||||
response: () => ({
|
||||
code: 200,
|
||||
data: {
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@eslint/js": "^9.21.0",
|
||||
"@parcel/watcher": "^2.5.1",
|
||||
"@types/node": "^22.13.10",
|
||||
"@typescript-eslint/eslint-plugin": "^8.24.1",
|
||||
"@typescript-eslint/parser": "^8.24.1",
|
||||
"@unocss/preset-icons": "^66.0.0",
|
||||
|
@ -25,6 +27,7 @@
|
|||
"boxen": "^8.0.1",
|
||||
"dayjs": "^1.11.13",
|
||||
"echarts": "^5.6.0",
|
||||
"esbuild": "^0.25.1",
|
||||
"eslint": "^9.9.1",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-define-config": "^2.1.0",
|
||||
|
@ -36,6 +39,7 @@
|
|||
"nprogress": "^0.2.0",
|
||||
"pinia": "^2.3.1",
|
||||
"pinia-plugin-persistedstate": "^3.2.3",
|
||||
"postcss": "^8.5.3",
|
||||
"postcss-px-to-viewport-8-plugin": "^1.2.5",
|
||||
"prettier": "^3.3.3",
|
||||
"qs": "^6.14.0",
|
||||
|
@ -54,12 +58,15 @@
|
|||
"vite-plugin-remove-console": "^2.2.0",
|
||||
"vite-plugin-vue-inspector": "^5.3.1",
|
||||
"vue": "^3.5.13",
|
||||
"vue-demi": "^0.14.10",
|
||||
"vue-eslint-parser": "^9.4.3",
|
||||
"vue-router": "^4.4.3",
|
||||
"vue-types": "^6.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@iconify/json": "^2.2.310",
|
||||
"@types/nprogress": "^0.2.3",
|
||||
"@types/qs": "^6.9.18",
|
||||
"@vitejs/plugin-vue": "^5.2.1",
|
||||
"@vue/tsconfig": "^0.7.0",
|
||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||
|
|
367
pnpm-lock.yaml
367
pnpm-lock.yaml
|
@ -11,6 +11,12 @@ importers:
|
|||
'@eslint/js':
|
||||
specifier: ^9.21.0
|
||||
version: 9.21.0
|
||||
'@parcel/watcher':
|
||||
specifier: ^2.5.1
|
||||
version: 2.5.1
|
||||
'@types/node':
|
||||
specifier: ^22.13.10
|
||||
version: 22.13.10
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: ^8.24.1
|
||||
version: 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
|
||||
|
@ -25,7 +31,7 @@ importers:
|
|||
version: 66.0.0
|
||||
'@vitejs/plugin-vue-jsx':
|
||||
specifier: ^4.1.1
|
||||
version: 4.1.1(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
version: 4.1.1(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
'@vueuse/core':
|
||||
specifier: ^12.8.2
|
||||
version: 12.8.2(typescript@5.7.3)
|
||||
|
@ -47,6 +53,9 @@ importers:
|
|||
echarts:
|
||||
specifier: ^5.6.0
|
||||
version: 5.6.0
|
||||
esbuild:
|
||||
specifier: ^0.25.1
|
||||
version: 0.25.1
|
||||
eslint:
|
||||
specifier: ^9.9.1
|
||||
version: 9.21.0(jiti@2.4.2)
|
||||
|
@ -80,6 +89,9 @@ importers:
|
|||
pinia-plugin-persistedstate:
|
||||
specifier: ^3.2.3
|
||||
version: 3.2.3(pinia@2.3.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))
|
||||
postcss:
|
||||
specifier: ^8.5.3
|
||||
version: 8.5.3
|
||||
postcss-px-to-viewport-8-plugin:
|
||||
specifier: ^1.2.5
|
||||
version: 1.2.5
|
||||
|
@ -118,10 +130,10 @@ importers:
|
|||
version: 5.39.0
|
||||
unocss:
|
||||
specifier: ^66.0.0
|
||||
version: 66.0.0(postcss@8.5.3)(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
version: 66.0.0(postcss@8.5.3)(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
vite-plugin-cdn-import:
|
||||
specifier: ^1.0.1
|
||||
version: 1.0.1(rollup@4.34.8)(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))
|
||||
version: 1.0.1(rollup@4.34.8)(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))
|
||||
vite-plugin-fake-server:
|
||||
specifier: ^2.2.0
|
||||
version: 2.2.0
|
||||
|
@ -130,10 +142,13 @@ importers:
|
|||
version: 2.2.0
|
||||
vite-plugin-vue-inspector:
|
||||
specifier: ^5.3.1
|
||||
version: 5.3.1(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))
|
||||
version: 5.3.1(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))
|
||||
vue:
|
||||
specifier: ^3.5.13
|
||||
version: 3.5.13(typescript@5.7.3)
|
||||
vue-demi:
|
||||
specifier: ^0.14.10
|
||||
version: 0.14.10(vue@3.5.13(typescript@5.7.3))
|
||||
vue-eslint-parser:
|
||||
specifier: ^9.4.3
|
||||
version: 9.4.3(eslint@9.21.0(jiti@2.4.2))
|
||||
|
@ -147,9 +162,15 @@ importers:
|
|||
'@iconify/json':
|
||||
specifier: ^2.2.310
|
||||
version: 2.2.310
|
||||
'@types/nprogress':
|
||||
specifier: ^0.2.3
|
||||
version: 0.2.3
|
||||
'@types/qs':
|
||||
specifier: ^6.9.18
|
||||
version: 6.9.18
|
||||
'@vitejs/plugin-vue':
|
||||
specifier: ^5.2.1
|
||||
version: 5.2.1(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
version: 5.2.1(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
'@vue/tsconfig':
|
||||
specifier: ^0.7.0
|
||||
version: 0.7.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))
|
||||
|
@ -161,10 +182,10 @@ importers:
|
|||
version: 5.7.3
|
||||
vite:
|
||||
specifier: ^6.1.0
|
||||
version: 6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
version: 6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vite-plugin-compression:
|
||||
specifier: ^0.5.1
|
||||
version: 0.5.1(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))
|
||||
version: 0.5.1(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))
|
||||
vue-tsc:
|
||||
specifier: ^2.2.0
|
||||
version: 2.2.4(typescript@5.7.3)
|
||||
|
@ -349,150 +370,300 @@ packages:
|
|||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.1':
|
||||
resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
||||
'@esbuild/android-arm64@0.24.2':
|
||||
resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm64@0.25.1':
|
||||
resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.24.2':
|
||||
resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.25.1':
|
||||
resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.24.2':
|
||||
resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.25.1':
|
||||
resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/darwin-arm64@0.24.2':
|
||||
resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.1':
|
||||
resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.24.2':
|
||||
resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.25.1':
|
||||
resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.24.2':
|
||||
resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.1':
|
||||
resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.24.2':
|
||||
resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.1':
|
||||
resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/linux-arm64@0.24.2':
|
||||
resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm64@0.25.1':
|
||||
resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.24.2':
|
||||
resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.25.1':
|
||||
resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.24.2':
|
||||
resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.25.1':
|
||||
resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.24.2':
|
||||
resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.25.1':
|
||||
resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.24.2':
|
||||
resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.1':
|
||||
resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.24.2':
|
||||
resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.1':
|
||||
resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.24.2':
|
||||
resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.1':
|
||||
resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.24.2':
|
||||
resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.25.1':
|
||||
resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.24.2':
|
||||
resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.25.1':
|
||||
resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/netbsd-arm64@0.24.2':
|
||||
resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.1':
|
||||
resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/netbsd-x64@0.24.2':
|
||||
resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.1':
|
||||
resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/openbsd-arm64@0.24.2':
|
||||
resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.1':
|
||||
resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.24.2':
|
||||
resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.1':
|
||||
resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/sunos-x64@0.24.2':
|
||||
resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
||||
'@esbuild/sunos-x64@0.25.1':
|
||||
resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
||||
'@esbuild/win32-arm64@0.24.2':
|
||||
resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-arm64@0.25.1':
|
||||
resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.24.2':
|
||||
resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.25.1':
|
||||
resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.24.2':
|
||||
resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.25.1':
|
||||
resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@eslint-community/eslint-utils@4.4.1':
|
||||
resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
|
@ -815,6 +986,15 @@ packages:
|
|||
'@types/json-schema@7.0.15':
|
||||
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
|
||||
|
||||
'@types/node@22.13.10':
|
||||
resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==}
|
||||
|
||||
'@types/nprogress@0.2.3':
|
||||
resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==}
|
||||
|
||||
'@types/qs@6.9.18':
|
||||
resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==}
|
||||
|
||||
'@types/tinycolor2@1.4.6':
|
||||
resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==}
|
||||
|
||||
|
@ -1388,6 +1568,11 @@ packages:
|
|||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
esbuild@0.25.1:
|
||||
resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
escalade@3.2.0:
|
||||
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -2441,6 +2626,9 @@ packages:
|
|||
unconfig@7.0.0:
|
||||
resolution: {integrity: sha512-G5CJSoG6ZTxgzCJblEfgpdRK2tos9+UdD2WtecDUVfImzQ0hFjwpH5RVvGMhP4pRpC9ML7NrC4qBsBl0Ttj35A==}
|
||||
|
||||
undici-types@6.20.0:
|
||||
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
|
||||
|
||||
universalify@2.0.1:
|
||||
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
|
@ -2873,78 +3061,153 @@ snapshots:
|
|||
'@esbuild/aix-ppc64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-arm64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-arm64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.24.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.25.1':
|
||||
optional: true
|
||||
|
||||
'@eslint-community/eslint-utils@4.4.1(eslint@9.21.0(jiti@2.4.2))':
|
||||
dependencies:
|
||||
eslint: 9.21.0(jiti@2.4.2)
|
||||
|
@ -3126,7 +3389,6 @@ snapshots:
|
|||
'@parcel/watcher-win32-arm64': 2.5.1
|
||||
'@parcel/watcher-win32-ia32': 2.5.1
|
||||
'@parcel/watcher-win32-x64': 2.5.1
|
||||
optional: true
|
||||
|
||||
'@pkgjs/parseargs@0.11.0':
|
||||
optional: true
|
||||
|
@ -3204,6 +3466,14 @@ snapshots:
|
|||
|
||||
'@types/json-schema@7.0.15': {}
|
||||
|
||||
'@types/node@22.13.10':
|
||||
dependencies:
|
||||
undici-types: 6.20.0
|
||||
|
||||
'@types/nprogress@0.2.3': {}
|
||||
|
||||
'@types/qs@6.9.18': {}
|
||||
|
||||
'@types/tinycolor2@1.4.6': {}
|
||||
|
||||
'@types/web-bluetooth@0.0.21': {}
|
||||
|
@ -3285,13 +3555,13 @@ snapshots:
|
|||
'@typescript-eslint/types': 8.24.1
|
||||
eslint-visitor-keys: 4.2.0
|
||||
|
||||
'@unocss/astro@66.0.0(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))':
|
||||
'@unocss/astro@66.0.0(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))':
|
||||
dependencies:
|
||||
'@unocss/core': 66.0.0
|
||||
'@unocss/reset': 66.0.0
|
||||
'@unocss/vite': 66.0.0(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
'@unocss/vite': 66.0.0(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
optionalDependencies:
|
||||
vite: 6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vite: 6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
transitivePeerDependencies:
|
||||
- vue
|
||||
|
||||
|
@ -3416,7 +3686,7 @@ snapshots:
|
|||
dependencies:
|
||||
'@unocss/core': 66.0.0
|
||||
|
||||
'@unocss/vite@66.0.0(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))':
|
||||
'@unocss/vite@66.0.0(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))':
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.3.0
|
||||
'@unocss/config': 66.0.0
|
||||
|
@ -3426,23 +3696,23 @@ snapshots:
|
|||
magic-string: 0.30.17
|
||||
tinyglobby: 0.2.12
|
||||
unplugin-utils: 0.2.4
|
||||
vite: 6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vite: 6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
transitivePeerDependencies:
|
||||
- vue
|
||||
|
||||
'@vitejs/plugin-vue-jsx@4.1.1(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))':
|
||||
'@vitejs/plugin-vue-jsx@4.1.1(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.9)
|
||||
'@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.9)
|
||||
vite: 6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vite: 6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vue: 3.5.13(typescript@5.7.3)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@vitejs/plugin-vue@5.2.1(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))':
|
||||
'@vitejs/plugin-vue@5.2.1(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))':
|
||||
dependencies:
|
||||
vite: 6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vite: 6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vue: 3.5.13(typescript@5.7.3)
|
||||
|
||||
'@volar/language-core@2.4.11':
|
||||
|
@ -3819,8 +4089,7 @@ snapshots:
|
|||
|
||||
destr@2.0.3: {}
|
||||
|
||||
detect-libc@1.0.3:
|
||||
optional: true
|
||||
detect-libc@1.0.3: {}
|
||||
|
||||
dir-glob@3.0.1:
|
||||
dependencies:
|
||||
|
@ -3920,6 +4189,34 @@ snapshots:
|
|||
'@esbuild/win32-ia32': 0.24.2
|
||||
'@esbuild/win32-x64': 0.24.2
|
||||
|
||||
esbuild@0.25.1:
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.25.1
|
||||
'@esbuild/android-arm': 0.25.1
|
||||
'@esbuild/android-arm64': 0.25.1
|
||||
'@esbuild/android-x64': 0.25.1
|
||||
'@esbuild/darwin-arm64': 0.25.1
|
||||
'@esbuild/darwin-x64': 0.25.1
|
||||
'@esbuild/freebsd-arm64': 0.25.1
|
||||
'@esbuild/freebsd-x64': 0.25.1
|
||||
'@esbuild/linux-arm': 0.25.1
|
||||
'@esbuild/linux-arm64': 0.25.1
|
||||
'@esbuild/linux-ia32': 0.25.1
|
||||
'@esbuild/linux-loong64': 0.25.1
|
||||
'@esbuild/linux-mips64el': 0.25.1
|
||||
'@esbuild/linux-ppc64': 0.25.1
|
||||
'@esbuild/linux-riscv64': 0.25.1
|
||||
'@esbuild/linux-s390x': 0.25.1
|
||||
'@esbuild/linux-x64': 0.25.1
|
||||
'@esbuild/netbsd-arm64': 0.25.1
|
||||
'@esbuild/netbsd-x64': 0.25.1
|
||||
'@esbuild/openbsd-arm64': 0.25.1
|
||||
'@esbuild/openbsd-x64': 0.25.1
|
||||
'@esbuild/sunos-x64': 0.25.1
|
||||
'@esbuild/win32-arm64': 0.25.1
|
||||
'@esbuild/win32-ia32': 0.25.1
|
||||
'@esbuild/win32-x64': 0.25.1
|
||||
|
||||
escalade@3.2.0: {}
|
||||
|
||||
escape-string-regexp@4.0.0: {}
|
||||
|
@ -4435,8 +4732,7 @@ snapshots:
|
|||
|
||||
natural-compare@1.4.0: {}
|
||||
|
||||
node-addon-api@7.1.1:
|
||||
optional: true
|
||||
node-addon-api@7.1.1: {}
|
||||
|
||||
node-fetch-native@1.6.6: {}
|
||||
|
||||
|
@ -4972,11 +5268,13 @@ snapshots:
|
|||
defu: 6.1.4
|
||||
jiti: 2.4.2
|
||||
|
||||
undici-types@6.20.0: {}
|
||||
|
||||
universalify@2.0.1: {}
|
||||
|
||||
unocss@66.0.0(postcss@8.5.3)(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3)):
|
||||
unocss@66.0.0(postcss@8.5.3)(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3)):
|
||||
dependencies:
|
||||
'@unocss/astro': 66.0.0(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
'@unocss/astro': 66.0.0(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
'@unocss/cli': 66.0.0
|
||||
'@unocss/core': 66.0.0
|
||||
'@unocss/postcss': 66.0.0(postcss@8.5.3)
|
||||
|
@ -4993,9 +5291,9 @@ snapshots:
|
|||
'@unocss/transformer-compile-class': 66.0.0
|
||||
'@unocss/transformer-directives': 66.0.0
|
||||
'@unocss/transformer-variant-group': 66.0.0
|
||||
'@unocss/vite': 66.0.0(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
'@unocss/vite': 66.0.0(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3))
|
||||
optionalDependencies:
|
||||
vite: 6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vite: 6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
transitivePeerDependencies:
|
||||
- postcss
|
||||
- supports-color
|
||||
|
@ -5018,30 +5316,30 @@ snapshots:
|
|||
|
||||
util-deprecate@1.0.2: {}
|
||||
|
||||
vite-plugin-cdn-import@1.0.1(rollup@4.34.8)(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)):
|
||||
vite-plugin-cdn-import@1.0.1(rollup@4.34.8)(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)):
|
||||
dependencies:
|
||||
rollup-plugin-external-globals: 0.10.0(rollup@4.34.8)
|
||||
vite-plugin-externals: 0.6.2(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))
|
||||
vite-plugin-externals: 0.6.2(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0))
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vite
|
||||
|
||||
vite-plugin-compression@0.5.1(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)):
|
||||
vite-plugin-compression@0.5.1(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)):
|
||||
dependencies:
|
||||
chalk: 4.1.2
|
||||
debug: 4.4.0
|
||||
fs-extra: 10.1.0
|
||||
vite: 6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vite: 6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
vite-plugin-externals@0.6.2(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)):
|
||||
vite-plugin-externals@0.6.2(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)):
|
||||
dependencies:
|
||||
acorn: 8.14.0
|
||||
es-module-lexer: 0.4.1
|
||||
fs-extra: 10.1.0
|
||||
magic-string: 0.25.9
|
||||
vite: 6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vite: 6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
|
||||
vite-plugin-fake-server@2.2.0:
|
||||
dependencies:
|
||||
|
@ -5053,7 +5351,7 @@ snapshots:
|
|||
|
||||
vite-plugin-remove-console@2.2.0: {}
|
||||
|
||||
vite-plugin-vue-inspector@5.3.1(vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)):
|
||||
vite-plugin-vue-inspector@5.3.1(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)):
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.9)
|
||||
|
@ -5064,16 +5362,17 @@ snapshots:
|
|||
'@vue/compiler-dom': 3.5.13
|
||||
kolorist: 1.8.0
|
||||
magic-string: 0.30.17
|
||||
vite: 6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
vite: 6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
vite@6.1.1(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0):
|
||||
vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(sass@1.85.0)(terser@5.39.0):
|
||||
dependencies:
|
||||
esbuild: 0.24.2
|
||||
postcss: 8.5.3
|
||||
rollup: 4.34.8
|
||||
optionalDependencies:
|
||||
'@types/node': 22.13.10
|
||||
fsevents: 2.3.3
|
||||
jiti: 2.4.2
|
||||
sass: 1.85.0
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
</router-view>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
<style lang="scss">
|
||||
#app {
|
||||
width: 100%;
|
||||
//height: 100%;
|
||||
height: 1080px;
|
||||
//height: 100%;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -44,7 +44,7 @@ service.interceptors.response.use(
|
|||
}
|
||||
|
||||
// ElMessage.error(msg || '系统出错');
|
||||
return Promise.reject(msg || 'Error');
|
||||
return Promise.reject(response.data.message || 'Error');
|
||||
},
|
||||
(error: any) => {
|
||||
// 异常处理
|
||||
|
|
|
@ -44,7 +44,7 @@ service.interceptors.response.use(
|
|||
}
|
||||
|
||||
// ElMessage.error(msg || '系统出错');
|
||||
return Promise.reject(msg || 'Error');
|
||||
return Promise.reject(response.data.message || 'Error');
|
||||
},
|
||||
(error: any) => {
|
||||
// 异常处理
|
||||
|
|
|
@ -2,7 +2,7 @@ import 'animate.css';
|
|||
import '@unocss/reset/tailwind-compat.css';
|
||||
import 'uno.css';
|
||||
import 'virtual:unocss-devtools';
|
||||
import '@/assets/styles/global.scss';
|
||||
import './assets/styles/global.scss';
|
||||
|
||||
import { createApp } from 'vue';
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import error from '@/router/modules/error';
|
|||
import remaining from '@/router/modules/remaining';
|
||||
|
||||
// 静态路由
|
||||
const routes: RouteRecordRaw[] = [...remaining, ...error];
|
||||
const routes: RouteRecordRaw[] = [...remaining, ...error] as RouteRecordRaw[];
|
||||
const router = createRouter({
|
||||
history: createWebHashHistory(),
|
||||
routes,
|
||||
|
|
|
@ -2,8 +2,9 @@ import type { RouteRecordRaw } from 'vue-router';
|
|||
|
||||
import Layout from '@/layout/index.vue';
|
||||
import home from '@/router/modules/home';
|
||||
import type { RouteConfigsTable } from '@/types/router/Route';
|
||||
|
||||
const routes: RouteRecordRaw[] = [
|
||||
const routes: RouteRecordRaw[] | RouteConfigsTable[] = [
|
||||
{
|
||||
path: '/',
|
||||
name: 'layout',
|
||||
|
|
|
@ -10,7 +10,7 @@ const useAppStore = defineStore('appStore', {
|
|||
},
|
||||
getters: {},
|
||||
actions: {
|
||||
setBackground(background) {
|
||||
setBackground(background: string) {
|
||||
if (isCSSColor(background)) {
|
||||
this.background = background;
|
||||
} else if (isPath(background)) {
|
||||
|
|
|
@ -3,7 +3,7 @@ import { defineStore } from 'pinia';
|
|||
import { user } from '@/api/test';
|
||||
|
||||
/** 用户信息 */
|
||||
const useUserStore = defineStore('userStore', {
|
||||
export const useUserStore = defineStore('userStore', {
|
||||
state() {
|
||||
return {
|
||||
userinfo: {},
|
||||
|
@ -19,5 +19,3 @@ const useUserStore = defineStore('userStore', {
|
|||
},
|
||||
},
|
||||
});
|
||||
|
||||
export { useUserStore };
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
declare global {
|
||||
/* 环境便配置 */
|
||||
declare interface ViteEnv {
|
||||
export declare interface ViteEnv {
|
||||
VITE_APP_TITLE: string;
|
||||
VITE_PORT: number;
|
||||
VITE_PUBLIC_PATH: string;
|
||||
|
|
|
@ -4,15 +4,16 @@ import type { RouteComponent } from 'vue-router';
|
|||
* @description 完整子路由的`meta`配置表
|
||||
*/
|
||||
interface CustomizeRouteMeta {
|
||||
title: string;
|
||||
subtitle: string;
|
||||
transition: string;
|
||||
title?: string;
|
||||
subtitle?: string;
|
||||
transition?: string;
|
||||
hidden?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 整体路由配置表(包括完整子路由)
|
||||
*/
|
||||
interface RouteConfigsTable {
|
||||
export interface RouteConfigsTable {
|
||||
/** 路由地址 `必填` */
|
||||
path: string;
|
||||
/** 路由名字(保持唯一)`可选` */
|
||||
|
@ -25,5 +26,3 @@ interface RouteConfigsTable {
|
|||
/** 子路由配置项 */
|
||||
children?: Array<RouteConfigsTable>;
|
||||
}
|
||||
|
||||
export { RouteConfigsTable };
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
import { useEventListener } from '@vueuse/core';
|
||||
import type { EChartsType } from 'echarts';
|
||||
import { useDebounceFn, useEventListener } from '@vueuse/core';
|
||||
|
||||
import type echarts from '@/plugins/echarts';
|
||||
|
||||
/** 通用重置图表样式 */
|
||||
export const debounceChart = (myChart: EChartsType | undefined) => {
|
||||
useEventListener(window, 'resize', () => {
|
||||
export const debounceChart = (myChart: echarts.ECharts | undefined) => {
|
||||
const debounceFn = useDebounceFn(() => {
|
||||
myChart!.resize();
|
||||
});
|
||||
}, 500);
|
||||
|
||||
useEventListener(window, 'resize', debounceFn);
|
||||
};
|
||||
|
||||
/** 数字格式化 */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** 判断是否是CSS颜色 */
|
||||
function isCSSColor(str) {
|
||||
function isCSSColor(str: string) {
|
||||
// 匹配十六进制颜色(如 #fff, #ffffff)
|
||||
const hexColor = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
|
||||
|
||||
|
@ -16,7 +16,7 @@ function isCSSColor(str) {
|
|||
}
|
||||
|
||||
/** 判断是否是相对路径或绝对路径 */
|
||||
function isPath(str) {
|
||||
function isPath(str: string) {
|
||||
// 匹配相对路径(如 ./path, ../path, path/to/file)
|
||||
const relativePath = /^\.{0,2}\/[^\/].*$/;
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ option.value = {
|
|||
series: [
|
||||
{
|
||||
type: 'gauge',
|
||||
title: { fontSize: 14, color: '#fff', offsetCenter: ['0%', '14%'] },
|
||||
title: { fontSize: '0.7em', color: '#fff', offsetCenter: ['0%', '14%'] },
|
||||
startAngle: 90,
|
||||
endAngle: -270,
|
||||
pointer: { show: false },
|
||||
|
@ -36,23 +36,10 @@ option.value = {
|
|||
splitLine: { show: false, distance: 0, length: 10 },
|
||||
axisTick: { show: false },
|
||||
axisLabel: { show: false, distance: 50 },
|
||||
// data: [
|
||||
// {
|
||||
// value: 80,
|
||||
// name: '环比变化',
|
||||
// detail: { valueAnimation: true, offsetCenter: ['0%', '-20%'] },
|
||||
// itemStyle: {
|
||||
// color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
// { offset: 0, color: '#00CCD2' },
|
||||
// { offset: 1, color: '#00A2FF' },
|
||||
// ]),
|
||||
// },
|
||||
// },
|
||||
// ],
|
||||
detail: {
|
||||
width: 10,
|
||||
height: 50,
|
||||
fontSize: 14,
|
||||
width: 40,
|
||||
height: 40,
|
||||
fontSize: '0.8em',
|
||||
fontWeight: 0,
|
||||
color: '#fff',
|
||||
formatter: '+{value}%',
|
||||
|
@ -62,18 +49,15 @@ option.value = {
|
|||
};
|
||||
|
||||
/** 绘制图表 */
|
||||
export const renderEcharts: any = (
|
||||
myChart: Ref<EChartsType | undefined>,
|
||||
element: Ref<HTMLDivElement | undefined>
|
||||
) => {
|
||||
const renderEcharts: any = (myChart: Ref<echarts.ECharts>, element: Ref<HTMLDivElement>) => {
|
||||
myChart.value = echarts.init(element.value, null, {
|
||||
renderer: 'svg',
|
||||
devicePixelRatio: window.devicePixelRatio,
|
||||
}) as any;
|
||||
|
||||
debounceChart(myChart.value);
|
||||
});
|
||||
|
||||
myChart.value!.setOption(option.value!);
|
||||
|
||||
debounceChart(myChart.value);
|
||||
};
|
||||
|
||||
/* 封装组件 */
|
||||
|
@ -98,10 +82,11 @@ export const ChartProgress = defineComponent({
|
|||
);
|
||||
});
|
||||
|
||||
return () => <div ref={chart} class="progress"></div>;
|
||||
return () => <div ref={chart} className="progress"></div>;
|
||||
},
|
||||
});
|
||||
|
||||
/** 更新图标数据 */
|
||||
const updateChart = (myChart: Ref<EChartsType | undefined>, props: any) => {
|
||||
myChart.value?.setOption({
|
||||
series: [
|
||||
|
|
|
@ -41,14 +41,14 @@ onMounted(() => {
|
|||
{ title: '经营总收入', amount: randomNumber(9999999), percent: randomNumber() },
|
||||
{ title: '经营总收入', amount: randomNumber(9999999), percent: randomNumber() },
|
||||
];
|
||||
}, 1000);
|
||||
}, 2000);
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="big-data__sidebar-item h-[389px]">
|
||||
<div class="flex-x-between">
|
||||
<h1 class="big-data__sidebar-title">规模效益</h1>
|
||||
<h1 class="big-data__sidebar-title">本年经营收入</h1>
|
||||
<span class="big-data__sidebar-title-describe">截止时间至2021年6月</span>
|
||||
</div>
|
||||
|
||||
|
@ -84,8 +84,8 @@ li {
|
|||
position: absolute;
|
||||
top: -10px;
|
||||
right: -5px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
|
|
|
@ -9,7 +9,7 @@ import BigDataRight from '@/views/big-data/components/big-data-right/index.vue';
|
|||
const appStore = useAppStore();
|
||||
|
||||
onBeforeMount(async () => {
|
||||
appStore.setBackground('#04072F');
|
||||
appStore.setBackground('../assets/images/common/bg/bg-secondary.png');
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ option.value = {
|
|||
};
|
||||
|
||||
export const renderEcharts = (element: Ref<HTMLDivElement>) => {
|
||||
const myChart = echarts.init(element.value, null, {
|
||||
const myChart: any = echarts.init(element.value, null, {
|
||||
renderer: 'svg',
|
||||
devicePixelRatio: window.devicePixelRatio,
|
||||
});
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
margin: 30px 0 0 0;
|
||||
width: 761px;
|
||||
height: 407px;
|
||||
background: url('@/assets/images/business-supervision/bg/content/bg-middle.png ') no-repeat center;
|
||||
background: url('@/assets/images/business-supervision/bg/content/bg-middle.png') no-repeat center;
|
||||
background-size: cover;
|
||||
|
||||
li {
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
import 'echarts/lib/component/dataZoom';
|
||||
|
||||
import type { EChartsOption } from 'echarts';
|
||||
import { type Ref, ref } from 'vue';
|
||||
|
||||
import echarts from '@/plugins/echarts';
|
||||
import { debounceChart } from '@/utils/chart';
|
||||
|
||||
const option = ref<EChartsOption>();
|
||||
const option = ref<any>();
|
||||
option.value = {
|
||||
backgroundColor: 'transparent',
|
||||
grid: { right: 10, left: 10, bottom: 20 },
|
||||
|
@ -97,7 +96,7 @@ option.value = {
|
|||
};
|
||||
|
||||
export const renderEcharts = (element: Ref<HTMLDivElement>) => {
|
||||
const myChart = echarts.init(element.value, null, {
|
||||
const myChart: any = echarts.init(element.value, null, {
|
||||
renderer: 'svg',
|
||||
devicePixelRatio: window.devicePixelRatio,
|
||||
});
|
||||
|
|
|
@ -5,31 +5,66 @@ const router = useRouter();
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<ul class="welcome__content-list">
|
||||
<li @click="router.push('/smart-park')">
|
||||
<img alt="car" src="@/assets/images/welcome/icon/center/car.png" />
|
||||
<span>智慧停车</span>
|
||||
</li>
|
||||
<li>
|
||||
<img alt="distribution" src="@/assets/images/welcome/icon/center/distribution.png" />
|
||||
<span>智慧配送</span>
|
||||
</li>
|
||||
<li>
|
||||
<img alt="muck" src="@/assets/images/welcome/icon/center/muck.png" />
|
||||
<span>智慧渣土</span>
|
||||
</li>
|
||||
<li>
|
||||
<img alt="clean-city" src="@/assets/images/welcome/icon/center/clean-city.png" />
|
||||
<span>智慧洁城</span>
|
||||
</li>
|
||||
<li>
|
||||
<img alt="lamp" src="@/assets/images/welcome/icon/center/lamp.png" />
|
||||
<span>智慧路灯</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="welcome__content">
|
||||
<div class="welcome__content-inner">
|
||||
<p>
|
||||
<img alt="welcome-bg" src="@/assets/images/welcome/icon/welcome.png" />
|
||||
<i>xxxx</i>
|
||||
你好 欢迎使用xxxxxxxzz
|
||||
</p>
|
||||
</div>
|
||||
<ul class="welcome__content-list">
|
||||
<li @click="router.push('/smart-park')">
|
||||
<img alt="car" src="@/assets/images/welcome/icon/center/car.png" />
|
||||
<span>智慧停车</span>
|
||||
</li>
|
||||
<li>
|
||||
<img alt="distribution" src="@/assets/images/welcome/icon/center/distribution.png" />
|
||||
<span>智慧配送</span>
|
||||
</li>
|
||||
<li>
|
||||
<img alt="muck" src="@/assets/images/welcome/icon/center/muck.png" />
|
||||
<span>智慧渣土</span>
|
||||
</li>
|
||||
<li>
|
||||
<img alt="clean-city" src="@/assets/images/welcome/icon/center/clean-city.png" />
|
||||
<span>智慧洁城</span>
|
||||
</li>
|
||||
<li>
|
||||
<img alt="lamp" src="@/assets/images/welcome/icon/center/lamp.png" />
|
||||
<span>智慧路灯</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.welcome__content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
|
||||
&-inner {
|
||||
margin: 156px 0 0 0;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
|
||||
i {
|
||||
color: var(--color-primary-secondary);
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
width: 239px;
|
||||
height: 34px;
|
||||
}
|
||||
}
|
||||
|
||||
.welcome__content-list {
|
||||
display: flex;
|
||||
align-items: center;
|
|
@ -1,16 +0,0 @@
|
|||
<script lang="ts" setup>
|
||||
import ContentList from '@/views/welcome/components/welcome-content/content-list.vue';
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="flex-y-around">
|
||||
<div class="mt-[158px]">
|
||||
<p>
|
||||
<img alt="welcome-bg" src="@/assets/images/welcome/icon/welcome.png" />
|
||||
<i>xxxx</i>
|
||||
你好 欢迎使用xxxxxxxzz
|
||||
</p>
|
||||
</div>
|
||||
<content-list />
|
||||
</div>
|
||||
</template>
|
|
@ -1,5 +1,5 @@
|
|||
<script lang="ts" setup>
|
||||
import WelcomeContent from '@/views/welcome/components/welcome-content/index.vue';
|
||||
import WelcomeContent from '@/views/welcome/components/welcome-content.vue';
|
||||
import WelcomeFooter from '@/views/welcome/components/welcome-footer.vue';
|
||||
</script>
|
||||
|
||||
|
@ -16,27 +16,5 @@ import WelcomeFooter from '@/views/welcome/components/welcome-footer.vue';
|
|||
height: 100%;
|
||||
background: url('@/assets/images/welcome/bg/bg-particle.png') no-repeat center;
|
||||
background-size: cover;
|
||||
|
||||
&__content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
|
||||
p {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
|
||||
i {
|
||||
color: var(--color-primary-secondary);
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
width: 239px;
|
||||
height: 34px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,50 +1,49 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "esnext",
|
||||
"useDefineForClassFields": true,
|
||||
"module": "esnext",
|
||||
"moduleResolution": "node",
|
||||
"strict": true,
|
||||
"noLib": false,
|
||||
"sourceMap": true,
|
||||
"resolveJsonModule": true,
|
||||
"esModuleInterop": true,
|
||||
"lib": [
|
||||
"esnext",
|
||||
"dom"
|
||||
],
|
||||
"baseUrl": ".",
|
||||
"allowJs": true,
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"strict": false,
|
||||
"jsx": "preserve",
|
||||
"importHelpers": true,
|
||||
"experimentalDecorators": true,
|
||||
"strictFunctionTypes": false,
|
||||
"skipLibCheck": true,
|
||||
"esModuleInterop": true,
|
||||
"isolatedModules": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"jsx": "preserve",
|
||||
"jsxFactory": "h",
|
||||
"jsxImportSource": "vue",
|
||||
"jsxFragmentFactory": "Fragment",
|
||||
"sourceMap": true,
|
||||
"baseUrl": ".",
|
||||
"allowJs": false,
|
||||
"resolveJsonModule": true,
|
||||
"lib": [
|
||||
"ESNext",
|
||||
"DOM"
|
||||
],
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"src/*"
|
||||
]
|
||||
// "@build/*": [
|
||||
// "build/*"
|
||||
// ]
|
||||
},
|
||||
"types": [
|
||||
"vite/client",
|
||||
"unplugin-icons/types/vue",
|
||||
"element-plus/global"
|
||||
"node",
|
||||
"vite/client"
|
||||
]
|
||||
},
|
||||
"files": [],
|
||||
"include": [
|
||||
"mock/*.ts",
|
||||
"src/**/*.ts",
|
||||
"src/**/*.tsx",
|
||||
"src/**/*.vue",
|
||||
"src/types/*.d.ts",
|
||||
"vite.config.ts"
|
||||
"vite.config.ts",
|
||||
"src/**/*.d.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"dist",
|
||||
"**/*.js",
|
||||
"node_modules"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -10,7 +10,8 @@ import { server } from './build/server';
|
|||
import { root, wrapperEnv } from './build/utils';
|
||||
|
||||
// https://vite.dev/config/
|
||||
export default defineConfig(({ command, mode, isSsrBuild, isPreview }) => {
|
||||
// export default defineConfig(({ command, mode, isSsrBuild, isPreview }) => {
|
||||
export default defineConfig(({ mode }) => {
|
||||
const env = wrapperEnv(mode, 'VITE');
|
||||
|
||||
return {
|
||||
|
|
Loading…
Reference in New Issue