# Django-Vue-Admin 管理系统

## 📖 项目简介
本项目是一个基于 **Django** + **Vue.js** 的前后端分离管理系统。包含用户管理、权限管理 (RBAC)、CRM 客户关系管理以及工作流 (Workflow) 等功能模块。

## 🛠 技术栈

### 后端 (Backend)
- **核心框架**: Django 3.2.23
- **API 框架**: Django REST Framework (DRF) 3.12.4
- **异步任务**: Celery 5.2.7
- **缓存/消息队列**: Redis
- **认证**: SimpleJWT
- **文档**: drf-yasg (Swagger/Redoc)

### 前端 (Frontend)
- **核心框架**: Vue.js 2.6.10
- **UI 组件库**: Element UI 2.15.14
- **状态管理**: Vuex
- **路由管理**: Vue Router
- **脚手架**: Vue CLI

## 📂 目录结构

```
admin/
├── client/          # 前端项目源码 (Vue)
│   ├── build/       # 构建脚本
│   ├── src/         # 源代码
│   ├── package.json # 前端依赖配置
│   └── ...
├── server/          # 后端项目源码 (Django)
│   ├── apps/        # 业务应用模块 (crm, system, wf)
│   ├── server/      # 项目核心配置
│   ├── utils/       # 通用工具类
│   ├── manage.py    # Django 管理脚本
│   ├── requirements.txt # 后端依赖配置
│   └── ...
└── README.md        # 项目说明文档
```

## 🚀 快速开始

### 1. 环境准备
确保您的开发环境已安装以下软件：
- Python 3.8+
- Node.js 12+
- Redis (用于缓存和 Celery)
- Git

### 2. 后端启动 (Server)

进入后端目录：
```bash
cd server
```

创建并激活虚拟环境 (推荐)：
```bash
# Windows
python -m venv .venv
.venv\Scripts\activate

# Linux/macOS
python3 -m venv .venv
source .venv/bin/activate
```

安装依赖：
```bash
pip install -r requirements.txt
```

配置数据库：
默认使用 SQLite，配置文件位于 `server/server/conf_e.py`。如需修改为 MySQL/PostgreSQL，请修改该文件中的 `DATABASES` 配置。

执行数据库迁移：
```bash
python manage.py makemigrations
python manage.py migrate
```

创建超级管理员：
```bash
python manage.py createsuperuser
```

启动开发服务器：
```bash
python manage.py runserver
```
后端服务默认运行在 `http://127.0.0.1:8000`。

启动 Celery Worker (可选，用于异步任务)：
```bash
# Windows (需安装 gevent 或 eventlet)
celery -A server worker -l info -P eventlet

# Linux/macOS
celery -A server worker -l info
```

### 3. 前端启动 (Client)

进入前端目录：
```bash
cd client
```

安装依赖：
```bash
npm install
# 或者使用 yarn / cnpm
# npm install --registry=https://registry.npmmirror.com
```

启动开发服务器：
```bash
npm run dev
```
前端服务启动后，通常访问地址为 `http://localhost:9528` (具体端口见终端输出)。

## 📦 功能模块

- **系统管理 (System)**
  - 用户管理：用户的增删改查及角色分配。
  - 角色管理：角色权限分配。
  - 菜单管理：动态路由菜单配置。
  - 部门管理：组织架构管理。

- **客户关系管理 (CRM)**
  - 客户信息的录入与维护。
  - 销售线索管理。

- **工作流 (Workflow)**
  - 审批流程配置。
  - 流程实例流转。

## 🔧 部署构建

### 前端构建
```bash
cd client
npm run build:prod
```
构建生成的静态文件位于 `client/dist` 目录。

### 后端部署
推荐使用 Gunicorn + Nginx 进行部署。
参考 `server/start.sh` 和 `server/Dockerfile` (如果存在) 进行容器化部署。

## 📄 许可证
MIT License
