chore(frontend): 更新项目配置和依赖
- 更新 package-lock.json 依赖版本 - 优化 Vite、PostCSS、Tailwind 配置 - 更新入口 HTML 文件 - 更新 TypeScript 构建缓存
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<html lang="zh-CN">
|
<html lang="zh-CN">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
|
|||||||
1147
frontend/package-lock.json
generated
1147
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
plugins: {
|
plugins: {
|
||||||
tailwindcss: {},
|
tailwindcss: {},
|
||||||
autoprefixer: {},
|
autoprefixer: {}
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
export default {
|
export default {
|
||||||
content: [
|
content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}'],
|
||||||
"./index.html",
|
|
||||||
"./src/**/*.{vue,js,ts,jsx,tsx}",
|
|
||||||
],
|
|
||||||
darkMode: 'class',
|
darkMode: 'class',
|
||||||
theme: {
|
theme: {
|
||||||
extend: {
|
extend: {
|
||||||
@@ -20,7 +17,7 @@ export default {
|
|||||||
700: '#0f766e',
|
700: '#0f766e',
|
||||||
800: '#115e59',
|
800: '#115e59',
|
||||||
900: '#134e4a',
|
900: '#134e4a',
|
||||||
950: '#042f2e',
|
950: '#042f2e'
|
||||||
},
|
},
|
||||||
// 辅助色 - 深蓝灰
|
// 辅助色 - 深蓝灰
|
||||||
accent: {
|
accent: {
|
||||||
@@ -34,7 +31,7 @@ export default {
|
|||||||
700: '#334155',
|
700: '#334155',
|
||||||
800: '#1e293b',
|
800: '#1e293b',
|
||||||
900: '#0f172a',
|
900: '#0f172a',
|
||||||
950: '#020617',
|
950: '#020617'
|
||||||
},
|
},
|
||||||
// 深色模式背景
|
// 深色模式背景
|
||||||
dark: {
|
dark: {
|
||||||
@@ -48,8 +45,8 @@ export default {
|
|||||||
700: '#334155',
|
700: '#334155',
|
||||||
800: '#1e293b',
|
800: '#1e293b',
|
||||||
900: '#0f172a',
|
900: '#0f172a',
|
||||||
950: '#020617',
|
950: '#020617'
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
fontFamily: {
|
fontFamily: {
|
||||||
sans: [
|
sans: [
|
||||||
@@ -60,31 +57,27 @@ export default {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'Helvetica Neue',
|
'Helvetica Neue',
|
||||||
'Arial',
|
'Arial',
|
||||||
'sans-serif',
|
'sans-serif'
|
||||||
],
|
|
||||||
mono: [
|
|
||||||
'JetBrains Mono',
|
|
||||||
'Fira Code',
|
|
||||||
'Monaco',
|
|
||||||
'Consolas',
|
|
||||||
'monospace',
|
|
||||||
],
|
],
|
||||||
|
mono: ['JetBrains Mono', 'Fira Code', 'Monaco', 'Consolas', 'monospace']
|
||||||
},
|
},
|
||||||
boxShadow: {
|
boxShadow: {
|
||||||
'glass': '0 8px 32px rgba(0, 0, 0, 0.08)',
|
glass: '0 8px 32px rgba(0, 0, 0, 0.08)',
|
||||||
'glass-sm': '0 4px 16px rgba(0, 0, 0, 0.06)',
|
'glass-sm': '0 4px 16px rgba(0, 0, 0, 0.06)',
|
||||||
'glow': '0 0 20px rgba(20, 184, 166, 0.25)',
|
glow: '0 0 20px rgba(20, 184, 166, 0.25)',
|
||||||
'glow-lg': '0 0 40px rgba(20, 184, 166, 0.35)',
|
'glow-lg': '0 0 40px rgba(20, 184, 166, 0.35)',
|
||||||
'card': '0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06)',
|
card: '0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06)',
|
||||||
'card-hover': '0 10px 40px rgba(0, 0, 0, 0.08)',
|
'card-hover': '0 10px 40px rgba(0, 0, 0, 0.08)',
|
||||||
'inner-glow': 'inset 0 1px 0 rgba(255, 255, 255, 0.1)',
|
'inner-glow': 'inset 0 1px 0 rgba(255, 255, 255, 0.1)'
|
||||||
},
|
},
|
||||||
backgroundImage: {
|
backgroundImage: {
|
||||||
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
|
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
|
||||||
'gradient-primary': 'linear-gradient(135deg, #14b8a6 0%, #0d9488 100%)',
|
'gradient-primary': 'linear-gradient(135deg, #14b8a6 0%, #0d9488 100%)',
|
||||||
'gradient-dark': 'linear-gradient(135deg, #1e293b 0%, #0f172a 100%)',
|
'gradient-dark': 'linear-gradient(135deg, #1e293b 0%, #0f172a 100%)',
|
||||||
'gradient-glass': 'linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%)',
|
'gradient-glass':
|
||||||
'mesh-gradient': 'radial-gradient(at 40% 20%, rgba(20, 184, 166, 0.12) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(6, 182, 212, 0.08) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(20, 184, 166, 0.08) 0px, transparent 50%)',
|
'linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%)',
|
||||||
|
'mesh-gradient':
|
||||||
|
'radial-gradient(at 40% 20%, rgba(20, 184, 166, 0.12) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(6, 182, 212, 0.08) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(20, 184, 166, 0.08) 0px, transparent 50%)'
|
||||||
},
|
},
|
||||||
animation: {
|
animation: {
|
||||||
'fade-in': 'fadeIn 0.3s ease-out',
|
'fade-in': 'fadeIn 0.3s ease-out',
|
||||||
@@ -93,46 +86,46 @@ export default {
|
|||||||
'slide-in-right': 'slideInRight 0.3s ease-out',
|
'slide-in-right': 'slideInRight 0.3s ease-out',
|
||||||
'scale-in': 'scaleIn 0.2s ease-out',
|
'scale-in': 'scaleIn 0.2s ease-out',
|
||||||
'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
|
'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
|
||||||
'shimmer': 'shimmer 2s linear infinite',
|
shimmer: 'shimmer 2s linear infinite',
|
||||||
'glow': 'glow 2s ease-in-out infinite alternate',
|
glow: 'glow 2s ease-in-out infinite alternate'
|
||||||
},
|
},
|
||||||
keyframes: {
|
keyframes: {
|
||||||
fadeIn: {
|
fadeIn: {
|
||||||
'0%': { opacity: '0' },
|
'0%': { opacity: '0' },
|
||||||
'100%': { opacity: '1' },
|
'100%': { opacity: '1' }
|
||||||
},
|
},
|
||||||
slideUp: {
|
slideUp: {
|
||||||
'0%': { opacity: '0', transform: 'translateY(10px)' },
|
'0%': { opacity: '0', transform: 'translateY(10px)' },
|
||||||
'100%': { opacity: '1', transform: 'translateY(0)' },
|
'100%': { opacity: '1', transform: 'translateY(0)' }
|
||||||
},
|
},
|
||||||
slideDown: {
|
slideDown: {
|
||||||
'0%': { opacity: '0', transform: 'translateY(-10px)' },
|
'0%': { opacity: '0', transform: 'translateY(-10px)' },
|
||||||
'100%': { opacity: '1', transform: 'translateY(0)' },
|
'100%': { opacity: '1', transform: 'translateY(0)' }
|
||||||
},
|
},
|
||||||
slideInRight: {
|
slideInRight: {
|
||||||
'0%': { opacity: '0', transform: 'translateX(20px)' },
|
'0%': { opacity: '0', transform: 'translateX(20px)' },
|
||||||
'100%': { opacity: '1', transform: 'translateX(0)' },
|
'100%': { opacity: '1', transform: 'translateX(0)' }
|
||||||
},
|
},
|
||||||
scaleIn: {
|
scaleIn: {
|
||||||
'0%': { opacity: '0', transform: 'scale(0.95)' },
|
'0%': { opacity: '0', transform: 'scale(0.95)' },
|
||||||
'100%': { opacity: '1', transform: 'scale(1)' },
|
'100%': { opacity: '1', transform: 'scale(1)' }
|
||||||
},
|
},
|
||||||
shimmer: {
|
shimmer: {
|
||||||
'0%': { backgroundPosition: '-200% 0' },
|
'0%': { backgroundPosition: '-200% 0' },
|
||||||
'100%': { backgroundPosition: '200% 0' },
|
'100%': { backgroundPosition: '200% 0' }
|
||||||
},
|
},
|
||||||
glow: {
|
glow: {
|
||||||
'0%': { boxShadow: '0 0 20px rgba(20, 184, 166, 0.25)' },
|
'0%': { boxShadow: '0 0 20px rgba(20, 184, 166, 0.25)' },
|
||||||
'100%': { boxShadow: '0 0 30px rgba(20, 184, 166, 0.4)' },
|
'100%': { boxShadow: '0 0 30px rgba(20, 184, 166, 0.4)' }
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
backdropBlur: {
|
backdropBlur: {
|
||||||
xs: '2px',
|
xs: '2px'
|
||||||
},
|
},
|
||||||
borderRadius: {
|
borderRadius: {
|
||||||
'4xl': '2rem',
|
'4xl': '2rem'
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
plugins: [],
|
plugins: []
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
frontend/vite.config.d.ts
vendored
4
frontend/vite.config.d.ts
vendored
@@ -1,2 +1,2 @@
|
|||||||
declare const _default: import("vite").UserConfig;
|
declare const _default: import('vite').UserConfig
|
||||||
export default _default;
|
export default _default
|
||||||
|
|||||||
@@ -7,17 +7,17 @@ export default defineConfig({
|
|||||||
vue(),
|
vue(),
|
||||||
checker({
|
checker({
|
||||||
typescript: true,
|
typescript: true,
|
||||||
vueTsc: true,
|
vueTsc: true
|
||||||
}),
|
})
|
||||||
],
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': resolve(__dirname, 'src'),
|
'@': resolve(__dirname, 'src')
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
build: {
|
build: {
|
||||||
outDir: '../backend/internal/web/dist',
|
outDir: '../backend/internal/web/dist',
|
||||||
emptyOutDir: true,
|
emptyOutDir: true
|
||||||
},
|
},
|
||||||
server: {
|
server: {
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
@@ -25,12 +25,12 @@ export default defineConfig({
|
|||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'http://localhost:8080',
|
target: 'http://localhost:8080',
|
||||||
changeOrigin: true,
|
changeOrigin: true
|
||||||
},
|
},
|
||||||
'/setup': {
|
'/setup': {
|
||||||
target: 'http://localhost:8080',
|
target: 'http://localhost:8080',
|
||||||
changeOrigin: true,
|
changeOrigin: true
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -8,17 +8,17 @@ export default defineConfig({
|
|||||||
vue(),
|
vue(),
|
||||||
checker({
|
checker({
|
||||||
typescript: true,
|
typescript: true,
|
||||||
vueTsc: true,
|
vueTsc: true
|
||||||
}),
|
})
|
||||||
],
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': resolve(__dirname, 'src'),
|
'@': resolve(__dirname, 'src')
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
build: {
|
build: {
|
||||||
outDir: '../backend/internal/web/dist',
|
outDir: '../backend/internal/web/dist',
|
||||||
emptyOutDir: true,
|
emptyOutDir: true
|
||||||
},
|
},
|
||||||
server: {
|
server: {
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
@@ -26,12 +26,12 @@ export default defineConfig({
|
|||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'http://localhost:8080',
|
target: 'http://localhost:8080',
|
||||||
changeOrigin: true,
|
changeOrigin: true
|
||||||
},
|
},
|
||||||
'/setup': {
|
'/setup': {
|
||||||
target: 'http://localhost:8080',
|
target: 'http://localhost:8080',
|
||||||
changeOrigin: true,
|
changeOrigin: true
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user