call-live-sdk 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
+ import { GlobalError } from '../../stores/sdkStore';
2
3
  interface ErrorPageProps {
3
- errorCode?: number;
4
- errorMessage?: string;
4
+ error: GlobalError;
5
+ onClose?: () => void;
5
6
  onRetry?: () => void;
6
7
  }
7
8
  declare const ErrorPage: React.FC<ErrorPageProps>;
@@ -1,15 +1,18 @@
1
1
  import React, { Component, ReactNode } from 'react';
2
+ import { GlobalError } from '../stores/sdkStore';
2
3
  interface Props {
3
4
  children: ReactNode;
4
5
  }
5
6
  interface State {
6
7
  hasError: boolean;
8
+ globalError: GlobalError | null;
7
9
  }
8
10
  /**
9
11
  * 全局错误边界组件
10
12
  * 用于捕获SDK运行时的所有错误,并将其转换为全局错误状态
11
13
  */
12
14
  export declare class GlobalErrorBoundary extends Component<Props, State> {
15
+ private unsubscribe;
13
16
  constructor(props: Props);
14
17
  /**
15
18
  * 静态方法,捕获JavaScript错误
@@ -19,11 +22,11 @@ export declare class GlobalErrorBoundary extends Component<Props, State> {
19
22
  */
20
23
  static getDerivedStateFromError(_error: Error): State;
21
24
  /**
22
- * 组件挂载时注册全局错误事件监听
25
+ * 组件挂载时注册全局错误事件监听和状态订阅
23
26
  */
24
27
  componentDidMount(): void;
25
28
  /**
26
- * 组件卸载时移除全局错误事件监听
29
+ * 组件卸载时移除全局错误事件监听和状态订阅
27
30
  */
28
31
  componentWillUnmount(): void;
29
32
  /**
@@ -33,7 +36,7 @@ export declare class GlobalErrorBoundary extends Component<Props, State> {
33
36
  */
34
37
  componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
35
38
  /**
36
- * 处理API错误事件
39
+ * 处理API错误事件 - 只用于SDK参数校验
37
40
  * @param event 自定义事件对象
38
41
  */
39
42
  private handleApiError;
@@ -43,14 +46,38 @@ export declare class GlobalErrorBoundary extends Component<Props, State> {
43
46
  */
44
47
  private handleTokenExpired;
45
48
  /**
46
- * 处理参数校验错误事件
49
+ * 处理资源不存在错误事件
47
50
  * @param event 自定义事件对象
48
51
  */
49
- private handleParamValidationError;
52
+ private handleNotFoundError;
53
+ /**
54
+ * 处理网络超时错误事件
55
+ * @param event 自定义事件对象
56
+ */
57
+ private handleTimeoutError;
58
+ /**
59
+ * 处理服务器错误事件
60
+ * @param event 自定义事件对象
61
+ */
62
+ private handleServerError;
63
+ /**
64
+ * 处理客户端错误事件
65
+ * @param event 自定义事件对象
66
+ */
67
+ private handleClientError;
68
+ /**
69
+ * 处理未知错误事件
70
+ * @param event 自定义事件对象
71
+ */
72
+ private handleUnknownError;
50
73
  /**
51
74
  * 清除错误
52
75
  */
53
76
  private handleClearError;
77
+ /**
78
+ * 重试功能
79
+ */
80
+ private handleRetry;
54
81
  /**
55
82
  * 渲染组件
56
83
  * @returns React节点
@@ -17,6 +17,6 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryS
17
17
  static getDerivedStateFromError(error: Error): ErrorBoundaryState;
18
18
  componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
19
19
  handleRetry: () => void;
20
- render(): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element;
20
+ render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
21
21
  }
22
22
  export default ErrorBoundary;
@@ -23,6 +23,21 @@ declare class CallLiveSdk {
23
23
  * 销毁SDK
24
24
  */
25
25
  destroy(): void;
26
+ /**
27
+ * 测试 API 错误(用于调试和验证错误处理机制)
28
+ * @param errorCode 错误代码
29
+ * @param errorMessage 错误信息
30
+ */
31
+ testApiError(errorCode?: number, errorMessage?: string): void;
32
+ /**
33
+ * 测试 Token 过期错误(用于调试和验证错误处理机制)
34
+ */
35
+ testTokenExpired(): void;
36
+ /**
37
+ * 测试参数验证错误(用于调试和验证错误处理机制)
38
+ * @param errorMessage 错误信息
39
+ */
40
+ testParamValidationError(errorMessage?: string): void;
26
41
  }
27
42
  declare class GuestCallSdk {
28
43
  private config;
@@ -19,6 +19,11 @@ interface SdkStore {
19
19
  callConfig: CallSDKConfig | null;
20
20
  setCallConfig: (config: CallSDKConfig) => void;
21
21
  getLiveId: () => number | undefined;
22
+ /**
23
+ * 获取当前SDK配置
24
+ * @returns 当前SDK配置对象或null
25
+ */
26
+ getAgentId: () => number | undefined;
22
27
  updateCallConfig: (partialConfig: Partial<CallSDKConfig>) => void;
23
28
  guestConfig: GuestSDKConfig | null;
24
29
  setGuestConfig: (config: GuestSDKConfig) => void;
@@ -17,14 +17,17 @@ export interface ComponentsConfig {
17
17
  call: {
18
18
  enabled: boolean;
19
19
  inviteLink: string;
20
- agent_id: number;
21
20
  };
22
21
  }
23
22
  export interface CallSDKConfig {
24
23
  /** 挂载元素 */
25
24
  el: HTMLElement | string;
26
25
  /** 直播配置 */
27
- live: LiveConfig;
26
+ liveId: number;
27
+ /** 直播标题 */
28
+ title: string;
29
+ /** 商户ID */
30
+ agentId: number;
28
31
  /** 签名信息 */
29
32
  sign: string;
30
33
  /** 组件配置 */
@@ -0,0 +1,7 @@
1
+ export * from './common';
2
+ export * from './env';
3
+ export * from './eventbus';
4
+ export * from './resource';
5
+ export * from './sign';
6
+ export * from './utiles';
7
+ export * from './variable';
@@ -0,0 +1,44 @@
1
+ export declare const DEFAULT_SIGN_PREFIX = "feiayo_callsdk";
2
+ /**
3
+ * Sign存储配置选项
4
+ */
5
+ export interface SignStorageOptions {
6
+ /** 存储前缀,默认为 'feiayo_callsdk' */
7
+ prefix?: string;
8
+ /** 存储键名,默认为 'sign' */
9
+ key?: string;
10
+ }
11
+ /**
12
+ * 获取完整的sign存储键名
13
+ * @param options 存储配置选项
14
+ * @returns 完整的存储键名
15
+ */
16
+ export declare function getSignStorageKey(options?: SignStorageOptions): string;
17
+ /**
18
+ * 保存sign到localStorage
19
+ * @param sign 要保存的sign值
20
+ * @param options 存储配置选项
21
+ */
22
+ export declare function saveSign(sign: string, options?: SignStorageOptions): void;
23
+ /**
24
+ * 从localStorage获取sign
25
+ * @param options 存储配置选项
26
+ * @returns 保存的sign值,如果不存在则返回null
27
+ */
28
+ export declare function getSign(options?: SignStorageOptions): string | null;
29
+ /**
30
+ * 从localStorage移除sign
31
+ * @param options 存储配置选项
32
+ */
33
+ export declare function removeSign(options?: SignStorageOptions): void;
34
+ /**
35
+ * 检查sign是否已存在
36
+ * @param options 存储配置选项
37
+ * @returns 如果sign存在则返回true,否则返回false
38
+ */
39
+ export declare function hasSign(options?: SignStorageOptions): boolean;
40
+ /**
41
+ * 清除所有带有指定前缀的sign相关数据
42
+ * @param prefix 要清除的前缀,默认为 DEFAULT_SIGN_PREFIX
43
+ */
44
+ export declare function clearSignsByPrefix(prefix?: string): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "call-live-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "type": "module",
5
5
  "main": "./dist/call-live-sdk.umd.js",
6
6
  "module": "./dist/call-live-sdk.es.js",