webman迁移-新增说明文档

This commit is contained in:
2026-03-18 15:39:36 +08:00
parent a64d157388
commit 225aba17d6

View File

@@ -1,70 +1,222 @@
<div style="padding:18px;max-width: 1024px;margin:0 auto;background-color:#fff;color:#333">
<h1>webman</h1>
# 大富翁 BuildAdmin 项目介绍
基于<a href="https://www.workerman.net" target="__blank">workerman</a>开发的超高性能PHP框架
## 一、项目概述
**dafuweng-webman** 是基于 **Webman**Workerman的 BuildAdmin 后台管理系统,将原 ThinkPHP8 版 BuildAdmin 迁移到 Webman 框架,实现前后端分离、常驻内存运行,提供高性能、可扩展的后台管理能力。
<h1>学习</h1>
### 核心特性
<ul>
<li>
<a href="https://www.workerman.net/webman" target="__blank">主页 / Home page</a>
</li>
<li>
<a href="https://webman.workerman.net" target="__blank">文档 / Document</a>
</li>
<li>
<a href="https://www.workerman.net/doc/webman/install.html" target="__blank">安装 / Install</a>
</li>
<li>
<a href="https://www.workerman.net/questions" target="__blank">问答 / Questions</a>
</li>
<li>
<a href="https://www.workerman.net/apps" target="__blank">市场 / Apps</a>
</li>
<li>
<a href="https://www.workerman.net/sponsor" target="__blank">赞助 / Sponsors</a>
</li>
<li>
<a href="https://www.workerman.net/doc/webman/thanks.html" target="__blank">致谢 / Thanks</a>
</li>
</ul>
- **常驻内存**:基于 Workerman避免传统 PHP-FPM 的进程反复创建开销
- **前后端分离**Vue 3 + TypeScript 前端RESTful API 后端
- **CRUD 代码生成**:可视化设计表结构,自动生成控制器、模型、验证器、前端页面
- **权限管理**RBAC 权限模型,支持管理员分组、菜单规则
- **多语言**:中文、英文等多语言支持
- **安全特性**XSS 过滤、敏感数据脱敏、数据回收站等
<div style="float:left;padding-bottom:30px;">
---
<h1>赞助商</h1>
## 二、技术栈
<h4>特别赞助</h4>
<a href="https://www.crmeb.com/?form=workerman" target="__blank">
<img src="https://www.workerman.net/img/sponsors/6429/20230719111500.svg" width="200">
</a>
### 后端PHP
<h4>铂金赞助</h4>
<a href="https://www.fadetask.com/?from=workerman" target="__blank"><img src="https://www.workerman.net/img/sponsors/1/20230719084316.png" width="200"></a>
<a href="https://www.yilianyun.net/?from=workerman" target="__blank" style="margin-left:20px;"><img src="https://www.workerman.net/img/sponsors/6218/20230720114049.png" width="200"></a>
| 技术 | 版本 | 说明 |
|------|------|------|
| PHP | >= 8.1 | 运行环境 |
| workerman/webman-framework | ^2.1 | Webman 框架 |
| webman/think-orm | ^2.1 | ThinkORM 数据库 |
| webman/validation | ^2.2 | 表单验证 |
| topthink/think-validate | ^3.0 | 验证器 |
| vlucas/phpdotenv | ^5.6 | 环境变量 |
| robmorgan/phinx | ^0.15 | 数据库迁移 |
| voku/anti-xss | ^4.1 | XSS 防护 |
### 前端
</div>
| 技术 | 版本 | 说明 |
|------|------|------|
| Vue | 3.5.13 | 前端框架 |
| Element Plus | 2.9.1 | UI 组件库 |
| TypeScript | 5.7.2 | 类型系统 |
| Vite | 6.3.5 | 构建工具 |
| Pinia | 2.3.0 | 状态管理 |
| Vue Router | 4.5.0 | 路由 |
| Axios | 1.9.0 | HTTP 客户端 |
| ECharts | 5.5.1 | 图表 |
| Vue I18n | 11.1.3 | 国际化 |
---
<div style="float:left;padding-bottom:30px;clear:both">
## 三、项目结构
<h1>请作者喝咖啡</h1>
```
dafuweng-webman/
├── app/ # 应用代码
│ ├── admin/ # 后台管理
│ │ ├── controller/ # 控制器auth、user、routine、crud、security、mall 等)
│ │ ├── model/ # 模型
│ │ ├── validate/ # 验证器
│ │ ├── lang/ # 语言包
│ │ └── library/ # 库Auth、CRUD、traits
│ ├── api/ # 前台 API
│ ├── common/ # 公共模块
│ └── support/ # 基础类
├── config/ # 配置文件
│ ├── app.php # 应用配置
│ ├── route.php # 路由
│ ├── database.php # Webman 数据库连接池
│ ├── thinkorm.php # ThinkORM 配置(主 ORM
│ └── buildadmin.php # BuildAdmin 业务配置
├── database/
│ └── migrations/ # 数据库迁移
├── extend/ # 扩展
├── modules/ # 模块
├── public/ # 入口与静态资源
├── web/ # 前端 Vue 源码
│ └── src/
│ ├── api/ # API 封装
│ ├── components/ # 通用组件
│ ├── lang/ # 多语言
│ ├── router/ # 路由
│ ├── stores/ # Pinia
│ ├── utils/ # 工具
│ └── views/ # 页面
├── start.php # 主启动
├── windows.php # Windows 启动
└── composer.json
```
<img src="https://www.workerman.net/img/wx_donate.png" width="200">
<img src="https://www.workerman.net/img/ali_donate.png" width="200">
<br>
<b>如果您觉得webman对您有所帮助欢迎捐赠。</b>
---
## 四、主要功能模块
</div>
### 4.1 权限管理auth
- 管理员管理admin
- 管理员分组group
- 菜单规则rule
<div style="clear: both">
<h1>LICENSE</h1>
The webman is open-sourced software licensed under the MIT.
</div>
### 4.2 用户管理user
</div>
- 用户管理user
- 用户分组group
- 用户规则rule
- 余额日志moneyLog
- 积分日志scoreLog
### 4.3 常规配置routine
- 系统配置config
- 管理员资料adminInfo
- 附件管理attachment
### 4.4 安全中心security
- 敏感数据管理
### 4.5 积分商城mall
- 积分商城用户player
### 4.6 CRUD 设计crud
- 可视化表设计
- 一键生成控制器、模型、验证器、前端页面
---
## 五、快速开始
### 5.1 环境要求
- PHP >= 8.1
- MySQL >= 5.7
- Composer
- Node.js >= 18前端开发
### 5.2 安装
```bash
# 进入项目目录
cd dafuweng-webman
# 安装 PHP 依赖
composer install
# 安装前端依赖
cd web && pnpm install
```
### 5.3 配置
1. 复制 `.env.example``.env`
2. 配置数据库连接(`database.hostname``database.database``database.username``database.password`
### 5.4 数据库迁移
```bash
php webman migrate
```
### 5.5 启动
**Linux / Mac**
```bash
php start.php start
```
**Windows**
```bash
php windows.php
```
### 5.6 前端开发
```bash
cd web
pnpm dev
```
---
## 六、路由说明
- **后台 API**`/admin/{module}.{Controller}/{action}`
- 示例:`/admin/mall.Player/index``app\admin\controller\mall\Player::index`
- **前台 API**`/api/...`
- **安装**`/api/Install/...`
---
## 七、已修复问题
| 问题 | 修复说明 |
|------|----------|
| 数据库配置不一致 | 统一 `database.php``thinkorm.php` 默认值为 `dafuweng-buildadmin` |
| 语言 key 命名错误 | `quick Search Fields` 改为 `quickSearchFields` |
| 编辑时密码必填 | 编辑时密码可选,仅新增时必填;后端支持密码加密与重置 |
| 多余表单校验 | 移除 `create_time``update_time` 的表单校验 |
| mall_player 表缺失 | 新增迁移文件 `20250318120000_mall_player.php` |
---
## 八、注意事项
1. **错误目录**:若存在 `dafuweng-webmanweb` 目录,为路径拼写错误,建议删除或修正为 `dafuweng-webman/web`
2. **生产环境**:建议将 `config/app.php``debug` 改为从 `.env` 读取,例如 `env('app_debug', false)`
3. **密码加密**:使用 `hash_password()` 存储密码,`verify_password()` 校验。
---
## 九、相关文档
- [CRUD 生成逻辑说明](docs/CRUD生成逻辑说明.md)
- [Webman 官方文档](https://webman.workerman.net)
- [BuildAdmin 官网](https://wonderful-code.gitee.io/buildadmin/)
---
## 十、许可证
MIT License