# GeminiWX GeminiWX 是一个基于 RBAC (Role-Based Access Control) 模型权限控制的中小型应用基础开发平台。项目采用前后端分离架构,集成了 Web 管理端、后端 API 服务以及移动端(微信小程序/H5),提供了一套功能完善、易于扩展的后台管理系统解决方案。 ## 📖 项目概述 本项目旨在为中小型应用提供快速开发的基础平台,核心功能包括: - **Web 管理端**: 基于 Vue.js + Element UI 的现代化后台管理界面。 - **后端 API 服务**: 基于 Django + DRF 的 RESTful API 服务,支持异步任务和完善的权限控制。 - **移动端**: 支持微信小程序及 H5。 ## � 运行环境与版本要求 为了确保项目能够正常运行,请确保您的开发环境满足以下版本要求: ### 后端环境 (Server) - **Python**: 3.8+ (推荐 3.8/3.9/3.10) - **Redis**: 5.0+ - **Database**: - 开发环境: SQLite 3 (默认) - 生产环境: PostgreSQL 12+ (推荐) ### 前端环境 (Web Client) - **Node.js**: - 推荐版本: 14.x 或 16.x (LTS) - 兼容版本: 17+ (需要设置 `NODE_OPTIONS=--openssl-legacy-provider`,本项目 `package.json` 脚本中已预置该配置) - **npm**: 6.x+ ### 移动端环境 (Mobile) - **HBuilderX**: 最新稳定版 (用于 Uni-app 开发) - **微信开发者工具**: 最新稳定版 ## �🛠 技术栈 ### 后端 (Server) - **核心框架**: Django 3.2.23 - **API 框架**: Django REST Framework (DRF) 3.12.4 - **异步任务**: Celery 5.2.7 + Redis - **认证机制**: JWT (djangorestframework-simplejwt) - **接口文档**: Swagger (drf-yasg) - **数据库**: SQLite (默认/开发) / PostgreSQL (生产建议) ### 前端 (Web Client) - **核心框架**: Vue.js 2.6.10 - **UI 组件库**: Element UI 2.15.14 - **状态管理**: Vuex 3.1.0 - **路由管理**: Vue Router 3.0.6 - **工具**: Axios, D3.js, xlsx ### 移动端 (Mobile) - **框架**: Uni-app (基于 Vue.js) / 原生微信小程序 - **UI 库**: uView UI ## ✨ 核心功能 - **系统管理**: - 组织架构、用户、角色、岗位管理 - 菜单及按钮级别的功能权限控制 - 灵活的数据权限控制 - 数据字典与文件管理 - **客户关系管理 (CRM)**: 客户、商机等基础 CRM 功能。 - **工作流 (Workflow)**: 基于 loonflow 引擎简化的工作流,支持自定义流程定义与流转。 - **系统监控**: 服务状态监控、Celery 定时任务管理、审计日志记录。 ## 📂 目录结构 ```text geminiWX/ ├── admin/ │ ├── client/ # Web 前端项目源码 (Vue + ElementUI) │ ├── server/ # 后端项目源码 (Django) │ └── ... ├── wechat-mini-program/ # 微信小程序源码 ├── INTERFACE_CONFIG.md # 接口配置文档 ├── PROJECT_INTRODUCTION.md # 项目详细介绍 ├── STARTUP.md # 启动指南 └── README.md # 项目说明文档 ``` ## 🚀 快速开始 ### 1. 启动后端服务 (Django) 1. 进入 `admin/server` 目录。 2. 建议使用项目自带的虚拟环境(如果存在)或创建新的虚拟环境。 * **使用自带环境 (Windows)**: ```powershell .\admin\server\.venv\Scripts\python.exe admin/server/manage.py runserver 0.0.0.0:8000 ``` * **手动配置环境**: ```bash cd admin/server # 创建并激活虚拟环境 python -m venv venv # Windows 激活 .\venv\Scripts\activate # 安装依赖 pip install -r requirements.txt # 迁移数据库 python manage.py migrate # 启动服务 python manage.py runserver 0.0.0.0:8000 ``` 3. 访问 `http://localhost:8000/` 确认服务运行正常。 ### 2. 启动管理后台 (Vue.js) 1. 进入前端目录: ```bash cd admin/client ``` 2. 安装依赖: ```bash npm install # 如果遇到依赖冲突,尝试使用: # npm install --legacy-peer-deps ``` 3. 启动开发服务器: * **Windows (PowerShell)**: ```powershell # 如果 Node 版本 >= 17,需要设置 NODE_OPTIONS $env:NODE_OPTIONS="--openssl-legacy-provider" npm run dev ``` * **Linux / macOS**: ```bash # 如果 Node 版本 >= 17 export NODE_OPTIONS=--openssl-legacy-provider npm run dev ``` * **通用**: ```bash npm run dev ``` 4. 启动完成后,浏览器会自动打开 `http://localhost:9528`。 ### 3. 启动微信小程序 1. 下载并安装 [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)。 2. 打开工具,选择“导入项目”。 3. 选择项目根目录下的 `wechat-mini-program` 文件夹。 4. 设置 AppID(或使用测试号),编译并预览。 ## 📄 相关文档 更多详细信息请参考以下文档: - **[项目介绍 (PROJECT_INTRODUCTION.md)](./PROJECT_INTRODUCTION.md)**: 详细的技术架构、功能模块说明。 - **[启动文档 (STARTUP.md)](./STARTUP.md)**: 详细的安装和启动步骤。 - **[接口配置 (INTERFACE_CONFIG.md)](./INTERFACE_CONFIG.md)**: 接口相关配置说明。 ## 📄 许可证 本项目遵循 MIT 许可证。