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%