This commit is contained in:
eric
2026-03-25 04:14:22 -05:00
parent f6912cff20
commit 17ba5a83d1
9 changed files with 107 additions and 288 deletions

View File

@@ -57,7 +57,7 @@ export function applyAppHostBootstrap(getBackendRoot: () => string): void {
}
const ver = app.getVersion()
const desc = readPackageJsonField('description') || '直播录制与转播控制台'
const desc = readPackageJsonField('description') || '无人直播与转播控制台'
app.setAboutPanelOptions({
applicationName: app.getName(),
applicationVersion: ver,
@@ -85,14 +85,6 @@ export function applyAppHostBootstrap(getBackendRoot: () => string): void {
if (process.platform === 'win32') {
try {
app.setUserTasks([
{
program: process.execPath,
arguments: '--nav=desk',
title: '工作台',
description: '打开工作台仪表盘',
iconPath: process.execPath,
iconIndex: 0,
},
{
program: process.execPath,
arguments: '--nav=record',

View File

@@ -181,7 +181,7 @@ function resolveWeb2Host(): string {
} catch {
/* ignore */
}
return '127.0.0.1'
return '0.0.0.0'
}
function resolveWeb2ApiTokenForChild(): string | undefined {
@@ -323,7 +323,7 @@ function startPythonBackend(backendRoot: string, pythonExe: string): void {
const apiTok = resolveWeb2ApiTokenForChild()
if (web2Host === '0.0.0.0' && !apiTok) {
console.warn(
'[直播录制助手] web2 监听 0.0.0.0 但未设置 WEB2_API_TOKEN 或 config/web2_api_token.txt,API 无鉴权,请勿暴露到公网。',
'[无人直播助手] web2 监听 0.0.0.0 但未设置 WEB2_API_TOKEN 或 config/web2_api_token.txt,API 无鉴权,请勿暴露到公网。',
)
}
const env = {
@@ -351,7 +351,7 @@ function startPythonBackend(backendRoot: string, pythonExe: string): void {
pythonChild.on('close', (code) => {
if (!mainWindow || mainWindow.isDestroyed()) return
if (code !== 0 && code !== null) {
dialog.showErrorBox('直播录制助手', `软件内部服务已停止运行。\n\n${stderrTail()}`)
dialog.showErrorBox('无人直播助手', `软件内部服务已停止运行。\n\n${stderrTail()}`)
}
})
}
@@ -391,7 +391,7 @@ async function createWindow(): Promise<void> {
minHeight: 560,
show: false,
backgroundColor: '#14161c',
title: '直播录制助手',
title: '无人直播助手',
autoHideMenuBar: true,
webPreferences: {
preload: resolvePreload(),
@@ -413,7 +413,7 @@ async function createWindow(): Promise<void> {
try {
await waitForDevServer(devUrl)
} catch (e) {
dialog.showErrorBox('直播录制助手', e instanceof Error ? e.message : String(e))
dialog.showErrorBox('无人直播助手', e instanceof Error ? e.message : String(e))
mainWindow.destroy()
mainWindow = null
return
@@ -431,7 +431,7 @@ async function createWindow(): Promise<void> {
} catch {
if (i === 7) {
dialog.showErrorBox(
'直播录制助手',
'无人直播助手',
`无法加载开发页面:${devUrl}\n请确认 Vite 已启动且端口未被占用。`,
)
mainWindow.destroy()
@@ -442,7 +442,7 @@ async function createWindow(): Promise<void> {
}
}
} catch (e) {
dialog.showErrorBox('直播录制助手', e instanceof Error ? e.message : String(e))
dialog.showErrorBox('无人直播助手', e instanceof Error ? e.message : String(e))
mainWindow.destroy()
mainWindow = null
return
@@ -655,6 +655,9 @@ if (!gotLock) {
if (typeof enabled !== 'boolean') {
return { ok: false, error: '参数无效' }
}
if (enabled === false) {
return { ok: false, error: '本应用固定开启局域网 / 虚拟网访问,无法关闭。' }
}
const br = _backendRoot ?? getBackendRoot()
const cfgDir = path.join(br, 'config')
fs.mkdirSync(cfgDir, { recursive: true })
@@ -685,7 +688,7 @@ if (!gotLock) {
if (!fs.existsSync(path.join(backendRoot, 'web2.py'))) {
dialog.showErrorBox(
'直播录制助手',
'无人直播助手',
`未找到程序必要文件,当前安装可能不完整。\n\n路径:${backendRoot}\n\n开发调试:请在项目根目录保留 web2.py,并在 electron 目录执行 pnpm dev。`,
)
app.quit()
@@ -698,7 +701,7 @@ if (!gotLock) {
await waitForHealth()
} catch (e) {
dialog.showErrorBox(
'直播录制助手',
'无人直播助手',
`软件未能正常启动。\n\n${e instanceof Error ? e.message : String(e)}`,
)
killPythonTree()