Initial commit

This commit is contained in:
admin
2025-12-08 14:39:07 +08:00
commit 9d4f78656b
782 changed files with 66418 additions and 0 deletions

119
PROJECT_INTRODUCTION.md Normal file
View File

@@ -0,0 +1,119 @@
# 项目介绍文档
## 1. 项目概述
本项目是一个基于 RBAC (Role-Based Access Control) 模型权限控制的中小型应用基础开发平台。项目采用前后端分离架构,旨在提供一套功能完善、易于扩展的后台管理系统解决方案。
项目包含三个主要部分:
* **Web 管理端**:提供完整的后台管理界面。
* **后端 API 服务**:提供 RESTful API 接口及业务逻辑处理。
* **移动端**:支持微信小程序及 H5方便移动办公。
## 2. 技术栈
### 2.1 后端 (Server)
* **核心框架**: Django 3.2.23
* **API 框架**: Django REST Framework (DRF) 3.12.4
* **异步任务**: Celery 5.2.7 + Redis (用于定时任务、异步操作)
* **认证机制**: JWT (JSON Web Token) - djangorestframework-simplejwt
* **接口文档**: Swagger (drf-yasg)
* **数据库**:
* 开发环境默认使用 SQLite
* 生产环境及工作流模块建议使用 PostgreSQL
* **其他特性**:
* 支持 CORS 跨域
* 使用 django-simple-history 实现审计/历史记录功能
### 2.2 前端 (Web Client)
* **核心框架**: Vue.js 2.6.10
* **UI 组件库**: Element UI 2.15.14
* **路由管理**: Vue Router 3.0.6
* **状态管理**: Vuex 3.1.0
* **HTTP 请求**: Axios
* **图表/可视化**: D3.js, Dagre-D3 (用于工作流展示等)
* **工具组件**:
* vue-treeselect (树形选择)
* xlsx (Excel 导入导出)
### 2.3 移动端 (Mobile Client)
* **框架**: Uni-app (基于 Vue.js)
* **UI 库**: uView UI
* **发布目标**: 微信小程序, H5
## 3. 核心功能模块
### 3.1 系统管理 (System)
* **组织架构管理**: 支持多级组织机构管理。
* **用户管理**: 用户的增删改查,支持分配角色和岗位。
* **角色管理**: 基于 RBAC 的角色管理,支持功能权限分配。
* **岗位管理**: 用户的职位/岗位管理。
* **菜单/权限管理**:
* **功能权限**: 控制到每一个 API 接口的访问权限。
* **数据权限**: 支持全部、本级及以下、同级及以下、本人等多种数据可见范围控制。
* **数据字典**: 系统通用的字典数据管理。
* **文件库**: 统一的文件上传和管理。
### 3.2 客户关系管理 (CRM)
* 包含基本的 CRM 功能模块(具体业务逻辑见 `apps/crm`)。
### 3.3 工作流 (Workflow)
* 基于 `loonflow` 引擎简化的工作流实现。
* 支持工作流定义、状态流转。
* **注意**: 后端代码位于 `apps/wf`,建议配合 PostgreSQL 使用以获得完整支持SQLite 可能不支持部分 JSON 查询)。
### 3.4 系统监控 (Monitor)
* **服务监控**: 监控服务器状态、服务运行情况。
* **定时任务**: 基于 Celery Beat 的定时任务管理。
* **审计日志**: 记录用户操作历史。
## 4. 项目结构说明
```text
root/
├── admin/
│ ├── client/ # Web 前端项目源码 (Vue + ElementUI)
│ ├── client_mp/ # 移动端项目源码 (Uni-app + uView)
│ └── server/ # 后端项目源码 (Django)
│ ├── apps/ # 业务应用模块 (crm, monitor, system, wf)
│ ├── server/ # Django 项目配置 (settings, urls)
│ ├── utils/ # 通用工具类
│ └── manage.py # Django 管理脚本
├── wechat-mini-program/ # 原生微信小程序代码 (可能为旧版或独立模块)
└── docker-compose.yml # Docker 部署配置
```
## 5. 快速开始
### 5.1 后端启动 (Windows)
1. 进入 `admin/server` 目录。
2. 创建并激活虚拟环境:
```bash
python -m venv venv
.\venv\scripts\activate
```
3. 安装依赖: `pip install -r requirements.txt`
4. 配置数据库: 复制 `conf_e.py` 为 `conf.py` 并配置数据库连接(默认可使用 SQLite
5. 初始化数据库:
```bash
python manage.py migrate
python manage.py loaddata db.json # 导入初始数据
```
6. 创建超级用户: `python manage.py createsuperuser`
7. 启动服务: `python manage.py runserver 8000`
8. 接口文档地址: `http://localhost:8000/api/swagger/`
### 5.2 前端启动
1. 进入 `admin/client` 目录。
2. 安装依赖: `npm install --registry=https://registry.npmmirror.com`
3. 启动开发服务: `npm run dev`
4. 访问地址: `http://localhost:9528`
## 6. 部署建议
* **生产环境**: 建议前后端分离部署,使用 Nginx 进行反向代理。
* **后端**: 使用 Gunicorn 或 uWSGI 运行 Django 服务,配合 Supervisor 进行进程守护。
* **前端**: 运行 `npm run build:prod` 打包生成静态文件,由 Nginx 托管。
* **WebSocket**: 如需支持 WebSocket 功能,需配置 Daphne 并通过 Supervisor 运行。
## 7. 参考资料
* 更多复杂功能参考原仓库: [https://github.com/caoqianming/xt_server](https://github.com/caoqianming/xt_server)