签入版本

This commit is contained in:
2026-10-10 12:20:37 +08:00
parent f54d7735b0
commit 49b04a1ec4
108 changed files with 1459 additions and 1982 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 852 KiB

After

Width:  |  Height:  |  Size: 267 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 51 KiB

@@ -234,7 +234,7 @@ BaseLogic::add()
```ini
; .env
[FILE]
UPLOAD_DIR = D:/uploads/rxthinkcmf ; 上传根目录
UPLOAD_DIR = D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue\uploads ; 上传根目录
DOMAIN_URL = https://cdn.example.com ; 文件访问域名
MAX_SIZE = 10 ; 单文件最大 10MB
IMAGE_EXT = jpg,jpeg,png,gif,bmp,webp,svg
@@ -16,7 +16,6 @@
├── templates/ ← 代码生成器模板
├── runtime/ ← 运行时缓存(自动生成)
├── vendor/ ← Composer 依赖
├── wiki/ ← 文档站点(VitePress)
├── document/ ← 开发参考手册(txt)
├── .env ← 环境变量配置
└── think ← ThinkPHP 命令行入口
+1 -1
View File
@@ -38,7 +38,7 @@
### 新增
- **自动参数校验**:Logic 层配置 `$validateClass` 后,`add`/`update` 自动调用验证器校验,覆盖所有 CRUD 入口(含导入),新增 CityValidate、TenantValidate,全模块验证器覆盖率 100%
- **项目文档体系**:Wiki 文档站点全面改版,覆盖快速入门、模块开发、架构设计、运维部署全场景
- **项目文档体系**:文档站点全面改版,覆盖快速入门、模块开发、架构设计、运维部署全场景
- **生产环境部署指南**:Docker 容器化支持,提供 Dockerfile + docker-compose.yml 一键部署
- **系统健康检查接口**:运行状态监控,服务可用性实时检测
- **多数据库 SQL 脚本**:MySQL / PostgreSQL / SQL Server / Oracle / SQLite 五套完整建表脚本
+2 -2
View File
@@ -46,7 +46,7 @@
```bash
# 进入项目目录(以实际解压路径为准)
cd thinkphp6
cd RXThinkCMF_ThinkPhp6_EleVue
```
:::tip 温馨提示
@@ -105,7 +105,7 @@ REFRESH_TTL = 604800 ; refresh_token 有效期(秒)
; 文件上传配置
[FILE]
UPLOAD_DIR = D:/uploads/rxthinkcmf ; 上传目录(绝对路径)
UPLOAD_DIR = D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue\uploads ; 上传目录(绝对路径)
DOMAIN_URL = http://file.thinkphp6.elevue ; 文件访问域名
```
@@ -270,7 +270,7 @@ crontab -l
# /mo 1 → 每 1 分钟执行一次
# /f → 强制覆盖同名任务
# =============================================================================
schtasks /create /tn "RXThinkCMF_Job" /tr "cmd /c cd /d D:\xampp\htdocs\v3\thinkphp6 && C:\xampp\php\php.exe think job:run" /sc minute /mo 1 /f
schtasks /create /tn "RXThinkCMF_Job" /tr "cmd /c cd /d D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue && C:\xampp\php\php.exe think job:run" /sc minute /mo 1 /f
# 或通过图形界面:Win+R → 输入 taskschd.msc → 回车
```
@@ -28,7 +28,6 @@
## 文件结构
```
thinkphp6/
├── docker/
│ ├── Dockerfile # PHP-FPM 应用镜像定义
│ ├── nginx.conf # Nginx 站点配置
@@ -22,7 +22,6 @@
├── public/ // 公共资源(入口文件、上传目录)
├── route/ // 路由定义
├── templates/ // 代码生成模板
├── wiki/ // VitePress 文档站点
├── vendor/ // Composer 依赖(不提交到版本控制)
├── runtime/ // 运行时缓存(不提交到版本控制)
├── .env.example // 环境变量模板
@@ -342,7 +342,7 @@ server {
# .env.staging
VITE_GLOB_API_URL =
VITE_GLOB_API_URL_PREFIX = /api
VITE_GLOB_IMG_URL = https://test-cdn.example.com
VITE_GLOB_IMG_URL = http://file.thinkphp6.elevue
VITE_DROP_CONSOLE = true
```
@@ -242,7 +242,7 @@ think job:run
11. 起始于:
```text
D:\xampp\htdocs\v3\thinkphp6
D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue
```
12. 勾选"不管用户是否登录都要运行"
@@ -252,7 +252,7 @@ D:\xampp\htdocs\v3\thinkphp6
```powershell
# 手动运行测试
cd D:\xampp\htdocs\v3\thinkphp6
cd D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue
C:\xampp\php\php.exe think job:run
# 在任务计划程序中右键任务 → 运行
@@ -274,7 +274,7 @@ schtasks /create /tn "RXThinkCMF_Job" /tr "C:\xampp\php\php.exe think job:run" /
# /f 强制覆盖同名任务
# 创建任务(指定工作目录)
schtasks /create /tn "RXThinkCMF_Job" /tr "cmd /c cd /d D:\xampp\htdocs\v3\thinkphp6 && C:\xampp\php\php.exe think job:run" /sc minute /mo 1 /f
schtasks /create /tn "RXThinkCMF_Job" /tr "cmd /c cd /d D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue && C:\xampp\php\php.exe think job:run" /sc minute /mo 1 /f
# 查询任务
schtasks /query /tn "RXThinkCMF_Job"
@@ -301,7 +301,7 @@ schtasks /query /fo table
```powershell
# 带日志输出的完整命令
schtasks /create /tn "RXThinkCMF_Job" /tr "cmd /c cd /d D:\xampp\htdocs\v3\thinkphp6 && C:\xampp\php\php.exe think job:run >> runtime\job.log 2>&1" /sc minute /mo 1 /f
schtasks /create /tn "RXThinkCMF_Job" /tr "cmd /c cd /d D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue && C:\xampp\php\php.exe think job:run >> runtime\job.log 2>&1" /sc minute /mo 1 /f
```
---
@@ -632,7 +632,7 @@ crontab -e
# 添加:* * * * * cd /www/api && php think job:run >> /dev/null 2>&1
# 方式二:Windows 计划任务
schtasks /create /tn "RXThinkCMF_Job" /tr "cmd /c cd /d D:\xampp\htdocs\v3\thinkphp6 && C:\xampp\php\php.exe think job:run" /sc minute /mo 1 /f
schtasks /create /tn "RXThinkCMF_Job" /tr "cmd /c cd /d D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue && C:\xampp\php\php.exe think job:run" /sc minute /mo 1 /f
# 方式三:Daemon 守护进程
php think job:daemon
@@ -176,12 +176,6 @@ Closes #xxx
- TypeScript/Vue:遵循 ESLint + Prettier 配置
- 详见 [前端编码规范](/zh/standards/frontend-code.html) 和 [后端编码规范](/zh/standards/backend-code.html)
## 文档贡献
- 文档位于 `wiki/zh/` 目录,使用 VitePress + Markdown
- 新增功能需同步更新文档
- 文档遵循 [文档规范](/zh/standards/backend-code.html)
## 行为准则
- 尊重每一位贡献者
@@ -17,7 +17,7 @@
```bash
# 进入项目目录(以实际解压路径为准)
cd thinkphp6
cd RXThinkCMF_ThinkPhp6_EleVue
```
:::tip 温馨提示
@@ -76,7 +76,7 @@ SECRET = rxthinkcmf_jwt_secret_key_2024
; 文件上传配置
[FILE]
UPLOAD_DIR = D:/uploads/rxthinkcmf ; 上传文件存储目录(绝对路径)
UPLOAD_DIR = D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue\uploads ; 上传文件存储目录(绝对路径)
DOMAIN_URL = http://file.thinkphp6.elevue ; 文件访问域名
```
@@ -15,7 +15,6 @@ Docker 方案适合快速体验项目功能,无需手动安装 PHP、MySQL 等
## 文件结构
```
thinkphp6/
├── docker-compose.yml # 容器编排(项目根目录)
├── docker/
│ ├── Dockerfile # PHP-FPM 镜像定义
@@ -31,7 +30,7 @@ thinkphp6/
```bash
# 从官方网站 (https://www.rxthink.cn) 下载授权源码包并解压
cd thinkphp6
cd RXThinkCMF_ThinkPhp6_EleVue
# 配置应用环境变量
cp .env.example .env
@@ -42,7 +42,7 @@ REFRESH_TTL = 604800 ; refresh_token 有效期(秒),默
ISSUER = rxthinkcmf ; 签发者标识
[FILE]
UPLOAD_DIR = D:/uploads/rxthinkcmf ; 上传根目录(绝对路径)
UPLOAD_DIR = D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue\uploads ; 上传根目录(绝对路径)
DOMAIN_URL = http://file.thinkphp6.elevue ; 文件访问域名
IMAGE_EXT = gif,jpg,jpeg,png,bmp,webp,svg ; 允许的图片后缀
FILE_EXT = gif,jpg,jpeg,png,bmp,webp,svg,doc,docx,xls,xlsx,ppt,pptx,pdf,zip,rar,txt,csv,mp3,mp4,sql,js,css ; 允许的文件后缀
@@ -35,7 +35,7 @@ return [
```ini
; .env
[FILE]
UPLOAD_DIR = D:/uploads/rxthinkcmf
UPLOAD_DIR = D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue\uploads
```
**要求:**
@@ -47,10 +47,10 @@ UPLOAD_DIR = D:/uploads/rxthinkcmf
| 环境 | 路径示例 |
|------|---------|
| Windows 开发 | `D:/uploads/rxthinkcmf` |
| Linux 开发 | `/home/www/uploads/rxthinkcmf` |
| Linux 生产 | `/data/uploads/rxthinkcmf` |
| Docker | `/uploads/rxthinkcmf`(挂载卷) |
| Windows 开发 | `D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue\uploads` |
| Linux 开发 | `/home/www/uploads` |
| Linux 生产 | `/opt/data/uploads` |
| Docker | `/data/apps/uploads`(挂载卷) |
### domain_url — 文件访问域名
@@ -70,7 +70,7 @@ DOMAIN_URL = https://cdn.example.com
| 环境 | 域名示例 |
|------|---------|
| 本地开发 | (留空,使用相对路径) |
| 测试环境 | `https://test-cdn.example.com` |
| 测试环境 | `http://file.thinkphp6.elevue` |
| 生产环境 | `https://cdn.example.com` |
| 对象存储 | `https://bucket-name.oss-cn-hangzhou.aliyuncs.com` |
@@ -124,7 +124,7 @@ FILE_EXT = gif,jpg,jpeg,png,bmp,webp,svg,doc,docx,xls,xlsx,ppt,pptx,pdf,zip,rar,
```ini
[FILE]
UPLOAD_DIR = D:/uploads/rxthinkcmf
UPLOAD_DIR = D:\xampp8.2\htdocs\RXThinkCMF_ThinkPhp6_EleVue\uploads
DOMAIN_URL =
MAX_SIZE = 10
```
@@ -133,8 +133,8 @@ MAX_SIZE = 10
```ini
[FILE]
UPLOAD_DIR = /home/www/uploads/rxthinkcmf
DOMAIN_URL = https://test-cdn.example.com
UPLOAD_DIR = /home/www/uploads
DOMAIN_URL = http://file.thinkphp6.elevue
MAX_SIZE = 10
```
@@ -142,7 +142,7 @@ MAX_SIZE = 10
```ini
[FILE]
UPLOAD_DIR = /data/uploads/rxthinkcmf
UPLOAD_DIR = /opt/data/uploads
DOMAIN_URL = https://cdn.example.com
MAX_SIZE = 10
IMAGE_EXT = jpg,jpeg,png,gif,bmp,webp
@@ -154,7 +154,7 @@ FILE_EXT = jpg,jpeg,png,gif,bmp,webp,doc,docx,xls,xlsx,pdf,zip,rar
```ini
; 如果使用阿里云 OSS 等对象存储,domain_url 设为 OSS 域名
[FILE]
UPLOAD_DIR = /data/uploads/rxthinkcmf
UPLOAD_DIR = /opt/data/uploads
DOMAIN_URL = https://your-bucket.oss-cn-hangzhou.aliyuncs.com
MAX_SIZE = 50
```
@@ -235,12 +235,12 @@ class ArticleLogic extends BaseTenantLogic
```text
配置:
upload_dir = /data/uploads/rxthinkcmf
upload_dir = /opt/data/uploads
fileSaveDir = article
结果:
临时文件: /data/uploads/rxthinkcmf/temp/20260920/abc.jpg
正式文件: /data/uploads/rxthinkcmf/article/20260920/abc.jpg
临时文件: /opt/data/uploads/temp/20260920/abc.jpg
正式文件: /opt/data/uploads/article/20260920/abc.jpg
数据库存: /uploads/article/20260920/abc.jpg
前端显示: https://cdn.example.com/uploads/article/20260920/abc.jpg
```
@@ -252,7 +252,7 @@ class ArticleLogic extends BaseTenantLogic
```nginx
# 配置 Nginx 直接处理文件请求,不经过 PHP
location /uploads/ {
alias /data/uploads/rxthinkcmf/;
alias /opt/data/uploads/;
expires 30d;
add_header Cache-Control "public, immutable";
}
@@ -285,8 +285,8 @@ location ~ /\. {
```bash
# Linux
chmod -R 755 /data/uploads/rxthinkcmf
chown -R www:www /data/uploads/rxthinkcmf
chmod -R 755 /opt/data/uploads
chown -R www:www /opt/data/uploads
```
### 问题 2:上传后图片不显示
@@ -319,7 +319,7 @@ max_execution_time = 300
```bash
# 定时任务:每天凌晨清理 1 天前的临时文件
find /data/uploads/rxthinkcmf/temp/ -type f -mtime +1 -delete
find /opt/data/uploads/temp/ -type f -mtime +1 -delete
```
## 安全建议
+1 -1
View File
@@ -157,7 +157,7 @@ pnpm build # 生产环境构建
```bash
# 1. 从官方网站下载源码包并解压
cd thinkphp6
cd RXThinkCMF_ThinkPhp6_EleVue
# 2. 安装依赖
composer install