11import { app } from "../../scripts/app.js" ;
2+ import { getCookie } from "./subassembly/tools.js" ;
23
34const createModelFetchExtension = ( nodeName , endpoint ) => {
45 return {
@@ -15,11 +16,48 @@ const createModelFetchExtension = (nodeName, endpoint) => {
1516
1617 const fetchModels = async ( ) => {
1718 try {
19+ // 首先检查服务器模式
20+ const serverModeResponse = await fetch ( "/bizyair/server_mode" ) ;
21+ const serverModeData = await serverModeResponse . json ( ) ;
22+
23+ if ( serverModeData . data . server_mode ) {
24+ // 服务器模式,需要token
25+ return new Promise ( ( resolve ) => {
26+ const checkToken = ( ) => {
27+ const token = getCookie ( "bizy_token" ) ;
28+ if ( token ) {
29+ clearInterval ( timer ) ;
30+ fetchWithToken ( token ) . then ( resolve ) ;
31+ }
32+ } ;
33+
34+ const timer = setInterval ( checkToken , 300 ) ;
35+ checkToken ( ) ; // 立即执行一次检查
36+ } ) ;
37+ } else {
38+ // 非服务器模式,直接发送请求
39+ return fetchWithToken ( ) ;
40+ }
41+ } catch ( error ) {
42+ console . error ( `Error fetching ${ nodeName } models` , error ) ;
43+ return [ ] ;
44+ }
45+ } ;
46+
47+ const fetchWithToken = async ( token ) => {
48+ try {
49+ const headers = {
50+ "Content-Type" : "application/json"
51+ } ;
52+
53+ // 只有在token存在时才添加Authorization头
54+ if ( token ) {
55+ headers [ "Authorization" ] = `Bearer ${ token } ` ;
56+ }
57+
1858 const response = await fetch ( endpoint , {
1959 method : "POST" ,
20- headers : {
21- "Content-Type" : "application/json" ,
22- } ,
60+ headers : headers ,
2361 body : JSON . stringify ( { } ) ,
2462 } ) ;
2563
0 commit comments