后端: - 扩展 StatsController,新增趋势分析(/trends)和今日待办(/today-todos)接口 - 更新 application-dev.yml 数据库配置(端口3306,允许公钥检索) - 完善 pom.xml Maven 编译器插件和 Lombok 版本配置 - 添加 build-with-idea.sh 构建脚本 前端: - 新增 Register.vue 注册页面 - 优化 Dashboard 仪表盘布局和数据统计展示 - 改进 MainLayout 侧边栏样式和品牌展示 - 更新 Login 登录页面样式 - 新增 theme.css 主题样式文件 - 扩展 API 接口(statsTrends、todayTodos) - 更新路由和全局样式 文档: - 添加功能检查报告和功能列表文档
98 lines
2.4 KiB
CSS
98 lines
2.4 KiB
CSS
/* Pet Hospital Theme Variables */
|
|
:root {
|
|
/* Primary Brand Colors */
|
|
--brand-primary: #4361ee;
|
|
--brand-secondary: #3f37c9;
|
|
--brand-accent: #4cc9f0;
|
|
|
|
/* Status Colors */
|
|
--status-success: #4ade80;
|
|
--status-warning: #facc15;
|
|
--status-error: #f87171;
|
|
--status-info: #60a5fa;
|
|
|
|
/* Neutral Palette */
|
|
--neutral-50: #f8fafc;
|
|
--neutral-100: #f1f5f9;
|
|
--neutral-200: #e2e8f0;
|
|
--neutral-300: #cbd5e1;
|
|
--neutral-400: #94a3b8;
|
|
--neutral-500: #64748b;
|
|
--neutral-600: #475569;
|
|
--neutral-700: #334155;
|
|
--neutral-800: #1e293b;
|
|
--neutral-900: #0f172a;
|
|
|
|
/* Backgrounds */
|
|
--bg-app: var(--neutral-50);
|
|
--bg-panel: #ffffff;
|
|
--bg-hover: var(--neutral-100);
|
|
|
|
/* Text */
|
|
--text-primary: var(--neutral-800);
|
|
--text-secondary: var(--neutral-600);
|
|
--text-muted: var(--neutral-500);
|
|
--text-inverse: #ffffff;
|
|
|
|
/* Borders */
|
|
--border-default: var(--neutral-200);
|
|
--border-subtle: var(--neutral-300);
|
|
|
|
/* Shadows */
|
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
--shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
|
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
|
|
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
|
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
|
|
/* Radius */
|
|
--radius-xs: 4px;
|
|
--radius-sm: 6px;
|
|
--radius: 8px;
|
|
--radius-lg: 12px;
|
|
--radius-xl: 16px;
|
|
--radius-full: 9999px;
|
|
|
|
/* Transitions */
|
|
--transition-fast: all 0.15s ease;
|
|
--transition: all 0.2s ease;
|
|
--transition-slow: all 0.3s ease;
|
|
|
|
/* Spacing */
|
|
--space-xxs: 4px;
|
|
--space-xs: 8px;
|
|
--space-sm: 12px;
|
|
--space: 16px;
|
|
--space-md: 20px;
|
|
--space-lg: 24px;
|
|
--space-xl: 32px;
|
|
--space-xxl: 40px;
|
|
|
|
/* Typography */
|
|
--font-size-xs: 12px;
|
|
--font-size-sm: 14px;
|
|
--font-size: 16px;
|
|
--font-size-lg: 18px;
|
|
--font-size-xl: 20px;
|
|
--font-size-xxl: 24px;
|
|
--font-size-xxxl: 32px;
|
|
|
|
--font-weight-normal: 400;
|
|
--font-weight-medium: 500;
|
|
--font-weight-semibold: 600;
|
|
--font-weight-bold: 700;
|
|
}
|
|
|
|
/* Dark mode support (optional) */
|
|
@media (prefers-color-scheme: dark) {
|
|
:root {
|
|
--bg-app: var(--neutral-900);
|
|
--bg-panel: var(--neutral-800);
|
|
--bg-hover: var(--neutral-700);
|
|
--text-primary: var(--neutral-100);
|
|
--text-secondary: var(--neutral-300);
|
|
--text-muted: var(--neutral-400);
|
|
--border-default: var(--neutral-700);
|
|
--border-subtle: var(--neutral-600);
|
|
}
|
|
} |