Files
SpineParticlesWeb/connector/README.md
T
2026-09-05 23:35:45 +08:00

74 lines
3.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.
# Spine粒子连接器
该连接器让部署在服务器上的 Spine粒子编辑器网页调用用户电脑中已安装、已激活的 Spine,把网页生成的 JSON 和图片转换成 `.spine` 工程。
## 使用方法
1. 正常安装、激活 Spine。
2. 使用 `release/connector/` 中的桌面版时,macOS 打开“Spine粒子连接器.app”,Windows 打开“Spine粒子连接器.exe”。应用打开后会自动启动连接器,不需要安装 Node.js。
3. 打开 Spine粒子编辑器网页。导出区域显示“连接器可用 · Spine 已就绪”后,点击“导出 .spine 包”。
4. 服务器网站首次连接时,状态栏会显示“授权当前网站”。点击后会打开本机确认页,核对显示的完整网站来源(协议、域名和端口)后点击“允许此网站”。授权一次后,连接器会在本机保存允许列表;回到网页后最多等待 3 秒或点击“刷新”。
本地开发地址 `127.0.0.1:5173``localhost:5173` 默认允许,不需要授权。
桌面窗口提供 Spine.com 路径输入框、系统文件选择器、“保存路径”“恢复自动检测”“启动连接”和“断开连接”。默认安装位置检测不到时,可手动指定命令行程序:Windows 选择 `Spine.com`macOS 选择 `Spine.app/Contents/MacOS/Spine`。关闭桌面应用会停止它启动的连接器。
项目根目录原有 `.command``.bat` 脚本仍然保留,可继续启动 Node 脚本版连接器。桌面版与脚本版使用同一个端口,不能同时运行。
授权按完整来源区分:`https://editor.example.com``http://editor.example.com``https://editor.example.com:8443` 是三个不同的授权项。生产环境建议始终使用 HTTPS 与固定域名。
网页下载的是 ZIP 压缩包,内部包含 `.spine` 工程和 JSON 引用的图片目录。浏览器不能直接下载文件夹,因此使用 ZIP 保留完整目录结构;默认结构为:
```text
SpineParticle.zip
├── SpineParticle.spine
└── images/
└── star.png
```
## 自动版本选择
连接器读取网页请求及 JSON 内的版本,两者必须一致。支持 `3.8``4.0``4.1``4.2``4.3`,调用 Spine 时分别使用 `3.8.xx``4.3.xx` 的最新可用补丁版本。
可通过环境变量覆盖自动找到的 Spine 路径:
```text
SPINE_EXECUTABLE=/自定义路径/Spine
```
也可以通过逗号分隔的环境变量预先允许生产网站:
```text
SPINE_CONNECTOR_ORIGINS=https://particle.example.com,https://editor.example.com
```
## 安全边界
- 服务只监听 `127.0.0.1:27843`,不会暴露到局域网或公网。
- 生产网站必须由用户在本机授权,授权结果保存在浏览器之外的连接器配置中。
- 接口只接受 JSON、图片、项目名称和受支持的 Spine 版本,不能执行网页提供的任意命令。
- 文件在系统临时目录转换,返回 `.spine` 后立即清理。
- 单个 JSON 最大 64MB,单图最大 32MB,图片总计最大 128MB,请求最大 200MB。
## 手动启动
在项目目录运行:
```text
npm run connector
```
健康检查地址:`http://127.0.0.1:27843/v1/health`
## 生成不依赖 Node.js 的桌面版
在目标操作系统上从项目根目录执行:
```text
npm run build:connector
```
macOS 会生成 `release/connector/macos-<架构>/Spine粒子连接器.app`Windows 会生成 `release/connector/windows-<架构>/Spine粒子连接器.exe`。桌面程序由 C++17 编写,运行时不依赖 Node.js。默认使用 macOS 的 Apple ClangWindows 应在 Visual Studio Developer Command Prompt 中执行,默认使用 MSVC,也可通过 `CXX` 指定 MinGW g++。
面向其他 Mac 正式分发时,建议使用 Apple Developer ID 对 `.app` 签名并公证,避免 Gatekeeper 提示。