mirror of
https://github.com/HappyLifeOk/cc-3-8-x-mcp.git
synced 2026-06-10 17:56:47 +00:00
跨平台化:移除 AppleScript + 去 macOS 硬编码
- 删除浏览器交互的 AppleScript(osascript 控 Chrome/Safari 做截图/eval/刷新/打开), 改由外部 playwright MCP 承担;保留走 Editor.Message 的跨平台编辑器操作 - openDevDir 打开命令按平台分支(mac=open / win=explorer / linux=xdg-open) - execPath 解析弱化靠注册表/进程查询,删掉 /Applications macOS 硬编码兜底 - editor-control 去 macOS-only 假设,ps 进程查询按平台分支(win 用 wmic) - build-cmd Cocos 安装路径按平台拼 Win 特定逻辑(wmic、CocosDashboard 安装路径)标 TODO[win-verify],待 Windows 实测补全。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -41,15 +41,27 @@ function parseArgs(rest) {
|
||||
return a;
|
||||
}
|
||||
|
||||
// 解析 CocosCreator 可执行:--cocos 显式优先,否则 --version 拼标准安装路径(macOS)
|
||||
// 按平台拼 Cocos Creator 标准安装路径。Win/Linux 路径规律待目标平台实测,建议优先用 --cocos 显式。
|
||||
function cocosStdPath(ver) {
|
||||
if (process.platform === 'darwin') {
|
||||
return `/Applications/Cocos/Creator/${ver}/CocosCreator.app/Contents/MacOS/CocosCreator`;
|
||||
}
|
||||
if (process.platform === 'win32') {
|
||||
// TODO[win-verify]: Win 上 CocosDashboard 安装路径待实测确认(下面是常见默认,未验证)
|
||||
return `C:\\ProgramData\\cocos\\editors\\Creator\\${ver}\\CocosCreator.exe`;
|
||||
}
|
||||
return ''; // linux 等:无标准约定,要求 --cocos 显式
|
||||
}
|
||||
|
||||
// 解析 CocosCreator 可执行:--cocos 显式优先,否则 --version 拼标准安装路径
|
||||
function resolveCocos(a) {
|
||||
if (a.cocos) {
|
||||
if (!fs.existsSync(a.cocos)) die(`--cocos 路径不存在: ${a.cocos}`);
|
||||
return a.cocos;
|
||||
}
|
||||
if (a.version) {
|
||||
const p = `/Applications/Cocos/Creator/${a.version}/CocosCreator.app/Contents/MacOS/CocosCreator`;
|
||||
if (!fs.existsSync(p)) die(`版本 ${a.version} 不在标准路径: ${p}\n 用 --cocos <可执行绝对路径> 显式指定`);
|
||||
const p = cocosStdPath(a.version);
|
||||
if (!p || !fs.existsSync(p)) die(`版本 ${a.version} 不在标准安装路径${p ? ': ' + p : ''}\n 用 --cocos <可执行绝对路径> 显式指定`);
|
||||
return p;
|
||||
}
|
||||
die('需指定 CocosCreator 可执行:--cocos <path> 或 --version <如 3.8.8>');
|
||||
|
||||
Reference in New Issue
Block a user