chore(frontend): 更新项目配置和依赖

- 更新 package-lock.json 依赖版本
- 优化 Vite、PostCSS、Tailwind 配置
- 更新入口 HTML 文件
- 更新 TypeScript 构建缓存
This commit is contained in:
ianshaw
2025-12-25 08:42:02 -08:00
parent 01f990a5c9
commit cab681c7d1
8 changed files with 1203 additions and 63 deletions

View File

@@ -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" />

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
export default { export default {
plugins: { plugins: {
tailwindcss: {}, tailwindcss: {},
autoprefixer: {}, autoprefixer: {}
}, }
} }

View File

@@ -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

View File

@@ -1,2 +1,2 @@
declare const _default: import("vite").UserConfig; declare const _default: import('vite').UserConfig
export default _default; export default _default

View File

@@ -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
}, }
}, }
}, }
}); });

View File

@@ -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
}, }
}, }
}, }
}) })