diff --git a/.gitignore b/.gitignore index 3c68953..64e7bb7 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ Homestead.json Homestead.yaml Thumbs.db *lock* +/storage/*laravels* diff --git a/README.md b/README.md index 868cf99..2fae682 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
-# Laravel Swoole 管理系统 +# LarAdmin 基于 Laravel + Swoole + Vue3 的高性能后台管理系统 @@ -14,7 +14,7 @@ ## 📖 项目简介 -本项目是一个基于 Laravel 12 + Swoole + Vue3 的高性能后台管理系统,采用模块化架构设计,提供完整的认证授权、系统管理、业务扩展等功能。项目集成了 `hhxsv5/laravel-s` 实现 Swoole 长生命周期服务,大幅提升系统并发性能和响应速度。 +LarAdmin 是一个基于 Laravel 12 + Swoole + Vue3 的高性能后台管理系统,采用模块化架构设计,提供完整的认证授权、系统管理、业务扩展等功能。项目集成了 `hhxsv5/laravel-s` 实现 Swoole 长生命周期服务,大幅提升系统并发性能和响应速度。 ### ✨ 核心特性 @@ -49,11 +49,13 @@ - **Pinia**: 3.0+ (状态管理) - **Axios**: HTTP 客户端 - **Vue I18n**: 国际化支持 +- **CKEditor 5**: 富文本编辑器 +- **ECharts**: 数据可视化 ## 📁 项目结构 ``` -laravel_swoole/ +laradmin/ ├── app/ # 基础模块目录 │ ├── Http/Controllers/ # 控制器 │ │ ├── Auth/ # 认证模块控制器 @@ -71,7 +73,8 @@ laravel_swoole/ │ │ │ ├── Task.php │ │ │ ├── City.php │ │ │ └── Upload.php -│ │ └── Api/ +│ │ ├── Api/ +│ │ └── WebSocket.php │ ├── Models/ # 模型 │ │ ├── Auth/ │ │ │ ├── User.php @@ -81,9 +84,11 @@ laravel_swoole/ │ │ └── System/ │ ├── Services/ # 服务层 │ │ ├── Auth/ -│ │ └── System/ -│ └── Exports/ # 导出类 -│ └── Imports/ # 导入类 +│ │ ├── System/ +│ │ └── WebSocket/ +│ ├── Exports/ # 导出类 +│ ├── Imports/ # 导入类 +│ └── Middleware/ # 中间件 ├── Modules/ # 业务模块目录 │ └── ModuleName/ # 业务模块示例 │ ├── App/ @@ -105,11 +110,18 @@ laravel_swoole/ │ │ ├── src/ │ │ │ ├── api/ # API 接口 │ │ │ ├── components/ # 公共组件 +│ │ │ │ ├── scForm/ # 表单组件 +│ │ │ │ ├── scTable/ # 表格组件 +│ │ │ │ ├── scUpload/ # 上传组件 +│ │ │ │ ├── scEditor/ # 富文本编辑器 +│ │ │ │ ├── scImport/ # 导入组件 +│ │ │ │ └── scExport/ # 导出组件 │ │ │ ├── layouts/ # 布局组件 │ │ │ ├── pages/ # 页面组件 │ │ │ ├── router/ # 路由配置 │ │ │ ├── stores/ # 状态管理 │ │ │ ├── utils/ # 工具函数 +│ │ │ ├── hooks/ # 组合式 API │ │ │ └── i18n/ # 国际化 │ │ └── package.json │ └── views/ @@ -148,25 +160,31 @@ laravel_swoole/ #### 1. 克隆项目 ```bash -git clone http://git.tensent.cn/molong/laravel_swoole.git -cd laravel_swoole +git clone http://git.tensent.cn/molong/laravel_swoole.git laradmin +cd laradmin ``` -#### 2. 安装依赖 +#### 2. 自动安装(推荐) + +```bash +# 一键安装所有依赖并初始化 +composer run setup +``` + +此命令会自动执行: +- 安装后端依赖 +- 配置环境文件 +- 生成应用密钥 +- 执行数据库迁移 +- 安装前端依赖 +- 构建前端资源 + +#### 3. 手动安装 ```bash # 安装后端依赖 composer install -# 安装前端依赖 -cd resources/admin -npm install -cd ../.. -``` - -#### 3. 环境配置 - -```bash # 复制环境配置文件 cp .env.example .env @@ -175,31 +193,22 @@ php artisan key:generate # 配置数据库、Redis等参数 # 编辑 .env 文件 -``` -#### 4. 执行数据库迁移 - -```bash -# 执行迁移 +# 执行数据库迁移 php artisan migrate # 填充初始数据 php artisan db:seed -``` -#### 5. 配置 JWT - -```bash # 生成 JWT 密钥 php artisan jwt:secret -``` -#### 6. 构建前端 - -```bash +# 安装前端依赖 cd resources/admin +npm install + +# 构建前端 npm run build -cd ../.. ``` ### 运行项目 @@ -207,15 +216,31 @@ cd ../.. #### 开发模式 ```bash -# 启动 Laravel 开发服务器 -php artisan serve - -# 启动前端开发服务器(另开终端) -cd resources/admin -npm run dev +# 一键启动所有服务 +composer run dev ``` -#### Swoole 模式(推荐) +此命令会启动: +- Laravel 开发服务器 (http://localhost:8000) +- 队列监听器 +- 日志监控 +- Vite 前端开发服务器 + +#### 分步启动 + +```bash +# 终端1: 启动 Laravel 开发服务器 +php artisan serve + +# 终端2: 启动前端开发服务器 +cd resources/admin +npm run dev + +# 终端3: 启动队列监听器(可选) +php artisan queue:listen +``` + +#### Swoole 模式(推荐生产环境) ```bash # 启动 Laravel-S 服务 @@ -229,6 +254,9 @@ php bin/laravels restart # 重载服务(平滑重启) php bin/laravels reload + +# 查看状态 +php bin/laravels status ``` 访问地址:http://localhost:5200 (默认) @@ -530,6 +558,74 @@ npm run format bin/inotify # Linux ``` +## 🌟 特色功能 + +### 1. 动态菜单路由 + +前端支持动态路由加载,登录后自动根据权限生成菜单树: + +```javascript +// 登录后获取菜单 +const menus = await authApi.permissions.menu.get() +userStore.setMenu(menus) +``` + +### 2. 权限指令 + +前端提供权限指令,方便控制元素显示: + +```vue + +新增 + + +编辑 +``` + +### 3. 数据导入导出 + +支持 Excel 数据导入导出: + +```javascript +// 导出用户数据 +await userApi.export.post(params) + +// 导入用户数据 +await userApi.import.post(formData) +``` + +### 4. 富文本编辑器 + +集成 CKEditor 5 富文本编辑器: + +```vue + +``` + +### 5. 文件上传 + +支持多种上传方式: + +```vue + + + + + +``` + ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! @@ -585,11 +681,26 @@ Closes #123 - [Vue.js](https://vuejs.org) - [Ant Design Vue](https://antdv.com) - [Laravel Modules](https://nwidart.com/laravel-modules) +- [CKEditor 5](https://ckeditor.com) +- [ECharts](https://echarts.apache.org) + +## 📝 更新日志 + +### v1.0.0 (2024-01-01) + +- 🎉 初始版本发布 +- ✅ 完成 Auth 模块(用户、角色、权限、部门) +- ✅ 完成 System 模块(配置、日志、字典、任务、城市、上传) +- ✅ 集成 Swoole 高性能服务 +- ✅ 完成前端 Vue3 管理界面 +- ✅ 实现 WebSocket 实时通信 ---
+**LarAdmin** - 高性能后台管理系统 + Made with ❤️ by [Tensent](http://git.tensent.cn)
diff --git a/composer.json b/composer.json index 4f5187e..d789b18 100644 --- a/composer.json +++ b/composer.json @@ -39,9 +39,9 @@ "composer install", "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"", "@php artisan key:generate", + "@php artisan jwt:secret", "@php artisan migrate --force", - "npm install", - "npm run build" + "@php artisan db:seed" ], "dev": [ "Composer\\Config::disableProcessTimeout", diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 23a6be2..062b38d 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -3,8 +3,8 @@ - - Laravel-S - 高性能后端 API 系统 + + LarAdmin - 高性能后台管理系统