From e88f216ae251d24b81d2677eb3531c860309e1b9 Mon Sep 17 00:00:00 2001 From: 15945162479 <15945162479@qq.com> Date: Sat, 13 Dec 2025 14:46:08 +0800 Subject: [PATCH] Add File --- src/elderly/services/xmovConfig.ts | 38 ++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/elderly/services/xmovConfig.ts diff --git a/src/elderly/services/xmovConfig.ts b/src/elderly/services/xmovConfig.ts new file mode 100644 index 0000000..d5d754c --- /dev/null +++ b/src/elderly/services/xmovConfig.ts @@ -0,0 +1,38 @@ +/** + * Configuration service for xmov credentials + */ + +import { XmovConfig } from '../types/xmov'; + +const DEFAULT_GATEWAY = 'https://nebula-agent.xingyun3d.com/user/v1/ttsa/session'; + +export const getXmovConfig = (): XmovConfig => { + const storedAppId = localStorage.getItem('XMOV_APP_ID'); + const storedAppSecret = localStorage.getItem('XMOV_APP_SECRET'); + + const envAppId = (import.meta as any).env?.VITE_XMOV_APP_ID || ''; + const envAppSecret = (import.meta as any).env?.VITE_XMOV_APP_SECRET || ''; + + const appId = storedAppId || envAppId; + const appSecret = storedAppSecret || envAppSecret; + + return { + appId, + appSecret, + gatewayServer: DEFAULT_GATEWAY, + }; +}; + +export const setXmovConfig = (appId: string, appSecret: string): void => { + localStorage.setItem('XMOV_APP_ID', appId); + localStorage.setItem('XMOV_APP_SECRET', appSecret); +}; + +export const isXmovConfigValid = (config: XmovConfig): boolean => { + return !!config.appId && !!config.appSecret && config.appId.trim() !== '' && config.appSecret.trim() !== ''; +}; + +export const clearXmovConfig = (): void => { + localStorage.removeItem('XMOV_APP_ID'); + localStorage.removeItem('XMOV_APP_SECRET'); +};