# shopping_mall_system
**Repository Path**: syd2333/shopping_mall_system
## Basic Information
- **Project Name**: shopping_mall_system
- **Description**: 完成了mockapi
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2025-06-06
- **Last Updated**: 2025-06-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 商城系统 - Vite版本
一个基于React + TypeScript + Vite的双端商城系统,包含前台商城和后台管理两个子项目。
## 🚀 快速开始
### 安装依赖
```bash
npm install
```
### 启动项目
```bash
npm run dev
```
### 访问项目
#### 前台商城(移动端)
```
http://localhost:3000/mall
```
- 首页: http://localhost:3000/mall/
- 搜索: http://localhost:3000/mall/search
- 商品详情: http://localhost:3000/mall/product/:id
- 购物车: http://localhost:3000/mall/cart
- 个人中心: http://localhost:3000/mall/profile
#### 后台管理(桌面端)
```
http://localhost:3000/admin
```
- 仪表盘: http://localhost:3000/admin/dashboard
- 商品管理: http://localhost:3000/admin/products
- 分类管理: http://localhost:3000/admin/categories
- 订单管理: http://localhost:3000/admin/orders
- 用户管理: http://localhost:3000/admin/users
#### 默认访问
- 访问 http://localhost:3000 会自动重定向到前台商城
## 📁 项目结构
```
shopping_mall_system/
├── 📁 public/ # 静态资源
├── 📁 src/ # 源代码
│ ├── 📄 main.tsx # Vite入口文件(路由配置)
│ ├── 📄 index.css # 全局样式
│ ├── 📁 shared/ # 共享资源
│ │ └── 📁 utils/ # 工具函数
│ │ └── 📄 index.ts # 通用工具函数
│ └── 📁 projects/ # 子项目
│ ├── 📁 mall/ # 前台商城
│ │ ├── 📄 App.tsx # 商城主应用
│ │ ├── 📁 types/ # 类型定义
│ │ │ └── 📄 index.ts # 商城类型定义
│ │ ├── 📁 pages/ # 页面组件
│ │ │ ├── 📁 Home/ # 首页
│ │ │ ├── 📁 Cart/ # 购物车
│ │ │ └── ... # 其他页面
│ │ ├── 📁 components/ # 组件
│ │ └── 📁 styles/ # 样式文件
│ │ └── 📄 index.css # 商城样式
│ └── 📁 admin/ # 后台管理
│ ├── 📄 App.tsx # 管理后台主应用
│ ├── 📁 types/ # 类型定义
│ │ └── 📄 index.ts # 管理后台类型定义
│ ├── 📁 pages/ # 页面组件
│ │ ├── 📁 Dashboard/ # 仪表盘
│ │ └── ... # 其他页面
│ ├── 📁 components/ # 组件
│ └── 📁 styles/ # 样式文件
│ └── 📄 index.css # 管理后台样式
├── 📁 mock/ # Mock数据
│ ├── 📄 _util.ts # Mock工具函数
│ ├── 📁 mall/ # 前台商城Mock API
│ │ ├── 📄 auth.ts # 用户认证API
│ │ ├── 📄 products.ts # 商品相关API
│ │ └── ... # 其他API
│ └── 📁 admin/ # 后台管理Mock API
│ ├── 📄 auth.ts # 管理员认证API
│ ├── 📄 dashboard.ts # 仪表盘API
│ └── ... # 其他API
├── 📄 vite.config.ts # Vite配置
├── 📄 tsconfig.json # TypeScript配置
├── 📄 tsconfig.node.json # Node.js TypeScript配置
├── 📄 package.json # 项目配置
└── 📄 index.html # HTML入口
```//mock看README_API.md
## 🛠️ 技术栈
### 核心框架
- **React 18.2.0**: 用户界面构建
- **TypeScript 5.2.2**: 静态类型检查
- **Vite 5.0.8**: 构建工具和开发服务器
- **React Router DOM 6.20.1**: 路由管理
### UI组件库
- **Antd Mobile 5.34.0**: 前台移动端UI组件
- **Antd 5.12.8**: 后台桌面端UI组件
### 开发工具
- **Vite Plugin Mock 3.0.0**: Mock数据服务
- **MockJS 1.1.0**: 数据模拟
- **Vitest 1.0.4**: 单元测试
- **Axios 1.6.2**: HTTP请求
- **Day.js 1.11.10**: 时间处理
## 🎯 核心特性
### 1. URL路由架构
- **统一端口**: 所有项目运行在3000端口
- **路径区分**: 通过URL路径区分不同项目
- **前台商城**: `/mall/*` 路径
- **后台管理**: `/admin/*` 路径
- **自动重定向**: 根路径自动跳转到前台商城
### 2. Mock数据服务
- **API路径**: 按项目和功能模块组织
- **真实模拟**: 包含延迟、错误处理
- **热更新**: 支持Mock文件热更新
- **TypeScript**: 完整的类型支持
### 3. 模块化设计
- **页面组件**: 独立目录结构
- **类型定义**: 项目级别隔离
- **样式管理**: 项目独立样式
- **路径别名**: 支持@/别名导入
## 📋 Mock API 说明
### 前台商城 API
#### 用户认证
- `POST /api/mall/auth/login` - 用户登录
- `GET /api/mall/auth/profile` - 获取用户信息
- `POST /api/mall/auth/register` - 用户注册
- `POST /api/mall/auth/logout` - 用户登出
#### 商品相关
- `GET /api/mall/products` - 获取商品列表
- `GET /api/mall/products/:id` - 获取商品详情
- `GET /api/mall/products/hot` - 获取热门商品
- `GET /api/mall/products/search` - 搜索商品
- `GET /api/mall/categories` - 获取分类列表
### 后台管理 API
#### 管理员认证
- `POST /api/admin/auth/login` - 管理员登录
- `GET /api/admin/auth/profile` - 获取管理员信息
- `POST /api/admin/auth/logout` - 管理员登出
- `POST /api/admin/auth/change-password` - 修改密码
#### 仪表盘
- `GET /api/admin/dashboard/stats` - 获取统计数据
- `GET /api/admin/dashboard/order-trend` - 订单趋势
- `GET /api/admin/dashboard/revenue-trend` - 收入趋势
- `GET /api/admin/dashboard/category-stats` - 分类统计
- `GET /api/admin/dashboard/recent-orders` - 最近订单
## 🔧 路由配置
### 主路由 (src/main.tsx)
```typescript
{/* 前台商城路由 */}
} />
{/* 后台管理路由 */}
} />
{/* 默认重定向到前台商城 */}
} />
```
### 前台商城路由 (src/projects/mall/App.tsx)
```typescript
} />
} />
} />
} />
} />
{/* ... 其他路由 */}
```
### 后台管理路由 (src/projects/admin/App.tsx)
```typescript
} />
} />
} />
} />
{/* ... 其他路由 */}
```
## 📦 构建和部署
### 开发环境
```bash
npm run dev # 启动开发服务器
```
### 生产构建
```bash
npm run build # 构建生产版本
```
### 预览构建
```bash
npm run preview # 预览构建结果
```
### 测试
```bash
npm run test # 运行单元测试
```
## 🔐 登录信息//这些都还做
### 前台用户
- 用户名: `test`
- 密码: `123456`
### 后台管理员
- 用户名: `admin`
- 密码: `123456`
## 🎨 样式架构
### 前台商城
- **移动端优先**: 最大宽度375px
- **现代设计**: 简洁的移动端界面
- **组件样式**: 基于Antd Mobile
### 后台管理
- **桌面端设计**: 宽屏响应式布局
- **专业界面**: 管理后台风格
- **组件样式**: 基于Antd Design
## 🚀 下一步开发
1. **页面组件实现**: 根据UI设计图实现具体页面
2. **Mock数据完善**: 添加更多API接口和数据
3. **状态管理**: 集成Redux或Zustand
4. **用户认证**: 实现完整的认证流程
5. **单元测试**: 添加组件和功能测试
6. **性能优化**: 代码分割和懒加载
## 📝 开发注意事项
1. **URL访问**: 通过不同的URL路径访问不同项目
- 前台商城: http://localhost:3000/mall
- 后台管理: http://localhost:3000/admin
2. **路由嵌套**: 子项目使用相对路径,主路由处理项目切换
3. **类型定义**: 每个项目有独立的types目录
4. **Mock数据**: 按API路径组织,支持热更新
5. **样式隔离**: 每个项目有独立的样式文件
6. **路径别名**: 使用@/前缀导入文件
## 🌐 访问示例
### 前台商城页面
- 首页: http://localhost:3000/mall/
- 商品搜索: http://localhost:3000/mall/search
- 商品详情: http://localhost:3000/mall/product/1
- 购物车: http://localhost:3000/mall/cart
- 用户登录: http://localhost:3000/mall/login
### 后台管理页面
- 仪表盘: http://localhost:3000/admin/dashboard
- 商品管理: http://localhost:3000/admin/products
- 订单管理: http://localhost:3000/admin/orders
- 用户管理: http://localhost:3000/admin/users
- 管理员登录: http://localhost:3000/admin/login
---
这个新的URL路由架构提供了更直观的访问方式,通过URL路径就能清楚地知道当前访问的是哪个项目,便于开发和测试。