feat: 更新服务地址为 192.168.1.9,修改相关配置以支持局域网访问
This commit is contained in:
+19
-8
@@ -3,7 +3,7 @@
|
||||
优先级:window.__DPM_*__ 全局变量(运行时可被 /api/config 引导覆盖)
|
||||
> Vite 环境变量(.env.local,构建时)> 内置默认
|
||||
内置默认(打包部署):Tauri 内 WebView 的 hostname 为 tauri.localhost,
|
||||
后端与 MQTT Broker 若与展播程序同机部署,回退到 127.0.0.1;
|
||||
后端与 MQTT Broker 若与展播程序同机部署,回退到 192.168.1.9;
|
||||
浏览器开发/局域网访问时回退到当前主机 hostname。
|
||||
========================================================= */
|
||||
|
||||
@@ -11,10 +11,10 @@ const env = import.meta.env || {};
|
||||
|
||||
/* 运行期解析(惰性读取 window.__DPM_*__,供 main.jsx bootstrap 覆盖后再生效) */
|
||||
function resolveHost() {
|
||||
const h = window.location.hostname || '127.0.0.1';
|
||||
// Tauri 打包 WebView(tauri.localhost / localhost)→ 服务同机部署用 127.0.0.1
|
||||
if (h === 'tauri.localhost' || h === 'localhost' || h === '127.0.0.1' || h.includes('tauri')) {
|
||||
return '127.0.0.1';
|
||||
const h = window.location.hostname || '192.168.1.9';
|
||||
// Tauri 打包 WebView(tauri.localhost / localhost)→ 服务同机部署用 192.168.1.9
|
||||
if (h === 'tauri.localhost' || h === 'localhost' || h === '192.168.1.9' || h.includes('tauri')) {
|
||||
return '192.168.1.9';
|
||||
}
|
||||
return h; // 浏览器开发/局域网:当前主机 IP
|
||||
}
|
||||
@@ -41,10 +41,21 @@ export function getMqttCredentials() {
|
||||
};
|
||||
}
|
||||
|
||||
/** 惰性读取 s2s 实时语音 WebSocket 地址(打包部署:tauri.localhost → 127.0.0.1) */
|
||||
/** 惰性读取 s2s 实时语音 WebSocket 地址。
|
||||
* 优先 config.json / VITE_VOICE_WS 显式配置;
|
||||
* 否则默认跟随 `api_base` 的主机名(s2s 由 s2s_bridge 在后端同机 :8765 启动),
|
||||
* 而不是页面 hostname(打包后是 tauri.localhost/192.168.1.9,会导致连本机回环而失败)。 */
|
||||
export function getVoiceWsUrl() {
|
||||
const baked = env.VITE_VOICE_WS || `ws://${resolveHost()}:8765/v1/realtime`;
|
||||
return window.__DPM_VOICE_WS__ || baked;
|
||||
if (window.__DPM_VOICE_WS__) return window.__DPM_VOICE_WS__;
|
||||
const baked = env.VITE_VOICE_WS;
|
||||
if (baked) return baked;
|
||||
let host;
|
||||
try {
|
||||
host = new URL(getApiBase()).hostname;
|
||||
} catch {
|
||||
host = resolveHost();
|
||||
}
|
||||
return `ws://${host}:8765/v1/realtime`;
|
||||
}
|
||||
|
||||
export const MQTT_TOPIC_COMMAND = 'opc/display/command';
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ import "./styles/global.css";
|
||||
启动引导(打包部署关键)—— 地址解析优先级:
|
||||
1. exe 旁 config.json(Tauri 命令读取,部署免重打包改 IP)★
|
||||
2. 后端 GET /api/config(MQTT 地址/账号,后端 .env 为准)
|
||||
3. 内置默认(Tauri 打包回退 127.0.0.1 / 浏览器用当前主机)
|
||||
3. 内置默认(Tauri 打包回退 192.168.1.9 / 浏览器用当前主机)
|
||||
结果写入 window.__DPM_*__,api.js / mqtt.js 惰性读取生效。
|
||||
========================================================= */
|
||||
async function bootstrapRuntimeConfig() {
|
||||
|
||||
@@ -13,7 +13,7 @@ import '../styles/datascreen.css';
|
||||
import './voice-original.css';
|
||||
import './voice-overrides.css';
|
||||
|
||||
// 惰性读取 s2s 地址:打包部署 tauri.localhost → 127.0.0.1,且可在 config.json 覆盖
|
||||
// 惰性读取 s2s 地址:打包部署 tauri.localhost → 192.168.1.9,且可在 config.json 覆盖
|
||||
const VOICE_URL = getVoiceWsUrl();
|
||||
// 基础提示词由后端统一管理(GET /api/s2s/instructions:配置提示词 + 园区知识库),
|
||||
// 前端不硬编码;此处仅为后端不可用时的兜底
|
||||
|
||||
Reference in New Issue
Block a user