Files
SoonDesign/api/README.md
T
24kycj 2e6578247e 网页端:平台桥与部署修复(宝塔/Nginx)
- lib/platform:网页 Electron 统一 bridge/web/electron,子目录 API 基路径、返回首页跳站点根、路径末尾斜杠兼容
- index/design*.web.html:网页入口,web.js 加缓存参数避免旧脚本缓存
- api:PHP 读写 soon;文档说明目录权限与 Nginx
- lib/design*、lib/index:与 platformBridge 对接及网页侧逻辑
- 公共资源 JsBarcode/jr-qrcode;文档与 package/README/.gitignore 等同步更新

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-09 18:57:53 +08:00

98 lines
2.8 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.
# SoonDesign 网页端服务器文件保存 API
## 功能说明
网页端默认将文件保存在浏览器缓存(localStorage/sessionStorage)中。通过部署这些 API 接口,可以实现将文件保存到服务器,实现真正的文件持久化。
## 部署步骤
### 1. 上传 API 文件
`api` 目录下的 PHP 文件上传到服务器的 `/api/` 目录(相对于网站根目录)。
例如,如果网站根目录是 `/www/wwwroot/soonWebsite/`,则:
- `save_file.php``/www/wwwroot/soonWebsite/api/save_file.php`
- `read_file.php``/www/wwwroot/soonWebsite/api/read_file.php`
### 2. 创建文件存储目录
创建用于存储 `.soon` 文件的目录:
```bash
mkdir -p /www/wwwroot/soonWebsite/design/files
chmod 755 /www/wwwroot/soonWebsite/design/files
```
### 3. 配置 Nginx(如果需要)
确保 Nginx 配置允许访问 `/api/``/design/files/` 目录:
```nginx
location /api/ {
try_files $uri $uri/ =404;
}
location /design/files/ {
alias /www/wwwroot/soonWebsite/design/files/;
# 允许列出文件(可选)
autoindex off;
}
```
### 4. 测试 API
访问以下 URL 测试 API 是否正常工作:
- 保存文件:`http://114.55.133.123:8888/api/save_file.php`
- 读取文件:`http://114.55.133.123:8888/api/read_file.php?fileName=test.soon`
## 工作原理
1. **自动检测服务器环境**:网页端会自动检测是否在服务器环境(非 localhost/127.0.0.1
2. **保存文件**:当用户保存文件时,如果是服务器环境,会自动调用 `save_file.php` 将文件上传到服务器
3. **读取文件**:当打开文件时,如果是服务器文件路径,会自动调用 `read_file.php` 从服务器读取
4. **降级处理**:如果服务器保存失败,会自动降级为浏览器下载
## 文件存储位置
所有保存的 `.soon` 文件存储在:
```
/design/files/
```
文件访问路径为:
```
http://114.55.133.123:8888/design/files/文件名.soon
```
## 安全说明
- API 接口已包含文件名清理,防止路径遍历攻击
- 建议在生产环境中添加身份验证(如 Token 验证)
- 建议限制文件大小和类型
- 建议定期清理旧文件
## 故障排除
### 问题:保存时提示"保存失败"
**可能原因:**
1. API 文件路径不正确
2. 文件存储目录权限不足
3. PHP 配置问题
**解决方法:**
1. 检查 API 文件是否在正确位置
2. 检查目录权限:`chmod 755 /www/wwwroot/soonWebsite/design/files`
3. 检查 PHP 错误日志
### 问题:文件保存后找不到
**可能原因:**
1. 文件保存路径配置错误
2. Nginx 配置问题
**解决方法:**
1. 检查 `save_file.php` 中的 `$saveDir` 路径
2. 检查 Nginx 配置是否正确指向文件目录