This commit is contained in:
2026-06-05 11:26:51 +07:00
parent f5cf988421
commit b57403d373

View File

@@ -4,6 +4,12 @@ import msghandlerCSR from './msghandler-csr.js';
export const connectionStatus = writable(null); export const connectionStatus = writable(null);
let config = null;
export function setConfig(cfg) {
config = cfg;
}
connectionStatus.subscribe(status => { connectionStatus.subscribe(status => {
console.log('[NATS] Status updated:', status); console.log('[NATS] Status updated:', status);
}); });
@@ -15,7 +21,7 @@ let reconnectTimer = null;
let isDisconnecting = false; let isDisconnecting = false;
export async function getNats(opts = {}) { export async function getNats(opts = {}) {
const servers = opts.servers || (import.meta.env.VITE_NATS_URL) || "wss://nats.yiem.cc"; const servers = opts.servers || (import.meta.env.VITE_NATS_URL) || (config?.nats_server_info?.url) || "wss://nats.yiem.cc";
console.log('[NATS] Connecting to:', servers); console.log('[NATS] Connecting to:', servers);
try { try {
connectionStatus.set({ state: "connecting", message: `connecting to ${servers}` }); connectionStatus.set({ state: "connecting", message: `connecting to ${servers}` });
@@ -133,16 +139,17 @@ export async function closeNats() {
} }
} }
export async function connectNATS(brokerUrl, config) { export async function connectNATS(brokerUrl, cfg) {
console.log('[NATS] Connecting with broker URL:', brokerUrl); console.log('[NATS] Connecting with broker URL:', brokerUrl);
let serverUrl = brokerUrl; let serverUrl = brokerUrl;
if (!serverUrl && config) { if (!serverUrl && cfg) {
serverUrl = config?.nats_server_info?.url || 'wss://nats.yiem.cc'; serverUrl = cfg?.nats_server_info?.url || 'wss://nats.yiem.cc';
} }
console.log('[NATS] Using server URL:', serverUrl); console.log('[NATS] Using server URL:', serverUrl);
setConfig(cfg);
await getNats({ servers: serverUrl }); await getNats({ servers: serverUrl });
} }
@@ -207,11 +214,12 @@ export async function sendMsghandlerRequest(subject, functioncall, args, config)
}; };
const brokerUrl = config?.nats_server_info?.url || 'wss://nats.yiem.cc'; const brokerUrl = config?.nats_server_info?.url || 'wss://nats.yiem.cc';
const fileserverUrl = config?.file_server_url || 'http://localhost:8080';
const [envelope, envelopeJsonStr] = await msghandlerCSR.smartpack( const [envelope, envelopeJsonStr] = await msghandlerCSR.smartpack(
subject, subject,
[["db_request", payload, "dictionary"]], [["db_request", payload, "dictionary"]],
{ broker_url: brokerUrl } { broker_url: brokerUrl, fileserver_url: fileserverUrl }
); );
console.log('[NATS] Request envelope created, sending...'); console.log('[NATS] Request envelope created, sending...');
@@ -228,11 +236,3 @@ export async function sendMsghandlerRequest(subject, functioncall, args, config)
console.log('[NATS] Request successful:', data); console.log('[NATS] Request successful:', data);
return data; return data;
} }
if (type === "text") {
console.error('[NATS] Error response:', data);
throw new Error(data);
}
}
throw new Error('No valid response found');
}