Files
geminiWX/README.md
2025-12-12 14:32:42 +08:00

154 lines
5.2 KiB
Markdown
Raw 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.
# GeminiWX
GeminiWX 是一个基于 RBAC (Role-Based Access Control) 模型权限控制的中小型应用基础开发平台。项目采用前后端分离架构,集成了 Web 管理端、后端 API 服务以及移动端(微信小程序/H5提供了一套功能完善、易于扩展的后台管理系统解决方案。
## 📖 项目概述
本项目旨在为中小型应用提供快速开发的基础平台,核心功能包括:
- **Web 管理端**: 基于 Vue.js + Element UI 的现代化后台管理界面。
- **后端 API 服务**: 基于 Django + DRF 的 RESTful API 服务,支持异步任务和完善的权限控制。
- **移动端**: 支持微信小程序及 H5。
## <20> 运行环境与版本要求
为了确保项目能够正常运行,请确保您的开发环境满足以下版本要求:
### 后端环境 (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 开发)
- **微信开发者工具**: 最新稳定版
## <20>🛠 技术栈
### 后端 (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 许可证。