diff --git a/README.md b/README.md new file mode 100644 index 0000000..76db69a --- /dev/null +++ b/README.md @@ -0,0 +1,117 @@ +# GeminiWX + +GeminiWX 是一个基于 RBAC (Role-Based Access Control) 模型权限控制的中小型应用基础开发平台。项目采用前后端分离架构,集成了 Web 管理端、后端 API 服务以及移动端(微信小程序/H5),提供了一套功能完善、易于扩展的后台管理系统解决方案。 + +## 📖 项目概述 + +本项目旨在为中小型应用提供快速开发的基础平台,核心功能包括: +- **Web 管理端**: 基于 Vue.js + Element UI 的现代化后台管理界面。 +- **后端 API 服务**: 基于 Django + DRF 的 RESTful API 服务,支持异步任务和完善的权限控制。 +- **移动端**: 支持微信小程序及 H5,方便移动办公。 + +## 🛠 技术栈 + +### 后端 (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 + ``` +3. 启动开发服务器: + ```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 许可证。