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

4.9 KiB
Raw Permalink Blame History

项目介绍文档

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. 项目结构说明

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. 创建并激活虚拟环境:
    python -m venv venv
    .\venv\scripts\activate
    
  3. 安装依赖: pip install -r requirements.txt
  4. 配置数据库: 复制 conf_e.pyconf.py 并配置数据库连接(默认可使用 SQLite
  5. 初始化数据库:
    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. 参考资料