This commit is contained in:
+1
-1
@@ -8,7 +8,7 @@
|
||||
import { getApiBase, getToken } from './client.js'
|
||||
import { APP_VERSION, BUILD_ID } from '../version.js'
|
||||
|
||||
// 判断是否在 Tauri WebView 内 (与 src/debug/pagespy.js 同样的判定)
|
||||
// 判断是否在 Tauri WebView 内 (有 __TAURI_INTERNALS__ 即 Tauri 环境)
|
||||
const inTauri = typeof window !== 'undefined' && '__TAURI_INTERNALS__' in window
|
||||
|
||||
// 拼接绝对 URL: 在 Tauri (VITE_API_BASE 有值) 时直连, 否则同源
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
// 仅在 Tauri WebView 内启用 PageSpy, 用于生产环境远程调试.
|
||||
// web 模式 (Vite dev / 浏览器) 通过检测 window.__TAURI_INTERNALS__ 直接跳过,
|
||||
// 配合 dynamic import 让 page-spy 这个 chunk 在 web 模式下完全不下载.
|
||||
// VITE_PAGESPY_API 留空可关闭连接 (例如本地调试不想连远端 PageSpy 服务时).
|
||||
// 加载失败不阻塞应用启动, 仅 console.warn 提示.
|
||||
|
||||
const PAGESPY_API = import.meta.env.VITE_PAGESPY_API || 'http://bh.vps.honor3.com:6752'
|
||||
const inTauri = typeof window !== 'undefined' && '__TAURI_INTERNALS__' in window
|
||||
|
||||
if (inTauri && PAGESPY_API) {
|
||||
// 动态 import: 仅在 Tauri 内才下载 page-spy chunk
|
||||
import('@huolala-tech/page-spy')
|
||||
.then(({ default: PageSpy }) => {
|
||||
// PageSpy 默认会 hook fetch / XMLHttpRequest, 自动抓取网络请求和错误
|
||||
const instance = new PageSpy({ api: PAGESPY_API })
|
||||
window.__IBOARD_PAGESPY__ = instance
|
||||
})
|
||||
.catch((err) => {
|
||||
console.warn('[PageSpy] init failed:', err)
|
||||
})
|
||||
}
|
||||
+24
-27
@@ -1,28 +1,25 @@
|
||||
// 远程调试: 仅在 Tauri WebView 内启用, web 模式自动跳过
|
||||
import './debug/pagespy.js'
|
||||
|
||||
// 移动端 UI 框架: 全局样式 + 主题 (antd-mobile 5)
|
||||
import 'antd-mobile/es/global'
|
||||
|
||||
import React from 'react'
|
||||
import ReactDOM from 'react-dom/client'
|
||||
import { BrowserRouter } from 'react-router-dom'
|
||||
import App from './App.jsx'
|
||||
import { AuthProvider } from './auth/AuthContext.jsx'
|
||||
import { initOta } from './api/ota.js'
|
||||
import './styles/globals.css'
|
||||
|
||||
// OTA 启动: 仅 Tauri 内生效
|
||||
// - notifyReady: 确认当前资源可用, 否则下次启动自动回滚 (hotswap 插件行为)
|
||||
// - 异步执行, 不阻塞 React 挂载
|
||||
initOta()
|
||||
|
||||
ReactDOM.createRoot(document.getElementById('root')).render(
|
||||
<React.StrictMode>
|
||||
<BrowserRouter>
|
||||
<AuthProvider>
|
||||
<App />
|
||||
</AuthProvider>
|
||||
</BrowserRouter>
|
||||
</React.StrictMode>,
|
||||
// 移动端 UI 框架: 全局样式 + 主题 (antd-mobile 5)
|
||||
import 'antd-mobile/es/global'
|
||||
|
||||
import React from 'react'
|
||||
import ReactDOM from 'react-dom/client'
|
||||
import { BrowserRouter } from 'react-router-dom'
|
||||
import App from './App.jsx'
|
||||
import { AuthProvider } from './auth/AuthContext.jsx'
|
||||
import { initOta } from './api/ota.js'
|
||||
import './styles/globals.css'
|
||||
|
||||
// OTA 启动: 仅 Tauri 内生效
|
||||
// - notifyReady: 确认当前资源可用, 否则下次启动自动回滚 (hotswap 插件行为)
|
||||
// - 异步执行, 不阻塞 React 挂载
|
||||
initOta()
|
||||
|
||||
ReactDOM.createRoot(document.getElementById('root')).render(
|
||||
<React.StrictMode>
|
||||
<BrowserRouter>
|
||||
<AuthProvider>
|
||||
<App />
|
||||
</AuthProvider>
|
||||
</BrowserRouter>
|
||||
</React.StrictMode>,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user