# Project File Index - `src/utils/message.ts`: Global message utility. - `src/utils/loading.ts`: Global loading utility (blocking overlay). - `src/service/request/index.ts`: Axios wrapper. - `src/service/api/auth.ts`: Authentication API. - `src/service/api/score.ts`: Score API. - `src/service/api/major.ts`: User major recommendation API. - `src/stores/user.ts`: User Pinia store. - `src/stores/score.ts`: Score Pinia store. - `src/components/ui/WMessage.vue`: Message component UI. - `src/components/ui/WLoading.vue`: Full-screen loading component UI. - `src/components/TheNavigation.vue`: Main navigation component. - `src/components/ScoreForm.vue`: Score editing form. - `src/pages/index.vue`: Home page with dashboard/welcome sidebar. - `src/pages/agreement.vue`: User agreement page. - `src/pages/privacy-policy.vue`: Privacy policy page. - `src/pages/simulate.vue`: Simulation and volunteer filling page. - `src/service/api/volunteer.ts`: Volunteer management API. ## 完整项目结构 ### 项目根目录 ``` D:\workspace_4\yitisheng\vitesse-yitisheng-web/ ├── .agent/ # Agent相关配置 ├── .iflow/ # iFlow相关配置 ├── .kilocode/ # Kilocode相关配置 ├── .trae/ # Trae相关配置 ├── .vscode/ # VSCode配置 ├── cypress/ # E2E测试配置 ├── docs/ # 项目文档 ├── locales/ # 多语言配置文件 ├── public/ # 静态资源文件 ├── src/ # 源代码目录 ├── tasks/ # 任务相关文件 ├── test/ # 测试文件 ├── .dockerignore ├── .editorconfig ├── .env.development ├── .env.production ├── .gitignore ├── .npmrc ├── 1212.txt ├── cypress.config.ts ├── Dockerfile ├── eslint.config.js ├── index.html ├── jsconfig.json ├── LICENSE ├── netlify.toml ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── postcss.config.js ├── prettier.config.mjs ├── project_codebase.md ├── project_doing.md ├── project_index.md ├── project_task.md ├── README.md ├── tailwind.config.js ├── task_detail.md ├── tsconfig.json ├── uno.config.ts ├── vite.config.ts ``` ### 源代码目录 (src/) ``` src/ ├── components/ # 组件目录 │ ├── ui/ # UI组件 │ │ ├── WLoading.vue │ │ ├── WMessage.vue │ │ ├── WOption.vue │ │ ├── WPopconfirm.vue │ │ ├── WRadioButton.vue │ │ ├── WRadioGroup.vue │ │ └── WSelect.vue │ ├── BackToTop.vue │ ├── FilterBar.vue │ ├── LoginForm.vue │ ├── README.md │ ├── ScoreForm.vue │ ├── TheCounter.vue │ ├── TheFooter.vue │ ├── TheInput.vue │ └── TheNavigation.vue ├── composables/ # Vue Composables │ ├── dark.ts │ └── request.ts ├── layouts/ # 布局组件 │ ├── 404.vue │ ├── default.vue │ ├── home.vue │ └── README.md ├── lib/ # 第三方库 ├── modules/ # 项目模块 │ ├── i18n.ts │ ├── nprogress.ts │ ├── pinia.ts │ ├── pwa.ts │ └── README.md ├── pages/ # 页面组件(基于文件路由) │ ├── demo/ │ │ └── pop-confirm.vue │ ├── hi/ │ │ └── [name].vue │ ├── school/ │ │ └── [schoolCode].vue │ ├── [...all].vue │ ├── about.md │ ├── about.vue │ ├── agreement.vue │ ├── contact-us.vue │ ├── index.vue │ ├── majors.vue │ ├── privacy-policy.vue │ ├── README.md │ ├── simulate.vue │ └── universities.vue ├── service/ # 服务层 │ ├── api/ # API接口 │ │ ├── auth.ts │ │ ├── major.ts │ │ ├── score.ts │ │ └── volunteer.ts │ └── request/ # 请求封装 │ └── index.ts ├── stores/ # 状态管理 (Pinia) │ ├── score.ts │ └── user.ts ├── styles/ # 样式文件 │ ├── main.css │ └── markdown.css ├── utils/ # 工具函数 │ ├── loading.ts │ └── message.ts ├── App.vue # 根组件 ├── auto-imports.d.ts ├── components.d.ts ├── main.ts # 入口文件 ├── shims.d.ts ├── typed-router.d.ts └── types.ts # 类型定义 ``` ### 静态资源目录 (public/) ``` public/ ├── assets/ │ └── fonts/ # 字体文件 ├── _headers ├── beian.ico ├── download.png ├── favicon-dark.svg ├── favicon.svg ├── pwa-192x192.png ├── pwa-512x512.png └── safari-pinned-tab.svg ``` ### 服务API目录 (src/service/api/) ``` src/service/api/ ├── auth.ts # 认证相关API ├── major.ts # 专业相关API ├── score.ts # 成绩相关API ├── volunteer.ts # 志愿相关API ``` ### 项目特点 - 基于 Vitesse 模板(Vue 3 + Vite) - 使用 TypeScript - 采用 Vue 3 Composition API - 使用 Pinia 进行状态管理 - 支持国际化 (i18n) - 使用 UnoCSS 作为样式引擎 - 包含 PWA 支持 - 包含组件自动化加载 - 基于文件的路由系统 - 包含服务端生成 (SSG) 支持