refactor: clean up apiBaseUrl handling in config merging

This commit is contained in:
mlogclub
2026-04-24 22:32:34 +08:00
parent add8cbfd89
commit 6ffbbb04ae
3 changed files with 11 additions and 9 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ export type ImRealtimeEnvelope = {
export function createImRealtimeConnection() {
const config = readKefuWidgetConfig()
const apiBaseUrl = (config.apiBaseUrl || config.baseUrl || "").trim()
const apiBaseUrl = (config.apiBaseUrl || "").trim()
const baseUrl = apiBaseUrl
? apiBaseUrl.replace(/^http/, "ws").replace(/\/$/, "")
: createWebSocketBaseUrl()
+5 -4
View File
@@ -41,7 +41,11 @@
}
}
merged.baseUrl = String(merged.baseUrl || window.location.origin).replace(/\/$/, "");
merged.apiBaseUrl = String(merged.apiBaseUrl || merged.baseUrl).replace(/\/$/, "");
if (merged.apiBaseUrl) {
merged.apiBaseUrl = String(merged.apiBaseUrl).replace(/\/$/, "");
} else {
delete merged.apiBaseUrl;
}
merged.channelId = String(merged.channelId || "");
merged.externalSource = String(merged.externalSource || "web_chat");
return merged;
@@ -365,9 +369,6 @@
if (!rawConfig.baseUrl) {
state.config.baseUrl = widgetBaseUrl;
}
if (!rawConfig.apiBaseUrl) {
state.config.apiBaseUrl = state.config.baseUrl;
}
if (!state.config.channelId) {
console.error("[cs-agent-widget] channelId is required");
return;
+5 -4
View File
@@ -41,7 +41,11 @@
}
}
merged.baseUrl = String(merged.baseUrl || window.location.origin).replace(/\/$/, "");
merged.apiBaseUrl = String(merged.apiBaseUrl || merged.baseUrl).replace(/\/$/, "");
if (merged.apiBaseUrl) {
merged.apiBaseUrl = String(merged.apiBaseUrl).replace(/\/$/, "");
} else {
delete merged.apiBaseUrl;
}
merged.channelId = String(merged.channelId || "");
merged.externalSource = String(merged.externalSource || "web_chat");
return merged;
@@ -365,9 +369,6 @@
if (!rawConfig.baseUrl) {
state.config.baseUrl = widgetBaseUrl;
}
if (!rawConfig.apiBaseUrl) {
state.config.apiBaseUrl = state.config.baseUrl;
}
if (!state.config.channelId) {
console.error("[cs-agent-widget] channelId is required");
return;