BaseDevelopment 是一个功能完整的企业级后台管理系统开发框架,采用前后端分离架构,集成了权限管理、用户管理、部门管理、角色管理等常用功能,并内置了强大的代码生成器和丰富的插件系统。 本系统基于 SaiAdmin 二次开发。内容介绍由 AI 生成。
git clone https://cnb.cool/OpenB8/BaseDevelopment ./projectname
cd projectname
# 进入后端目录
cd webman
# 安装依赖
composer install
# 复制配置文件
cp .env.example .env
# 编辑配置文件,配置数据库等信息
vim .env
# 导入数据库
php webman restore:database
# 启动服务
php start.php start
# 进入前端目录
cd saiadmin-vue
# 安装依赖
yarn install
# 启动开发服务器
yarn dev
# 构建并部署
./deploy.sh v1.0.0
# 导出部署包
./export-package.sh v1.0.0
# 启动服务
docker-compose up -d
# 构建并部署 .\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
生成的文件包括:
详细说明:代码生成器文档
系统支持 5 种数据权限级别:
详细说明:数据权限文档
项目预装了 Markdown 编辑器和预览组件:
<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>
首先安装依赖:
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
# 启动服务
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
.env 文件提交到版本控制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
A: 在 webman/config/route.php 或插件的路由配置文件中添加:
Route::get('/your-route', [YourController::class, 'method']);
A: 参考现有插件结构,在 webman/plugin/ 目录下创建新插件:
plugin/yourplugin/ ├── app/ ├── config/ └── ...
A: 在 saiadmin-vue/src/api/ 目录下创建 API 文件:
import request from '@/utils/request'
export function getUserList(params) {
return request({
url: '/system/user/index',
method: 'get',
params
})
}
A: 查看 部署文档 中的"代理问题说明"章节。
欢迎提交 Issue 和 Pull Request!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目基于 MIT License 开源协议。
感谢以下开源项目:
⭐ 如果这个项目对你有帮助,请给它一个 Star!⭐
Made with ❤️ by OpenB8 Team