# arkshoes
**Repository Path**: doesnotexist255/arkshoes
## Basic Information
- **Project Name**: arkshoes
- **Description**: 方舟鞋城前端页面,使用 Vue3 + Vite + Element Plus + TypeScript 技术栈。
- **Primary Language**: TypeScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-08-12
- **Last Updated**: 2025-08-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 方舟鞋城 - 前端项目
## 项目概述
这是一个基于 Vue 3 + TypeScript + Element Plus 的鞋类电商平台前端项目,包含用户前台和管理后台两个主要模块。
## 技术栈
- **前端框架**: Vue 3 (Composition API)
- **开发语言**: TypeScript
- **UI 组件库**: Element Plus
- **状态管理**: Pinia
- **路由管理**: Vue Router 4
- **构建工具**: Vite
- **样式预处理**: SCSS
- **代码规范**: ESLint + Prettier
## 项目结构
```
arkshoes/
├── src/
│ ├── api/ # API 服务层
│ │ ├── authService.ts # 用户认证服务
│ │ ├── adminService.ts # 管理员服务
│ │ ├── productService.ts # 商品服务
│ │ ├── orderService.ts # 订单服务
│ │ └── index.ts # API 统一导出
│ ├── components/ # 公共组件
│ ├── layouts/ # 布局组件
│ │ ├── MainLayout.vue # 主布局(用户前台)
│ │ ├── AdminLayout.vue # 管理后台布局
│ │ └── AuthLayout.vue # 认证页面布局
│ ├── router/ # 路由配置
│ ├── stores/ # 状态管理
│ │ ├── auth.ts # 认证状态
│ │ ├── cart.ts # 购物车状态
│ │ └── index.ts # Store 统一导出
│ ├── types/ # TypeScript 类型定义
│ ├── views/ # 页面组件
│ │ ├── home/ # 首页
│ │ ├── product/ # 商品相关页面
│ │ ├── cart/ # 购物车
│ │ ├── order/ # 订单相关页面
│ │ ├── user/ # 用户中心
│ │ ├── auth/ # 认证页面
│ │ ├── admin/ # 管理后台
│ │ ├── payment/ # 支付相关页面
│ │ └── error/ # 错误页面
│ ├── App.vue # 根组件
│ └── main.ts # 应用入口
├── public/ # 静态资源
├── package.json # 项目依赖
└── vite.config.ts # Vite 配置
```
## 功能模块
### 用户前台
- **首页**: 轮播图、分类导航、商品推荐
- **商品**: 商品列表、商品详情、分类商品、品牌商品、搜索
- **购物车**: 商品添加、数量修改、批量操作
- **订单**: 订单创建、订单列表、订单详情、结算
- **用户中心**: 个人信息、收货地址、订单管理、收藏、优惠券、账户安全
- **支付**: 支付流程、支付成功/失败页面
### 管理后台
- **仪表板**: 数据统计、图表展示
- **商品管理**: 商品增删改查、状态管理
- **订单管理**: 订单查看、状态更新
- **用户管理**: 用户信息管理
- **分类管理**: 商品分类管理
- **品牌管理**: 商品品牌管理
## 快速开始
### 环境要求
- Node.js >= 16
- pnpm >= 7
### 安装依赖
```bash
pnpm install
```
### 开发模式
```bash
pnpm dev
```
### 构建生产版本
```bash
pnpm build
```
### 类型检查
```bash
pnpm type-check
```
## 开发规范
### 代码风格
- 使用 2 空格缩进
- 使用单引号
- 使用 Composition API
- 组件名使用 PascalCase
- 文件名使用 PascalCase
### 组件规范
- 使用 Element Plus 组件库
- 响应式设计,支持移动端
- 统一的错误处理和加载状态
- 使用 TypeScript 类型定义
### API 规范
- RESTful API 设计
- 统一的响应格式
- 错误处理机制
- 请求/响应拦截器
## 路由配置
### 用户前台路由
- `/` - 首页
- `/products` - 商品列表
- `/product/:id` - 商品详情
- `/category/:id` - 分类商品
- `/brand/:id` - 品牌商品
- `/search` - 搜索结果
- `/cart` - 购物车
- `/orders` - 订单列表
- `/order/:id` - 订单详情
- `/checkout` - 结算页面
- `/user/*` - 用户中心
- `/payment` - 支付页面
### 管理后台路由
- `/admin` - 管理后台首页
- `/admin/products` - 商品管理
- `/admin/orders` - 订单管理
- `/admin/users` - 用户管理
- `/admin/categories` - 分类管理
- `/admin/brands` - 品牌管理
## 状态管理
### 认证状态 (auth.ts)
- 用户登录状态
- 用户信息
- 管理员权限
- Token 管理
### 购物车状态 (cart.ts)
- 购物车商品列表
- 商品数量管理
- 批量操作
- 本地存储同步
## 注意事项
1. **图片资源**: 目前使用占位图片,实际开发中需要替换为真实图片
2. **API 集成**: 组件中的 API 调用目前使用模拟数据,需要集成真实后端 API
3. **类型定义**: 部分类型定义可能需要根据实际后端 API 调整
4. **权限控制**: 管理后台的权限控制需要根据实际业务需求完善
## 本地静态图片(需人工替换)
前端已将外部占位图改为本地静态资源路径,图片位于 `public/images/` 下。将真实图片以相同文件名放入对应目录即可,无需改代码。
放置路径与文件名约定(同名覆盖即可)
- 首页轮播图(`Home.vue`)
- `/public/images/banners/banner-1.jpg`
- `/public/images/banners/banner-2.jpg`
- `/public/images/banners/banner-3.jpg`
- 商品示例图(多处使用:`Home.vue` 模拟商品、`Payment.vue`、`OrderList.vue`、`OrderDetail.vue`、`Wishlist.vue`)
- `/public/images/products/mock-1.jpg`
- `/public/images/products/mock-2.jpg`
- ...(建议至少提供 `mock-1.jpg` 至 `mock-8.jpg`,`Home.vue` 默认会引用 1..8)
- 默认头像(`UserCenter.vue`、`Profile.vue`)
- `/public/images/avatars/default-80.png`
- `/public/images/avatars/default-100.png`
目录结构(已创建 `.keep` 占位文件,直接放图即可)
```
public/
images/
banners/
banner-1.jpg
banner-2.jpg
banner-3.jpg
products/
mock-1.jpg
mock-2.jpg
...
avatars/
default-80.png
default-100.png
```
推荐尺寸与比例(可按需调整)
- 轮播图:1200x400(约 3:1),JPG
- 商品图:300x300(1:1),JPG/PNG,主体居中,留边适配裁剪
- 头像:80x80、100x100(1:1),PNG(透明背景更佳)
访问路径说明
- 开发与生产环境中,`public/` 下资源以根路径 `/` 提供,比如:
- `
`
- `
`
如需更换为自定义文件名,请同步修改使用处:
- 轮播图路径:`src/views/home/Home.vue` 中的 `banners` 数组
- 页面内示例商品图:`Payment.vue`、`OrderList.vue`、`OrderDetail.vue`、`Wishlist.vue`
- 默认头像:`UserCenter.vue`、`Profile.vue`
## 开发进度
- ✅ 项目基础架构搭建
- ✅ 路由配置完成
- ✅ 所有页面组件创建完成
- ✅ 基础样式和布局完成
- ✅ API 服务层框架完成
- ✅ 状态管理完成
- 🟡 类型定义完善中
- 🔄 API 集成进行中
- ⏳ 功能测试和优化
## 贡献指南
1. Fork 项目
2. 创建功能分支
3. 提交代码
4. 创建 Pull Request
## 许可证
MIT License