Files
Toolbox/dev_test_scripts/tools/tool_build_wrapper_b64.js
yangxiangyuan 4016636153 feat(oss-browser-link): 实现一键注册+自动定位补丁功能
1. 新增oss-browser自动定位包装层脚本与注册批处理
2. 优化粘贴行为:焦点在输入框时交给浏览器默认粘贴
3. 新增一批调试与构建辅助脚本
4. 更新oss-browser下载页说明与步骤
2026-08-12 13:29:11 +08:00

82 lines
3.6 KiB
JavaScript
Raw Permalink 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.
// 构建 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)