189 lines
5.8 KiB
Markdown
189 lines
5.8 KiB
Markdown
# 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) 支持
|