logo
0
0
WeChat Login

BaseDevelopment - 基础开发框架

基于 Webman + Vue3 + ThinkORM 的企业级快速开发框架

License PHP Vue Webman

📖 项目简介

BaseDevelopment 是一个功能完整的企业级后台管理系统开发框架,采用前后端分离架构,集成了权限管理、用户管理、部门管理、角色管理等常用功能,并内置了强大的代码生成器和丰富的插件系统。 本系统基于 SaiAdmin 二次开发。内容介绍由 AI 生成。

✨ 主要特性

  • 🚀 高性能 - 基于 Workerman/Webman 框架,支持高并发
  • 🔐 完善的权限系统 - 支持多级权限控制和数据权限
  • 🎨 现代化前端 - Vue3 + Arco Design + Vite
  • 📦 插件化架构 - 支持功能模块化,易于扩展
  • 🛠️ 代码生成器 - 快速生成 CRUD 代码
  • 🐳 Docker 支持 - 完整的 Docker 部署方案
  • 📱 多端支持 - 支持短信、支付、CMS 等常用功能
  • 🔧 开发友好 - 详细的文档和完善的开发工具

🏗️ 技术栈

后端

  • 框架: Webman (基于 Workerman)
  • ORM: ThinkORM 3.0
  • PHP: 8.2+
  • 数据库: MySQL 5.7+
  • 缓存: Redis (可选)
  • 队列: Webman Queue
  • JWT: Tinywan JWT

前端

  • 框架: Vue 3.x
  • 构建工具: Vite 5.x
  • UI 组件: Arco Design Vue
  • 状态管理: Pinia
  • 路由: Vue Router 4.x
  • HTTP 客户端: Axios
  • 包管理: Yarn

核心插件

  • saiadmin - 核心权限管理系统
  • saiuser - 用户中心(会员、积分、等级)
  • saipay - 支付中心(支付宝、微信支付)
  • saisms - 短信服务(阿里云、腾讯云)
  • saicms - 内容管理(文章、分类、标签)
  • saicode - 代码生成器

📦 快速开始

环境要求

  • PHP >= 8.2
  • MySQL >= 5.7
  • Redis >= 5.0 (推荐)
  • Node.js >= 16.x
  • Yarn
  • Composer

安装步骤

1. 克隆项目

git clone https://cnb.cool/OpenB8/BaseDevelopment ./projectname cd projectname

2. 后端安装

# 进入后端目录 cd webman # 安装依赖 composer install # 复制配置文件 cp .env.example .env # 编辑配置文件,配置数据库等信息 vim .env # 导入数据库 php webman restore:database # 启动服务 php start.php start

3. 前端安装

# 进入前端目录 cd saiadmin-vue # 安装依赖 yarn install # 启动开发服务器 yarn dev

4. 访问系统

📚 文档中心

核心文档

官方文档

插件市场

🚀 部署指南

Docker 部署(推荐)

Linux/macOS

# 构建并部署 ./deploy.sh v1.0.0 # 导出部署包 ./export-package.sh v1.0.0 # 启动服务 docker-compose up -d

Windows

# 构建并部署 .\deploy.ps1 -Tag v1.0.0 # 导出部署包 .\export-package.ps1 -Tag v1.0.0 # 启动服务 docker-compose up -d

详细部署说明请查看:

传统部署

# 1. 配置 Nginx server { listen 80; server_name your-domain.com; root /path/to/project/webman/public; location / { proxy_pass http://127.0.0.1:8787; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } # 2. 启动 Webman 服务 cd webman php start.php start -d # 3. 构建前端 cd saiadmin-vue yarn build # 将 dist 目录内容复制到 webman/public

📁 项目结构

BaseDevelopment/ ├── deploy.sh # Linux/macOS 部署脚本 ├── deploy.ps1 # Windows 部署脚本 ├── export-package.sh # 部署包导出脚本(Linux/macOS) ├── export-package.ps1 # 部署包导出脚本(Windows) ├── docker-compose.yml # Docker Compose 配置 ├── deploy.md # 部署文档 ├── README-Windows.md # Windows 部署说明 ├── docker-image/ # Docker 镜像导出目录 ├── deployment-package/ # 部署包导出目录 ├── docx/ # 项目文档目录 │ ├── makesapp生成说明.md │ ├── 数据权限.md │ ├── OpenAI服务使用说明.md │ ├── 硅基流动配置说明.md │ └── 获取配置表的数据.md ├── saiadmin-vue/ # 前端项目 │ ├── src/ │ │ ├── api/ # API 接口 │ │ ├── components/ # 公共组件 │ │ ├── views/ # 页面视图 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ └── utils/ # 工具函数 │ ├── public/ # 静态资源 │ ├── .env.development # 开发环境配置 │ ├── .env.production # 生产环境配置 │ └── package.json └── webman/ # 后端项目 ├── app/ # 应用代码 │ ├── controller/ # 控制器 │ ├── logic/ # 业务逻辑 │ ├── model/ # 数据模型 │ ├── validate/ # 验证器 │ ├── middleware/ # 中间件 │ └── command/ # 命令行工具 ├── plugin/ # 插件目录 │ ├── saiadmin/ # 核心插件 │ ├── saiuser/ # 用户插件 │ ├── saipay/ # 支付插件 │ ├── saisms/ # 短信插件 │ ├── saicms/ # CMS插件 │ └── saicode/ # 代码生成器 ├── config/ # 配置文件 ├── public/ # 前端构建产物 ├── runtime/ # 运行时文件 ├── vendor/ # Composer 依赖 ├── .env # 环境配置 ├── Dockerfile # Docker 镜像配置 └── start.php # 启动文件

🛠️ 开发指南

代码生成器

使用 makesapp 命令快速生成 CRUD 代码:

# 基础用法 php webman makesapp User # 指定表名 php webman makesapp Order --table=shop_orders # 插件开发 php webman makesapp Product --namespace=plugin\saishop # 子目录 php webman makesapp example/Member

生成的文件包括:

  • Controller 控制器
  • Logic 业务逻辑层
  • Model 数据模型
  • Validate 验证器

详细说明:代码生成器文档

数据权限

系统支持 5 种数据权限级别:

  1. 全部数据权限 (ALL_SCOPE = 1) - 查看所有数据
  2. 自定义数据权限 (CUSTOM_SCOPE = 2) - 指定部门数据
  3. 本部门数据权限 (SELF_DEPT_SCOPE = 3) - 仅本部门
  4. 本部门及以下数据权限 (DEPT_BELOW_SCOPE = 4) - 本部门及子部门
  5. 仅本人数据权限 (SELF_SCOPE = 5) - 仅个人数据

详细说明:数据权限文档

Markdown 组件

项目预装了 Markdown 编辑器和预览组件:

编辑组件 (sa-md-editor)

<template> <a-form ref="formRef" :model="formData"> <a-form-item label="内容" field="content"> <sa-md-editor v-model="formData.content" /> </a-form-item> </a-form> </template>

预览组件 (sa-md-preview)

首先安装依赖:

yarn add markdown-it-link-attributes

使用组件:

<template> <a-drawer v-model:visible="visible" title="预览" width="80%"> <sa-md-preview :text="text" /> </a-drawer> </template>

第三方服务集成

对象存储

# 阿里云 OSS composer require aliyuncs/oss-sdk-php # 腾讯云 COS composer require qcloud/cos-sdk-v5 # 七牛云 composer require qiniu/php-sdk # 亚马逊 S3 composer require league/flysystem-aws-s3-v3

日志查看器

composer require webman-tech/log-reader # 访问:{host}/log-reader

🔌 核心插件说明

saiadmin - 核心权限系统

  • ✅ 用户管理
  • ✅ 角色管理
  • ✅ 权限管理
  • ✅ 菜单管理
  • ✅ 部门管理
  • ✅ 岗位管理
  • ✅ 数据字典
  • ✅ 操作日志
  • ✅ 登录日志
  • ✅ 定时任务

saiuser - 用户中心

  • ✅ 会员管理
  • ✅ 会员等级
  • ✅ 积分系统
  • ✅ 标签管理
  • ✅ 会员分组

saipay - 支付中心

  • ✅ 支付宝支付
  • ✅ 微信支付
  • ✅ 支付配置
  • ✅ 支付回调
  • ✅ 支付日志

saisms - 短信服务

  • ✅ 短信发送
  • ✅ 短信模板
  • ✅ 短信日志
  • ✅ 多平台支持(阿里云、腾讯云)

saicms - 内容管理

  • ✅ 文章管理
  • ✅ 分类管理
  • ✅ 标签管理
  • ✅ 内容审核

saicode - 代码生成器

  • ✅ 数据表管理
  • ✅ 代码生成
  • ✅ 模板管理
  • ✅ 前后端代码生成

🎯 开发命令

后端命令

# 启动服务 php start.php start # 调试模式 php start.php start -d # 守护进程模式 # 停止服务 php start.php stop # 重启服务 php start.php restart # 查看状态 php start.php status # 代码生成 php webman makesapp <类名> # 数据库备份 php webman backup:database # 数据库恢复 php webman restore:database

前端命令

# 开发模式 yarn dev # 生产构建 yarn build # 预览构建 yarn preview # 类型检查 yarn type-check # 代码检查 yarn lint

📊 系统监控

日志查看

# 应用日志 tail -f webman/runtime/logs/webman.log # SQL 日志 tail -f webman/runtime/logs/sql.log # Docker 日志 docker-compose logs -f saiadmin

性能监控

# 查看进程状态 php start.php status # 查看资源使用 docker stats saiadmin

🔒 安全建议

  1. 修改默认密码 - 首次登录后立即修改管理员密码
  2. 配置文件安全 - 不要将 .env 文件提交到版本控制
  3. 数据库安全 - 使用强密码,限制远程访问
  4. HTTPS - 生产环境启用 HTTPS
  5. 防火墙 - 配置防火墙规则,只开放必要端口
  6. 定期备份 - 定期备份数据库和重要文件
  7. 更新维护 - 定期更新依赖包和插件

❓ 常见问题

Q: 如何切换数据库?

A: 编辑 webman/.env 文件中的数据库配置:

DB_HOST=your-database-host DB_PORT=3306 DB_NAME=your_database_name DB_USER=your_database_user DB_PASSWORD=your_database_password

Q: 如何添加新的路由?

A: 在 webman/config/route.php 或插件的路由配置文件中添加:

Route::get('/your-route', [YourController::class, 'method']);

Q: 如何创建自定义插件?

A: 参考现有插件结构,在 webman/plugin/ 目录下创建新插件:

plugin/yourplugin/ ├── app/ ├── config/ └── ...

Q: 前端如何调用 API?

A: 在 saiadmin-vue/src/api/ 目录下创建 API 文件:

import request from '@/utils/request' export function getUserList(params) { return request({ url: '/system/user/index', method: 'get', params }) }

Q: Docker 构建失败?

A: 查看 部署文档 中的"代理问题说明"章节。

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 开源协议

本项目基于 MIT License 开源协议。

💬 技术支持

🙏 鸣谢

感谢以下开源项目:


⭐ 如果这个项目对你有帮助,请给它一个 Star!⭐

Made with ❤️ by OpenB8 Team

About

基于 saiadmin-boot 构建的基础开发框架,增加了 OpenB8团队开发的一些基本内容

Language
PHP37.2%
Vue34.5%
JavaScript14.7%
TypeScript4.4%
Others9.2%