# DDAC-Front 代码审查报告 > 审查日期:2026-03-28 > 项目:DDAC 游戏盾 SDK 管理后台 > 技术栈:Vue 3.5 + TypeScript 5.9 + Vite 8 + Pinia 3 + Vue Router 5 + Element Plus 2 --- ## 一、项目概览 ### 1.1 目录结构 ``` ddac-front/ ├── deploy.sh # 部署脚本 ├── Dockerfile # 多阶段构建 (node:20 → nginx:alpine) ├── nginx.conf # Nginx 配置 (SPA history fallback + gzip) ├── index.html # HTML 入口 ├── vite.config.ts # Vite 构建配置 ├── vite/plugins/ # Vite 插件 (auto-import, svg-icon, compression) ├── eslint.config.js # ESLint Flat Config ├── tsconfig.json # TypeScript 项目引用 ├── .husky/ # Git hooks (lint-staged) ├── .env.development # 开发环境变量 ├── .env.production # 生产环境变量 └── src/ ├── main.ts # 应用入口 ├── App.vue # 根组件 ├── permission.ts # 路由守卫 (权限控制核心) ├── router/index.ts # 静态路由定义 ├── store/ │ ├── index.ts # Pinia 实例 │ └── modules/ │ ├── app.ts # UI 状态 (sidebar 收起) │ ├── user.ts # 用户认证 (token/login/logout) │ └── permission.ts # 权限路由 (动态菜单生成) ├── mock/index.ts # Mock API (login/userInfo/routes) ├── types/menu.ts # 类型定义 (MenuItem/RouteMeta/API Response) ├── utils/ │ ├── auth.ts # Token 读写工具 │ ├── http.ts # HTTP 客户端 (已注释,未启用) │ ├── routeHelper.ts # 菜单树 → 路由转换 │ ├── validate.ts # 校验工具函数 │ └── errorCode.ts # 错误码映射 ├── composables/ │ └── useTheme.ts # 暗色模式切换 (基于 VueUse) ├── styles/ │ ├── theme.scss # 全局主题变量 (亮色/暗色) │ └── element.scss # Element Plus 样式覆盖 ├── layout/ │ ├── index.vue # 主布局 (Grid: sidebar + header + main) │ └── components/ │ ├── Header.vue # 顶栏 (折叠/主题/用户下拉) │ ├── AppMain.vue # 内容区 (router-view + transition) │ └── Sidebar/ # 侧边栏 (Logo + 菜单递归渲染) ├── components/ │ ├── Breadcrumb/ # 面包屑 (基于 route.meta) │ ├── Pagination/ # 分页 (v-model 双向绑定) │ ├── TableCard/ # 表格卡片 (列筛选 + 分页 + 插槽) │ ├── TabFilter/ # Tab 筛选器 │ ├── ThemeToggle/ # 亮暗切换开关 │ ├── StatusText/ # 状态指示器 │ └── SvgIcon/ # SVG 图标 └── views/ ├── auth/ # 登录/注册 ├── dashboard/ # 首页 ├── sdk/ # SDK 管理 (列表 + 详情 + 8 子模块) ├── system/ # 系统管理 (用户/角色) ├── content/ # 内容管理 (文章) └── error/ # 404 页面 ``` ### 1.2 技术栈总览 | 层面 | 技术选型 | 版本 | | --------- | ------------------------------------------ | --------- | | 框架 | Vue 3 (Composition API + `