# 情绪博物馆管理后台

基于 Vue 3 + TypeScript + Element Plus 的管理后台系统

## 功能特性

- ✅ 管理员登录认证
- ✅ 后台布局（侧边栏+顶栏）
- ✅ 管理员管理（CRUD）
- ✅ 用户管理
- ✅ 仪表盘数据展示
- ✅ 权限控制
- ✅ API集成

## 技术栈

- Vue 3
- TypeScript
- Element Plus
- Vue Router
- Pinia
- Axios
- ECharts
- Vite

## 快速开始

### 安装依赖

```bash
npm install
```

### 开发环境运行

```bash
npm run dev
```

访问: http://localhost:5174

### 生产环境构建

```bash
npm run build
```

### 类型检查

```bash
npm run type-check
```

## 默认账号

- 账号: admin
- 密码: admin123

## 项目结构

```
web-admin/
├── src/
│   ├── api/              # API接口
│   ├── assets/           # 静态资源
│   ├── layouts/          # 布局组件
│   ├── router/           # 路由配置
│   ├── stores/           # 状态管理
│   ├── types/            # TypeScript类型
│   ├── utils/            # 工具函数
│   ├── views/            # 页面组件
│   ├── App.vue           # 根组件
│   └── main.ts           # 入口文件
├── index.html            # HTML模板
├── package.json          # 项目配置
├── tsconfig.json         # TypeScript配置
└── vite.config.ts        # Vite配置
```

## 环境变量

### 开发环境 (.env.development)
```
VITE_APP_TITLE=情绪博物馆管理后台
VITE_APP_BASE_API=/api
VITE_APP_PORT=5174
```

### 生产环境 (.env.production)
```
VITE_APP_TITLE=情绪博物馆管理后台
VITE_APP_BASE_API=/api
```

## API接口

后端API地址: http://localhost:8080/api

### 管理员认证
- POST /admin/auth/login - 登录
- GET /admin/auth/info - 获取当前管理员信息
- POST /admin/auth/logout - 登出

### 管理员管理
- GET /admin/page - 分页查询
- GET /admin/detail - 查询详情
- POST /admin/create - 创建管理员
- PUT /admin/update - 更新管理员
- DELETE /admin/delete - 删除管理员

### 用户管理
- GET /user/page - 分页查询
- GET /user/detail - 查询详情
- PUT /user/updateStatus - 更新状态

## 部署

### Nginx配置示例

```nginx
server {
    listen 80;
    server_name admin.emotion-museum.com;
    
    root /var/www/web-admin/dist;
    index index.html;
    
    location / {
        try_files $uri $uri/ /index.html;
    }
    
    location /api {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
```

## 注意事项

1. 确保后端服务已启动
2. 确保Redis服务正常运行
3. 生产环境请修改默认管理员密码
4. 建议使用HTTPS部署

## License

MIT
