Files
dafuweng-buildadmin/dafuweng-webman/README.md

223 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 大富翁 BuildAdmin 项目介绍
## 一、项目概述
**dafuweng-webman** 是基于 **Webman**Workerman的 BuildAdmin 后台管理系统,将原 ThinkPHP8 版 BuildAdmin 迁移到 Webman 框架,实现前后端分离、常驻内存运行,提供高性能、可扩展的后台管理能力。
### 核心特性
- **常驻内存**:基于 Workerman避免传统 PHP-FPM 的进程反复创建开销
- **前后端分离**Vue 3 + TypeScript 前端RESTful API 后端
- **CRUD 代码生成**:可视化设计表结构,自动生成控制器、模型、验证器、前端页面
- **权限管理**RBAC 权限模型,支持管理员分组、菜单规则
- **多语言**:中文、英文等多语言支持
- **安全特性**XSS 过滤、敏感数据脱敏、数据回收站等
---
## 二、技术栈
### 后端PHP
| 技术 | 版本 | 说明 |
|------|------|------|
| 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 防护 |
### 前端
| 技术 | 版本 | 说明 |
|------|------|------|
| 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 | 国际化 |
---
## 三、项目结构
```
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
```
---
## 四、主要功能模块
### 4.1 权限管理auth
- 管理员管理admin
- 管理员分组group
- 菜单规则rule
### 4.2 用户管理user
- 用户管理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