4016636153
1. 新增oss-browser自动定位包装层脚本与注册批处理 2. 优化粘贴行为:焦点在输入框时交给浏览器默认粘贴 3. 新增一批调试与构建辅助脚本 4. 更新oss-browser下载页说明与步骤
82 lines
3.6 KiB
JavaScript
82 lines
3.6 KiB
JavaScript
// 构建 register_ossbrowser_launch.bat:模板 + 包装层 base64 块
|
||
// 源:public/tools/oss_browser_link/assets/ossbrowser_wrapper_main.js
|
||
// 产物:public/tools/oss_browser_link/assets/register_ossbrowser_launch.bat(CRLF)
|
||
const fs = require('fs')
|
||
const path = require('path')
|
||
|
||
const ROOT = path.join(__dirname, '..', '..')
|
||
const SRC = path.join(ROOT, 'public', 'tools', 'oss_browser_link', 'assets', 'ossbrowser_wrapper_main.js')
|
||
const OUT = path.join(ROOT, 'public', 'tools', 'oss_browser_link', 'assets', 'register_ossbrowser_launch.bat')
|
||
|
||
const b = fs.readFileSync(SRC).toString('base64')
|
||
const echoLines = []
|
||
for (let i = 0; i < b.length; i += 96) {
|
||
echoLines.push(`echo ${b.slice(i, i + 96)}>> "%~dp0_wrapper.b64"`)
|
||
}
|
||
|
||
const head = `@echo off
|
||
chcp 65001 >nul
|
||
setlocal
|
||
rem ==========================================
|
||
rem oss-browser 一键注册脚本(协议拉起 + 启动自动定位补丁)
|
||
rem 用法:把本文件放到与 oss-browser.exe 同一目录,双击运行
|
||
rem 作用:
|
||
rem 1. 在当前用户注册表(HKCU)注册 ossbrowser:// 协议,无需管理员权限
|
||
rem 2. 安装 resources\\app 包装层:启动时自动把默认 OSS 路径填进地址栏并定位(含正确 region)
|
||
rem 3. 生成 trae_default_oss_path.txt(第1行 oss 路径,第2行可选 region)
|
||
rem 卸载补丁:删除 resources\\app 目录与 trae_default_oss_path.txt 即恢复原版
|
||
rem ==========================================
|
||
set "EXE=%~dp0oss-browser.exe"
|
||
if not exist "%EXE%" (
|
||
echo.
|
||
echo [错误] 未在当前目录找到 oss-browser.exe
|
||
echo 请把本脚本放入解压后的 oss-browser-win32-x64 文件夹内(与 oss-browser.exe 同级)再运行。
|
||
echo.
|
||
pause
|
||
exit /b 1
|
||
)
|
||
reg add "HKCU\\Software\\Classes\\ossbrowser" /ve /d "URL:ossbrowser Protocol" /f >nul
|
||
reg add "HKCU\\Software\\Classes\\ossbrowser" /v "URL Protocol" /t REG_SZ /d "" /f >nul
|
||
reg add "HKCU\\Software\\Classes\\ossbrowser\\shell\\open\\command" /ve /d "\\"%EXE%\\" \\"%%1\\"" /f >nul
|
||
if errorlevel 1 (
|
||
echo [失败] 注册表写入出错。
|
||
pause
|
||
exit /b 1
|
||
)
|
||
echo [完成] 已注册 ossbrowser:// 协议。
|
||
|
||
rem ---- 安装启动自动定位包装层 ----
|
||
if not exist "%~dp0resources\\app" mkdir "%~dp0resources\\app"
|
||
echo {"name":"oss-browser","version":"1.18.0","main":"main.js"}> "%~dp0resources\\app\\package.json"
|
||
if exist "%~dp0_wrapper.b64" del "%~dp0_wrapper.b64" >nul
|
||
`
|
||
|
||
const tail = `if exist "%~dp0resources\\app\\main.js" del "%~dp0resources\\app\\main.js" >nul
|
||
certutil -decode "%~dp0_wrapper.b64" "%~dp0resources\\app\\main.js" >nul
|
||
if errorlevel 1 (
|
||
echo [警告] 包装层解码失败,跳过自动定位补丁(协议拉起仍可用)。
|
||
) else (
|
||
echo [完成] 已安装启动自动定位包装层(resources\\app)。
|
||
)
|
||
del "%~dp0_wrapper.b64" >nul
|
||
|
||
rem ---- 默认路径配置(已存在则不覆盖,尊重手动修改) ----
|
||
if not exist "%~dp0trae_default_oss_path.txt" (
|
||
echo oss://android-o1-images/trae-files-temp/> "%~dp0trae_default_oss_path.txt"
|
||
echo oss-cn-shanghai>> "%~dp0trae_default_oss_path.txt"
|
||
echo [完成] 已生成默认路径配置 trae_default_oss_path.txt
|
||
)
|
||
|
||
echo.
|
||
echo 现在可回到网页点击「打开 oss-browser」。
|
||
echo 首次拉起时浏览器会弹确认框,勾选“始终允许”后即为无感打开。
|
||
echo 启动后地址栏会自动定位到 trae_default_oss_path.txt 中的路径。
|
||
echo 该文件第1行为 oss 路径,第2行可选 region(默认 oss-cn-shanghai)。
|
||
echo.
|
||
pause
|
||
`
|
||
|
||
const bat = (head + echoLines.join('\r\n') + '\r\n' + tail).replace(/\r\n/g, '\n').replace(/\n/g, '\r\n')
|
||
fs.writeFileSync(OUT, bat)
|
||
console.log('bat written, echo lines =', echoLines.length)
|