77 getCurrentBrowserConfig ,
88 getServerDefaultConfig ,
99 fetchConfigFromServer ,
10+ fetchRawConfigFromServer ,
11+ fetchVersionConfigFromServer ,
1012} from './config-helpers'
1113
1214export interface RustFSConfig {
@@ -33,25 +35,6 @@ let configCacheTime = 0
3335const CACHE_DURATION = 60000 // 1分钟缓存
3436
3537export const configManager = {
36- // 获取当前host配置
37- getCurrentHostConfig ( ) : SiteConfig {
38- // 优先使用localStorage中保存的配置
39- const storedResult = getStoredHostConfig ( )
40- if ( storedResult . config ) {
41- return storedResult . config
42- }
43-
44- // 使用当前浏览器地址
45- const browserResult = getCurrentBrowserConfig ( )
46- if ( browserResult . config ) {
47- return browserResult . config
48- }
49-
50- // 服务端fallback
51- const defaultResult = getServerDefaultConfig ( )
52- return defaultResult . config !
53- } ,
54-
5538 // 从 nuxt runtimeconfig 读取配置
5639 loadRuntimeConfig ( ) : SiteConfig | null {
5740 try {
@@ -111,38 +94,35 @@ export const configManager = {
11194 if ( storedResult . config ) {
11295 config = storedResult . config
11396 } else {
114- // // 2. 尝试从服务器获取配置 (当前浏览器host:9001/config.json)
115- // const serverConfig = await this.loadConfigFromServer()
116- // if (serverConfig) {
117- // config = serverConfig
118- // } else {
119- // 3. 使用当前浏览器地址
97+ // 2. 使用当前浏览器地址
12098 const browserResult = getCurrentBrowserConfig ( )
12199 if ( browserResult . config ) {
122100 config = browserResult . config
123101 } else {
124- // 4 . 使用 runtimeconfig
102+ // 3 . 使用 runtimeconfig
125103 const runtimeConfig = this . loadRuntimeConfig ( )
126104 if ( runtimeConfig ) {
127105 config = runtimeConfig
128106 } else {
129- // 5. 最后使用服务端默认值
107+ // 4. 最后使用localhost默认值
130108 const defaultResult = getServerDefaultConfig ( )
131109 config = defaultResult . config !
132110 }
133- // }
134111 }
135112 }
136113
137- // 无论配置来源如何,最后必须使用服务器的release信息
114+ // get version config from server
138115 try {
139- const serverConfig = await this . loadConfigFromServer ( )
140- if ( serverConfig && serverConfig . release && serverConfig . release . version && serverConfig . release . date ) {
141- config . release = serverConfig . release
116+ // get version config from server api (next version)
117+ const serverConfig = await fetchRawConfigFromServer ( config . serverHost )
118+ if ( serverConfig && serverConfig ?. release ?. version && serverConfig ?. release ?. date ) {
119+ config . release = {
120+ version : serverConfig . release . version ,
121+ date : serverConfig . release . date ,
122+ }
142123 }
143124 } catch ( error ) {
144125 logger . warn ( 'Failed to get release info from server:' , error )
145- // 继续使用现有的release信息,不影响其他配置
146126 }
147127
148128 // 缓存配置
@@ -162,26 +142,4 @@ export const configManager = {
162142 const config = await this . loadConfig ( )
163143 return ! ! ( config ?. serverHost && config ?. api ?. baseURL )
164144 } ,
165-
166- // 强制从服务器重新加载配置并更新缓存
167- async reloadConfigFromServer ( ) : Promise < SiteConfig | null > {
168- try {
169- // 清除缓存
170- this . clearCache ( )
171-
172- // 从服务器加载配置
173- const config = await this . loadConfigFromServer ( )
174- if ( config ) {
175- // 更新缓存
176- configCache = config
177- configCacheTime = Date . now ( )
178- logger . info ( 'Configuration reloaded from server successfully' )
179- }
180- return config
181- } catch ( error ) {
182- const configError = handleConfigError ( error , 'reloading config from server' )
183- logger . error ( 'Failed to reload config from server:' , configError . message )
184- return null
185- }
186- } ,
187145}
0 commit comments