@gup-fe/js-sdk 2.0.0 → 2.1.0

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.
package/README.md CHANGED
@@ -27,10 +27,18 @@ pnpm add @gup-fe/js-sdk
27
27
  ```javascript
28
28
  import { login } from '@gup-fe/js-sdk';
29
29
 
30
- // 一键调出登录弹窗
31
- login({
30
+ // 一键调出登录弹窗并获取其控制句柄
31
+ const { close } = login({
32
32
  gameId: '5242',
33
- // loginTypes: ['phone', 'uid'] // 可选:指定开启哪些登录方式
33
+ // loginTypes: ['phone', 'uid'], // 可选:指定开启哪些登录方式
34
+ onLoginSuccess: (data) => {
35
+ console.log('🎉 登录成功!获取到的数据:', data)
36
+ // 成功后主动关闭登录弹窗
37
+ close()
38
+ },
39
+ onLoginError: (error) => {
40
+ console.error('❌ 登录失败:', error)
41
+ }
34
42
  });
35
43
  ```
36
44
 
@@ -103,6 +111,8 @@ function App() {
103
111
  | ------------ | -------------- | ---- | ------ | ---------------------------------------- |
104
112
  | `gameId` | `string` | **是** | - | 当前业务/游戏的唯一标识 ID |
105
113
  | `loginTypes` | `LoginTypes[]` | 否 | - | 支持的登录方式列表,例如 `['phone', 'uid']` |
114
+ | `onLoginSuccess` | `(data: any) => void` | 否 | - | 无论哪种登录方式,**登录成功**后触发的回调,并返回登录信息 |
115
+ | `onLoginError` | `(error: any) => void`| 否 | - | 无论哪种登录方式,**登录失败**后触发的回调,并返回错误信息 |
106
116
 
107
117
  ### 导出的核心组件与配置
108
118
  对于有高度定制化需求的业务方,SDK 同样暴露了以下底层组件:
package/dist/index.d.ts CHANGED
@@ -19,6 +19,8 @@ declare interface ConfigContextType {
19
19
  onUidLoginSuccess?: (data: any) => void;
20
20
  onPhoneLoginSuccess?: ((data: PhoneLoginResponse) => void) | ((data: PhoneLoginResponse) => Promise<void>);
21
21
  onAccountLoginSuccess?: (data: PhoneLoginResponse) => void;
22
+ onLoginSuccess?: (data: any) => void;
23
+ onLoginError?: (error: any) => void;
22
24
  closeable?: boolean;
23
25
  uidLoginConfig?: {
24
26
  uidGetterImageClassName?: string;
@@ -43,12 +45,16 @@ declare interface ConfigProviderProps {
43
45
  };
44
46
  }
45
47
 
46
- export declare function Login({ open, onOpenChange, sceneId, onPhoneLoginSuccess, onAccountLoginSuccess, onUidLoginSuccess, closeable, mountToaster, toastConfigs, ...props }: Props): JSX.Element;
48
+ export declare function Login({ open, onOpenChange, sceneId, onPhoneLoginSuccess, onAccountLoginSuccess, onUidLoginSuccess, onLoginSuccess, onLoginError, closeable, mountToaster, toastConfigs, ...props }: Props): JSX.Element;
47
49
 
48
- export declare function login({ loginTypes, gameId }: {
50
+ export declare function login({ loginTypes, gameId, onLoginSuccess, onLoginError, }: {
49
51
  loginTypes?: LoginTypes[];
50
52
  gameId: string;
51
- }): void;
53
+ onLoginSuccess?: (data: any) => void;
54
+ onLoginError?: (error: any) => void;
55
+ }): {
56
+ close: () => void;
57
+ };
52
58
 
53
59
  export declare const LOGIN_TYPES: {
54
60
  readonly ROLE_ID: "roleid";
@@ -122,6 +128,8 @@ declare interface Props extends Omit<ConfigContextType, 'setCurrentLoginType' |
122
128
  onAccountLoginSuccess?: (data: PhoneLoginResponse) => void;
123
129
  sceneId?: number;
124
130
  onUidLoginSuccess?: (data: any) => void;
131
+ onLoginSuccess?: (data: any) => void;
132
+ onLoginError?: (error: any) => void;
125
133
  autoLoginConfig?: AutoLoginConfig;
126
134
  closeable?: boolean;
127
135
  mountToaster?: boolean;