feat: add runtime configuration for Kefu Chat SDK

- Introduced `readKefuChatRuntimeConfig` and `setKefuChatRuntimeConfig` functions to manage runtime configuration for the Kefu Chat SDK.
- Updated `useKefuChatStore` to utilize the new runtime configuration functions instead of the previous widget config methods.
- Modified the SDK build process to compile TypeScript instead of JavaScript, enhancing type safety and maintainability.
- Updated the minified SDK file to reflect the changes in configuration handling and TypeScript compilation.
This commit is contained in:
mlogclub
2026-05-06 19:28:49 +08:00
parent bd9fad68a7
commit 15710d294f
12 changed files with 651 additions and 606 deletions
+8 -4
View File
@@ -37,7 +37,10 @@ import {
import { summarizeIMMessage } from "@/lib/im-message"
import { createRealtimeConnectionManager } from "@/lib/realtime-connection"
import { generateUUID } from "@/lib/utils"
import { readKefuWidgetConfig, setKefuWidgetConfig } from "@/lib/kefu-widget-config"
import {
readKefuChatRuntimeConfig,
setKefuChatRuntimeConfig,
} from "@/lib/sdk/runtime-config"
type ChatStatus = "connecting" | "connected" | "disconnected"
@@ -277,9 +280,10 @@ export const useKefuChatStore = create<KefuChatStore>((set, get) => {
}
if (widgetConfig.channelId) {
setKefuWidgetConfig({
...readKefuWidgetConfig(),
channelId: widgetConfig.channelId || readKefuWidgetConfig().channelId,
setKefuChatRuntimeConfig({
...readKefuChatRuntimeConfig(),
channelId:
widgetConfig.channelId || readKefuChatRuntimeConfig().channelId,
})
}