宠物服务管理系统客户端
VUE3+ElementPlus+Orval
|
|
4 kuukautta sitten | |
|---|---|---|
| .vscode | 7 kuukautta sitten | |
| public | 7 kuukautta sitten | |
| src | 4 kuukautta sitten | |
| .gitignore | 7 kuukautta sitten | |
| AGENTS.md | 4 kuukautta sitten | |
| README.md | 4 kuukautta sitten | |
| detailDesign.md | 4 kuukautta sitten | |
| index.html | 4 kuukautta sitten | |
| nextWork.md | 4 kuukautta sitten | |
| orval.config.ts | 4 kuukautta sitten | |
| package-lock.json | 6 kuukautta sitten | |
| package.json | 6 kuukautta sitten | |
| tsconfig.app.json | 6 kuukautta sitten | |
| tsconfig.json | 7 kuukautta sitten | |
| tsconfig.node.json | 7 kuukautta sitten | |
| uiDesign.md | 4 kuukautta sitten | |
| vite.config.ts | 6 kuukautta sitten | |
| work.md | 4 kuukautta sitten |
一个功能完善的宠物服务管理前端应用,支持寄养、洗护服务预约,订单管理,宠物档案维护等功能。包含用户端和商家后台两套界面。
| 技术 | 版本 | 用途 |
|---|---|---|
| Vue | ^3.5.13 | 前端框架(Composition API + <script setup>) |
| Vite | ^6.3.5 | 构建工具 |
| TypeScript | ~5.8.3 | 类型安全 |
| Element Plus | ^2.13.6 | UI 组件库 |
| Pinia | ^3.0.4 | 状态管理 |
| Pinia Persistedstate | ^4.7.1 | Store 持久化 |
| Vue Router | ^4.6.4 | 路由管理 |
| Axios | ^1.15.2 | HTTP 请求 |
| Orval | 7.0 | OpenAPI → API 代码生成 |
src/
├── api/ # Orval 生成的 API 客户端
│ ├── auth-controller.ts
│ ├── user-controller.ts
│ ├── pet-controller.ts
│ ├── appointment-controller.ts
│ ├── boarding-room-controller.ts
│ ├── admin-*.ts # 商家后台相关 API
│ └── models/ # TypeScript 类型定义
│
├── store/ # Pinia 状态管理
│ ├── user.ts # 用户登录状态
│ ├── meta.ts # 全局元数据
│ ├── pet.ts # 宠物数据缓存
│ └── appointment.ts # 预约流程状态
│
├── router/
│ └── index.ts # 路由配置 + 导航守卫
│
├── layout/
│ ├── UserLayout.vue # 用户端布局(顶部导航)
│ └── AdminLayout.vue # 商家后台布局(侧边栏+顶栏)
│
├── view/ # 页面组件
│ ├── LoginView.vue
│ ├── booking/ # 服务预约模块
│ ├── order/ # 订单管理模块
│ ├── pet/ # 宠物档案模块
│ ├── profile/ # 个人中心模块
│ └── admin/ # 商家后台模块
│
├── components/ # 公共组件
│ ├── PaymentDialog.vue # 模拟支付弹窗
│ ├── RoomCalendar.vue # 房态日历组件
│ └── PetSelector.vue # 宠物选择器
│
├── util/
│ └── axios-instance.ts # Axios 配置(拦截器、Token 注入)
│
└── type/
└── index.ts # 自定义类型定义
http://localhost:8080npm install
npm run dev
应用将在 http://localhost:5173 启动,API 请求通过 Vite 代理转发到后端 http://localhost:8080。
npm run build
npm run preview
本项目使用 Orval 根据后端 OpenAPI 规范自动生成 API 客户端代码:
npm run api:gen
运行前请确保后端服务已启动在
http://localhost:8080
Orval 配置在 orval.config.ts 中,生成规则:
src/api/models/admin 角色使用 pinia-plugin-persistedstate 实现登录状态持久化,刷新页面后保持登录。
主色调:#e34889(粉色系),统一应用于按钮、输入框、卡片等组件。
| 路径 | 说明 | 需登录 |
|---|---|---|
/login |
登录/注册 | 否 |
/booking |
服务预约首页 | 否 |
/booking/boarding |
寄养预约 | 是 |
/booking/grooming |
洗护预约 | 是 |
/orders |
我的订单 | 是 |
/orders/:id |
订单详情 | 是 |
/pets |
宠物档案 | 是 |
/pets/new |
新增宠物 | 是 |
/pets/:id |
宠物详情 | 是 |
/pets/:id/edit |
编辑宠物 | 是 |
/profile |
个人中心 | 是 |
| 路径 | 说明 |
|---|---|
/admin/orders |
订单审核列表 |
/admin/orders/:id |
订单审核详情 |
/admin/rooms |
房态日历管理 |
/admin/schedules |
排班管理 |
/admin/packages |
套餐配置列表 |
/admin/packages/new |
新增套餐 |
/admin/packages/:id/edit |
编辑套餐 |
/admin/users |
用户管理 |
/admin/users/:id |
用户详情 |
<script setup> 语法@/ 路径别名导入模块strict 模式