Files
geminiWX/PROJECT_INTRODUCTION.md
2025-12-08 14:39:07 +08:00

120 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目介绍文档
## 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)