@norcy/react-native-toolkit 0.1.137 → 0.1.138

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.
@@ -15,7 +15,17 @@ import {
15
15
  } from './constant';
16
16
 
17
17
  type FetchImageFunctionType = ({ headimgurl }: { headimgurl: string }) => void;
18
- export type LoginResultDataType = {
18
+ export type LoginSuccessResultType = {
19
+ isAuto?: boolean;
20
+ user: UserType;
21
+ };
22
+ export type LoginFailResulType = {
23
+ isAuto?: boolean;
24
+ error: string | object;
25
+ code?: string;
26
+ };
27
+
28
+ type LoginFinishParams = {
19
29
  isAuto?: boolean;
20
30
  user?: UserType;
21
31
  error?: string | object;
@@ -41,12 +51,15 @@ const onLoginFinish = ({
41
51
  user,
42
52
  error,
43
53
  code,
44
- }: LoginResultDataType) => {
45
- const data = { isAuto, user, error, code };
54
+ }: LoginFinishParams) => {
46
55
  if (user) {
47
56
  PrefData.setValue(BuildInPrefs.LastLoginType, user.type);
57
+ const data = { isAuto, user };
58
+ Notification.postNotification('onLoginSuccess', data);
59
+ } else {
60
+ const data = { isAuto, error, code };
61
+ Notification.postNotification('onLoginFail', data);
48
62
  }
49
- Notification.postNotification('onLogin', data);
50
63
  };
51
64
 
52
65
  const doLeanCloudLogin = async (
@@ -2,7 +2,7 @@ import { Object } from 'leancloud-storage';
2
2
  import { Platform } from 'react-native';
3
3
  import { ConfigDataModel } from './ConfigDataModel';
4
4
  import { FreConfigType, FrequenceManager } from './Frequence';
5
- import { LoginManager, LoginResultDataType } from './LoginManager';
5
+ import { LoginManager, LoginSuccessResultType } from './LoginManager';
6
6
  import { Notification } from './Notification';
7
7
  import { BuildInPrefs, PrefData } from './PrefData';
8
8
  import { Tool } from './Tool';
@@ -147,9 +147,9 @@ export const MessageModel = {
147
147
  });
148
148
 
149
149
  Notification.addListener(
150
- 'onLogin',
151
- ({ isAuto, user, error }: LoginResultDataType) => {
152
- if (!isAuto && user && !error) {
150
+ 'onLoginSuccess',
151
+ ({ isAuto }: LoginSuccessResultType) => {
152
+ if (!isAuto) {
153
153
  isDataReady = false;
154
154
  isConfigStateReady = false;
155
155
  isNetwordDataReady = false;
package/src/ReportUtil.ts CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  getModel,
6
6
  getReadableVersion,
7
7
  } from 'react-native-device-info';
8
- import { LoginResultDataType } from './LoginManager';
8
+ import { LoginSuccessResultType } from './LoginManager';
9
9
  import { Notification } from './Notification';
10
10
 
11
11
  export interface ReportItemType {
@@ -69,14 +69,12 @@ export const ReportUtil = {
69
69
  }
70
70
 
71
71
  Notification.addListener(
72
- 'onLogin',
73
- ({ error, user }: LoginResultDataType) => {
74
- if (!error && user) {
75
- if (!__DEV__) {
76
- NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));
77
- }
78
- ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));
72
+ 'onLoginSuccess',
73
+ ({ user }: LoginSuccessResultType) => {
74
+ if (!__DEV__) {
75
+ NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));
79
76
  }
77
+ ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));
80
78
  }
81
79
  );
82
80
 
@@ -1,5 +1,5 @@
1
1
  import * as Sentry from '@sentry/react-native';
2
- import { LoginResultDataType } from './LoginManager';
2
+ import { LoginSuccessResultType } from './LoginManager';
3
3
  import { Notification } from './Notification';
4
4
  import { ToolkitConfig } from './Tool';
5
5
 
@@ -18,16 +18,14 @@ export const SentryManager = {
18
18
  });
19
19
 
20
20
  Notification.addListener(
21
- 'onLogin',
22
- ({ error, user }: LoginResultDataType) => {
23
- if (!error && user) {
24
- const sentryUser: Sentry.User = {
25
- id: user.AVUser.get('objectId'),
26
- email: user.email,
27
- username: user.nickname,
28
- };
29
- Sentry.setUser(sentryUser);
30
- }
21
+ 'onLoginSuccess',
22
+ ({ user }: LoginSuccessResultType) => {
23
+ const sentryUser: Sentry.User = {
24
+ id: user.AVUser.get('objectId'),
25
+ email: user.email,
26
+ username: user.nickname,
27
+ };
28
+ Sentry.setUser(sentryUser);
31
29
  }
32
30
  );
33
31
 
package/src/VipManager.ts CHANGED
@@ -4,7 +4,7 @@ import Purchases, {
4
4
  PurchasesPackage,
5
5
  } from 'react-native-purchases';
6
6
  import { DevConfig } from './DevConfig';
7
- import { LoginManager, LoginResultDataType } from './LoginManager';
7
+ import { LoginManager, LoginSuccessResultType } from './LoginManager';
8
8
  import { Notification } from './Notification';
9
9
  import { BuildInPrefs } from './PrefData';
10
10
  import { Tool, ToolkitConfig } from './Tool';
@@ -50,12 +50,10 @@ export const VipManager = {
50
50
  }
51
51
 
52
52
  Notification.addListener(
53
- 'onLogin',
54
- async ({ error, user }: LoginResultDataType) => {
53
+ 'onLoginSuccess',
54
+ async ({ user }: LoginSuccessResultType) => {
55
55
  console.log('Vip 模块用户登录 from 监听');
56
- if (!error && user) {
57
- onLogin(user);
58
- }
56
+ onLogin(user);
59
57
  }
60
58
  );
61
59