This commit is contained in:
solosw
2026-01-05 14:11:34 +08:00
parent 35ef825371
commit 99b11b04e4
658 changed files with 99266 additions and 0 deletions
+206
View File
@@ -0,0 +1,206 @@
# 管理员端前端项目
## 项目概述
这是一个基于Vue 3 + Element Plus的管理员端前端项目,用于管理虚拟商品交易平台。
## 技术栈
- **框架**: Vue 3 (Composition API)
- **UI库**: Element Plus
- **状态管理**: Pinia
- **路由**: Vue Router 4
- **HTTP客户端**: Axios
- **图表**: ECharts
- **构建工具**: Vite
- **样式**: CSS3 + Tailwind CSS
## 项目结构
```
src/
├── layouts/ # 布局组件
│ └── AdminLayout.vue # 管理端主布局
├── views/ # 页面组件
│ ├── Login.vue # 登录页面
│ └── admin/ # 管理端页面
│ ├── Dashboard.vue # 仪表盘
│ ├── Users.vue # 用户管理
│ ├── Scores.vue # 积分管理
│ └── orders/ # 订单管理
│ ├── PurchaseOrders.vue # 买单管理
│ └── SalesOrders.vue # 卖单管理
├── stores/ # Pinia状态管理
│ └── auth.js # 认证状态
├── router/ # 路由配置
│ └── index.js # 主路由文件
└── main.js # 应用入口
```
## 功能特性
### 🔐 认证系统
- 支持管理员和代理商登录
- JWT Token认证
- 自动路由守卫
- 权限控制
### 👥 用户管理
- 用户列表查看(支持搜索、筛选、分页)
- 用户详情查看
- 用户创建、编辑、删除(仅管理员)
- 用户状态管理
- 权限级别显示
### 📋 订单管理
- 买单管理(查看、处理订单状态)
- 卖单管理(查看、处理订单状态)
- 订单详情查看
- 支持多条件筛选
- 订单状态流转
### ⭐ 积分管理
- 积分记录查看(支持搜索、筛选)
- 积分记录创建、编辑、删除(仅管理员)
- 积分变化统计
- 用户积分查询
### 📊 数据统计
- 仪表盘数据概览
- 用户角色分布图表
- 订单趋势图表
- 实时统计数据
### 🎨 界面特性
- 响应式设计,支持移动端
- 现代化UI设计
- 暗色侧边栏
- 面包屑导航
- 页面切换动画
- 数据加载状态
## 权限说明
### 管理员权限(system_role=0
- ✅ 访问所有功能模块
- ✅ 用户管理(查看、创建、编辑、删除)
- ✅ 订单管理(查看、处理)
- ✅ 积分管理(查看、创建、编辑、删除)
- ✅ 商品管理(计划中)
- ✅ 系统配置(计划中)
### 代理商权限(system_role=1
- ✅ 仪表盘查看(仅自己邀请的用户数据)
- ✅ 用户管理(仅查看自己邀请的用户)
- ✅ 订单管理(仅查看相关用户的订单)
- ✅ 积分管理(仅查看相关用户的积分记录)
- ❌ 无创建、编辑、删除权限
- ❌ 无商品管理权限
- ❌ 无系统配置权限
## 安装和运行
### 1. 安装依赖
```bash
cd front
npm install
```
### 2. 启动开发服务器
```bash
npm run dev
```
### 3. 构建生产版本
```bash
npm run build
```
## 默认测试账户
### 管理员账户
- 手机号:`13800138000`
- 密码:`admin123`
- 权限:全部功能
### 代理商账户
- 手机号:`13800138001`
- 密码:`agent123`
- 权限:受限查看
## API配置
项目已配置axios默认baseURL为`/back`,确保后端API正确运行在对应端口。
请求拦截器会自动添加token到请求头:
```javascript
headers: {
token: localStorage.getItem('token')
}
```
响应拦截器会自动处理401未授权错误,跳转到登录页面。
## 开发规范
### 组件命名
- 页面组件:PascalCase(如:`Users.vue`
- 布局组件:PascalCase + Layout后缀(如:`AdminLayout.vue`
- 通用组件:PascalCase(如:`DataTable.vue`
### 状态管理
- 使用Pinia进行状态管理
- 按功能模块划分store
- 使用Composition API风格
### 样式规范
- 优先使用Element Plus组件样式
- 使用scoped CSS避免样式污染
- 响应式设计,移动端适配
- 使用CSS变量统一主题色彩
### 代码规范
- 使用Composition API
- 使用TypeScript类型注解(计划中)
- 函数和变量使用camelCase命名
- 常量使用UPPER_SNAKE_CASE命名
## 待开发功能
- [ ] 商品管理页面
- [ ] 系统配置管理
- [ ] 数据导出功能
- [ ] 批量操作功能
- [ ] 个人信息管理
- [ ] 操作日志记录
- [ ] 系统通知功能
- [ ] 文件上传组件
- [ ] 富文本编辑器
- [ ] 国际化支持
## 注意事项
1. **权限控制**:代理商只能看到自己邀请的用户相关数据
2. **数据过滤**:前端路由守卫 + 后端API权限双重保护
3. **错误处理**:统一的错误提示和处理机制
4. **性能优化**:按需加载、虚拟滚动等优化措施
5. **安全性**Token自动过期处理、XSS防护
## 浏览器支持
- Chrome >= 87
- Firefox >= 78
- Safari >= 14
- Edge >= 88
## 贡献指南
1. Fork项目
2. 创建特性分支
3. 提交更改
4. 推送到分支
5. 创建Pull Request
## 许可证
MIT License