@norcy/react-native-toolkit 0.3.21 → 0.3.23
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/lib/commonjs/AppleLoginUtil.js +33 -85
- package/lib/commonjs/AppleLoginUtil.js.map +1 -1
- package/lib/commonjs/HuaweiLoginUtil.js +10 -22
- package/lib/commonjs/HuaweiLoginUtil.js.map +1 -1
- package/lib/commonjs/LoginManager.js +104 -114
- package/lib/commonjs/LoginManager.js.map +1 -1
- package/lib/commonjs/WeChatLoginUtil.js +32 -56
- package/lib/commonjs/WeChatLoginUtil.js.map +1 -1
- package/lib/commonjs/constant.js +1 -6
- package/lib/commonjs/constant.js.map +1 -1
- package/lib/module/AppleLoginUtil.js +33 -85
- package/lib/module/AppleLoginUtil.js.map +1 -1
- package/lib/module/HuaweiLoginUtil.js +10 -22
- package/lib/module/HuaweiLoginUtil.js.map +1 -1
- package/lib/module/LoginManager.js +105 -115
- package/lib/module/LoginManager.js.map +1 -1
- package/lib/module/WeChatLoginUtil.js +32 -56
- package/lib/module/WeChatLoginUtil.js.map +1 -1
- package/lib/module/constant.js +0 -5
- package/lib/module/constant.js.map +1 -1
- package/lib/typescript/AppleLoginUtil.d.ts +1 -15
- package/lib/typescript/AppleLoginUtil.d.ts.map +1 -1
- package/lib/typescript/HuaweiLoginUtil.d.ts +2 -7
- package/lib/typescript/HuaweiLoginUtil.d.ts.map +1 -1
- package/lib/typescript/LoginManager.d.ts +1 -1
- package/lib/typescript/LoginManager.d.ts.map +1 -1
- package/lib/typescript/WeChatLoginUtil.d.ts +3 -2
- package/lib/typescript/WeChatLoginUtil.d.ts.map +1 -1
- package/lib/typescript/constant.d.ts +5 -3
- package/lib/typescript/constant.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/AppleLoginUtil.ts +29 -50
- package/src/HuaweiLoginUtil.ts +11 -24
- package/src/LoginManager.ts +82 -125
- package/src/WeChatLoginUtil.ts +54 -71
- package/src/constant.ts +5 -3
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.AppleLoginUtil = void 0;
|
|
7
7
|
var _reactNativeAppleAuthentication = require("@invertase/react-native-apple-authentication");
|
|
8
8
|
var _reactNativeDeviceInfo = require("react-native-device-info");
|
|
9
|
-
var _constant = require("./constant");
|
|
10
9
|
const AV = require('leancloud-storage');
|
|
11
10
|
const AppleLoginUtil = exports.AppleLoginUtil = {
|
|
12
11
|
// 这是监听苹果取消授权的回调,目前不需要
|
|
@@ -16,102 +15,51 @@ const AppleLoginUtil = exports.AppleLoginUtil = {
|
|
|
16
15
|
// });
|
|
17
16
|
// });
|
|
18
17
|
|
|
19
|
-
fetchAndUpdateCredentialState: async
|
|
18
|
+
fetchAndUpdateCredentialState: async user => {
|
|
20
19
|
console.log('User 正在登录鉴权:', user);
|
|
21
20
|
if (user === null) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
throw new Error('USER EMPTY');
|
|
22
|
+
}
|
|
23
|
+
const credentialState = await _reactNativeAppleAuthentication.appleAuth.getCredentialStateForUser(user);
|
|
24
|
+
if (credentialState === _reactNativeAppleAuthentication.appleAuth.State.AUTHORIZED) {
|
|
25
|
+
console.log('登录鉴权成功');
|
|
27
26
|
} else {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
console.log('登录鉴权成功');
|
|
31
|
-
callback({
|
|
32
|
-
result: _constant.LoginState.AUTHORIZED
|
|
33
|
-
});
|
|
34
|
-
} else {
|
|
35
|
-
console.warn('登录鉴权失败');
|
|
36
|
-
callback({
|
|
37
|
-
result: _constant.LoginState.NOTLOGIN
|
|
38
|
-
}, {
|
|
39
|
-
error: 'Authorized Failed'
|
|
40
|
-
});
|
|
41
|
-
}
|
|
27
|
+
console.warn('登录鉴权失败');
|
|
28
|
+
throw new Error('Authorized Failed');
|
|
42
29
|
}
|
|
43
30
|
},
|
|
44
31
|
requestAppleUserForLogin: async () => {
|
|
45
32
|
if (!_reactNativeAppleAuthentication.appleAuth.isSupported) {
|
|
46
|
-
|
|
47
|
-
error: 'Apple Auth Not Supported'
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// start a login request
|
|
52
|
-
try {
|
|
53
|
-
const appleAuthRequestResponse = await _reactNativeAppleAuthentication.appleAuth.performRequest({
|
|
54
|
-
requestedOperation: _reactNativeAppleAuthentication.appleAuth.Operation.LOGIN,
|
|
55
|
-
requestedScopes: [_reactNativeAppleAuthentication.appleAuth.Scope.EMAIL, _reactNativeAppleAuthentication.appleAuth.Scope.FULL_NAME]
|
|
56
|
-
});
|
|
57
|
-
console.log('appleAuthRequestResponse login', appleAuthRequestResponse);
|
|
58
|
-
const {
|
|
59
|
-
user: newUser,
|
|
60
|
-
email,
|
|
61
|
-
identityToken
|
|
62
|
-
} = appleAuthRequestResponse;
|
|
63
|
-
console.log(`Apple Authentication Completed, ${newUser}, ${email}`);
|
|
64
|
-
return {
|
|
65
|
-
user: newUser,
|
|
66
|
-
email: email,
|
|
67
|
-
identityToken: identityToken
|
|
68
|
-
};
|
|
69
|
-
} catch (error) {
|
|
70
|
-
if (error.code === _reactNativeAppleAuthentication.appleAuth.Error.CANCELED) {
|
|
71
|
-
// console.warn('User canceled Apple Sign in.');
|
|
72
|
-
return {
|
|
73
|
-
error: 'User Cancel Login',
|
|
74
|
-
code: error.code
|
|
75
|
-
};
|
|
76
|
-
} else {
|
|
77
|
-
// console.warn('登录鉴权出错: ', error);
|
|
78
|
-
return {
|
|
79
|
-
error: 'Login Request Fail',
|
|
80
|
-
code: error.code
|
|
81
|
-
};
|
|
82
|
-
}
|
|
33
|
+
throw new Error('Apple Auth Not Supported');
|
|
83
34
|
}
|
|
35
|
+
const appleAuthRequestResponse = await _reactNativeAppleAuthentication.appleAuth.performRequest({
|
|
36
|
+
requestedOperation: _reactNativeAppleAuthentication.appleAuth.Operation.LOGIN,
|
|
37
|
+
requestedScopes: [_reactNativeAppleAuthentication.appleAuth.Scope.EMAIL, _reactNativeAppleAuthentication.appleAuth.Scope.FULL_NAME]
|
|
38
|
+
});
|
|
39
|
+
console.log('appleAuthRequestResponse login', appleAuthRequestResponse);
|
|
40
|
+
const {
|
|
41
|
+
user: newUser,
|
|
42
|
+
email,
|
|
43
|
+
identityToken
|
|
44
|
+
} = appleAuthRequestResponse;
|
|
45
|
+
console.log(`Apple Authentication Completed, ${newUser}, ${email}`);
|
|
46
|
+
return {
|
|
47
|
+
user: newUser,
|
|
48
|
+
email,
|
|
49
|
+
identityToken
|
|
50
|
+
};
|
|
84
51
|
},
|
|
85
52
|
requestAppleUserForLogout: async () => {
|
|
86
53
|
if (!_reactNativeAppleAuthentication.appleAuth.isSupported) {
|
|
87
|
-
throw
|
|
88
|
-
error: 'Apple Auth Not Supported',
|
|
89
|
-
code: -1
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// start a login request
|
|
94
|
-
try {
|
|
95
|
-
const appleAuthRequestResponse = await _reactNativeAppleAuthentication.appleAuth.performRequest({
|
|
96
|
-
requestedOperation: _reactNativeAppleAuthentication.appleAuth.Operation.LOGOUT
|
|
97
|
-
});
|
|
98
|
-
console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);
|
|
99
|
-
return {
|
|
100
|
-
authorizationCode: appleAuthRequestResponse.authorizationCode
|
|
101
|
-
};
|
|
102
|
-
} catch (error) {
|
|
103
|
-
if (error.code === _reactNativeAppleAuthentication.appleAuth.Error.CANCELED) {
|
|
104
|
-
throw {
|
|
105
|
-
error: 'User Cancel Logout',
|
|
106
|
-
code: error.code
|
|
107
|
-
};
|
|
108
|
-
} else {
|
|
109
|
-
throw {
|
|
110
|
-
error: 'Logout Request Fail',
|
|
111
|
-
code: error.code
|
|
112
|
-
};
|
|
113
|
-
}
|
|
54
|
+
throw new Error('Apple Auth Not Supported');
|
|
114
55
|
}
|
|
56
|
+
const appleAuthRequestResponse = await _reactNativeAppleAuthentication.appleAuth.performRequest({
|
|
57
|
+
requestedOperation: _reactNativeAppleAuthentication.appleAuth.Operation.LOGOUT
|
|
58
|
+
});
|
|
59
|
+
console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);
|
|
60
|
+
return {
|
|
61
|
+
authorizationCode: appleAuthRequestResponse.authorizationCode
|
|
62
|
+
};
|
|
115
63
|
},
|
|
116
64
|
requestDeleteAccount: async () => {
|
|
117
65
|
if (_reactNativeAppleAuthentication.appleAuth.isSupported) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeAppleAuthentication","require","_reactNativeDeviceInfo","
|
|
1
|
+
{"version":3,"names":["_reactNativeAppleAuthentication","require","_reactNativeDeviceInfo","AV","AppleLoginUtil","exports","fetchAndUpdateCredentialState","user","console","log","Error","credentialState","appleAuth","getCredentialStateForUser","State","AUTHORIZED","warn","requestAppleUserForLogin","isSupported","appleAuthRequestResponse","performRequest","requestedOperation","Operation","LOGIN","requestedScopes","Scope","EMAIL","FULL_NAME","newUser","email","identityToken","requestAppleUserForLogout","LOGOUT","authorizationCode","requestDeleteAccount","token","Cloud","run","bundleId","getBundleId"],"sourceRoot":"../../src","sources":["AppleLoginUtil.ts"],"mappings":";;;;;;AAAA,IAAAA,+BAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEA,MAAME,EAAE,GAAGF,OAAO,CAAC,mBAAmB,CAAC;AAEhC,MAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC5B;EACA;EACA;EACA;EACA;EACA;;EAEAE,6BAA6B,EAAE,MAAOC,IAAY,IAAoB;IACpEC,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEF,IAAI,CAAC;IAEjC,IAAIA,IAAI,KAAK,IAAI,EAAE;MACjB,MAAM,IAAIG,KAAK,CAAC,YAAY,CAAC;IAC/B;IAEA,MAAMC,eAAe,GAAG,MAAMC,yCAAS,CAACC,yBAAyB,CAACN,IAAI,CAAC;IACvE,IAAII,eAAe,KAAKC,yCAAS,CAACE,KAAK,CAACC,UAAU,EAAE;MAClDP,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;IACvB,CAAC,MAAM;MACLD,OAAO,CAACQ,IAAI,CAAC,QAAQ,CAAC;MACtB,MAAM,IAAIN,KAAK,CAAC,mBAAmB,CAAC;IACtC;EACF,CAAC;EAEDO,wBAAwB,EAAE,MAAAA,CAAA,KAIpB;IACJ,IAAI,CAACL,yCAAS,CAACM,WAAW,EAAE;MAC1B,MAAM,IAAIR,KAAK,CAAC,0BAA0B,CAAC;IAC7C;IAEA,MAAMS,wBAAwB,GAAG,MAAMP,yCAAS,CAACQ,cAAc,CAAC;MAC9DC,kBAAkB,EAAET,yCAAS,CAACU,SAAS,CAACC,KAAK;MAC7CC,eAAe,EAAE,CAACZ,yCAAS,CAACa,KAAK,CAACC,KAAK,EAAEd,yCAAS,CAACa,KAAK,CAACE,SAAS;IACpE,CAAC,CAAC;IAEFnB,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEU,wBAAwB,CAAC;IAEvE,MAAM;MAAEZ,IAAI,EAAEqB,OAAO;MAAEC,KAAK;MAAEC;IAAc,CAAC,GAAGX,wBAAwB;IAExEX,OAAO,CAACC,GAAG,CAAC,mCAAmCmB,OAAO,KAAKC,KAAK,EAAE,CAAC;IAEnE,OAAO;MAAEtB,IAAI,EAAEqB,OAAO;MAAEC,KAAK;MAAEC;IAAc,CAAC;EAChD,CAAC;EAEDC,yBAAyB,EAAE,MAAAA,CAAA,KAAY;IACrC,IAAI,CAACnB,yCAAS,CAACM,WAAW,EAAE;MAC1B,MAAM,IAAIR,KAAK,CAAC,0BAA0B,CAAC;IAC7C;IAEA,MAAMS,wBAAwB,GAAG,MAAMP,yCAAS,CAACQ,cAAc,CAAC;MAC9DC,kBAAkB,EAAET,yCAAS,CAACU,SAAS,CAACU;IAC1C,CAAC,CAAC;IAEFxB,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAEU,wBAAwB,CAAC;IAExE,OAAO;MAAEc,iBAAiB,EAAEd,wBAAwB,CAACc;IAAkB,CAAC;EAC1E,CAAC;EAEDC,oBAAoB,EAAE,MAAAA,CAAA,KAAY;IAChC,IAAItB,yCAAS,CAACM,WAAW,EAAE;MACzB,MAAM;QAAEe;MAAkB,CAAC,GACzB,MAAM7B,cAAc,CAAC2B,yBAAyB,CAAC,CAAC;MAClDvB,OAAO,CAACC,GAAG,CAAC,+BAA+B,EAAEwB,iBAAiB,CAAC;MAC/D,MAAM;QAAEE;MAAM,CAAC,GAAG,MAAMhC,EAAE,CAACiC,KAAK,CAACC,GAAG,CAAC,UAAU,EAAE;QAC/CJ,iBAAiB;QACjBK,QAAQ,EAAE,IAAAC,kCAAW,EAAC;MACxB,CAAC,CAAC;MACF/B,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAE0B,KAAK,CAAC;MACvC,MAAMhC,EAAE,CAACiC,KAAK,CAACC,GAAG,CAAC,oBAAoB,EAAE;QACvCF,KAAK;QACLG,QAAQ,EAAE,IAAAC,kCAAW,EAAC;MACxB,CAAC,CAAC;MACF/B,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;IACvC;EACF;AACF,CAAC","ignoreList":[]}
|
|
@@ -8,32 +8,20 @@ var _reactNative = require("react-native");
|
|
|
8
8
|
var _PlatformHelper = require("./PlatformHelper");
|
|
9
9
|
const HuaweiLoginModule = _reactNative.NativeModules.HuaweiLoginModule ?? _reactNative.TurboModuleRegistry.get('HuaweiLoginModule');
|
|
10
10
|
const HuaweiLoginUtil = exports.HuaweiLoginUtil = {
|
|
11
|
-
doLogin: async
|
|
11
|
+
doLogin: async () => {
|
|
12
12
|
if (_PlatformHelper.PlatformHelper.isIOS()) {
|
|
13
|
-
|
|
14
|
-
error: 'Huawei Login is not supported on iOS'
|
|
15
|
-
});
|
|
16
|
-
return;
|
|
13
|
+
throw new Error('Huawei Login is not supported on iOS');
|
|
17
14
|
}
|
|
18
15
|
if (!HuaweiLoginModule || typeof HuaweiLoginModule.signIn !== 'function') {
|
|
19
|
-
|
|
20
|
-
error: 'HuaweiLoginModule not available'
|
|
21
|
-
});
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
try {
|
|
25
|
-
const result = await HuaweiLoginModule.signIn();
|
|
26
|
-
callback({
|
|
27
|
-
nickname: result.nickname,
|
|
28
|
-
headimgurl: result.headimgurl,
|
|
29
|
-
openid: result.openid,
|
|
30
|
-
unionid: result.unionid
|
|
31
|
-
});
|
|
32
|
-
} catch (e) {
|
|
33
|
-
callback({
|
|
34
|
-
error: e
|
|
35
|
-
});
|
|
16
|
+
throw new Error('HuaweiLoginModule not available');
|
|
36
17
|
}
|
|
18
|
+
const result = await HuaweiLoginModule.signIn();
|
|
19
|
+
return {
|
|
20
|
+
nickname: result.nickname,
|
|
21
|
+
headimgurl: result.headimgurl,
|
|
22
|
+
openid: result.openid,
|
|
23
|
+
unionid: result.unionid
|
|
24
|
+
};
|
|
37
25
|
}
|
|
38
26
|
};
|
|
39
27
|
//# sourceMappingURL=HuaweiLoginUtil.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_PlatformHelper","HuaweiLoginModule","NativeModules","TurboModuleRegistry","get","HuaweiLoginUtil","exports","doLogin","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_PlatformHelper","HuaweiLoginModule","NativeModules","TurboModuleRegistry","get","HuaweiLoginUtil","exports","doLogin","PlatformHelper","isIOS","Error","signIn","result","nickname","headimgurl","openid","unionid"],"sourceRoot":"../../src","sources":["HuaweiLoginUtil.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AAEA,MAAME,iBAAiB,GACrBC,0BAAa,CAACD,iBAAiB,IAC/BE,gCAAmB,CAACC,GAAG,CAAM,mBAAmB,CAAC;AAE5C,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BE,OAAO,EAAE,MAAAA,CAAA,KAAyC;IAChD,IAAIC,8BAAc,CAACC,KAAK,CAAC,CAAC,EAAE;MAC1B,MAAM,IAAIC,KAAK,CAAC,sCAAsC,CAAC;IACzD;IACA,IAAI,CAACT,iBAAiB,IAAI,OAAOA,iBAAiB,CAACU,MAAM,KAAK,UAAU,EAAE;MACxE,MAAM,IAAID,KAAK,CAAC,iCAAiC,CAAC;IACpD;IACA,MAAME,MAAM,GAAG,MAAMX,iBAAiB,CAACU,MAAM,CAAC,CAAC;IAC/C,OAAO;MACLE,QAAQ,EAAED,MAAM,CAACC,QAAQ;MACzBC,UAAU,EAAEF,MAAM,CAACE,UAAU;MAC7BC,MAAM,EAAEH,MAAM,CAACG,MAAM;MACrBC,OAAO,EAAEJ,MAAM,CAACI;IAClB,CAAC;EACH;AACF,CAAC","ignoreList":[]}
|
|
@@ -13,13 +13,12 @@ var _PrefData = require("./PrefData");
|
|
|
13
13
|
var _Tool = require("./Tool");
|
|
14
14
|
var _WeChatLoginUtil = require("./WeChatLoginUtil");
|
|
15
15
|
var _constant = require("./constant");
|
|
16
|
-
const onLoginFinish =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
if (user) {
|
|
16
|
+
const onLoginFinish = params => {
|
|
17
|
+
if ('user' in params) {
|
|
18
|
+
const {
|
|
19
|
+
isAuto = false,
|
|
20
|
+
user
|
|
21
|
+
} = params;
|
|
23
22
|
_PrefData.PrefData.setValue(_PrefData.BuildInPrefs.LastLoginType, user.type);
|
|
24
23
|
const data = {
|
|
25
24
|
isAuto,
|
|
@@ -28,6 +27,14 @@ const onLoginFinish = ({
|
|
|
28
27
|
console.log('onLoginSuccess', data);
|
|
29
28
|
_Notification.Notification.postNotification('onLoginSuccess', data);
|
|
30
29
|
} else {
|
|
30
|
+
const {
|
|
31
|
+
isAuto = false,
|
|
32
|
+
error
|
|
33
|
+
} = params;
|
|
34
|
+
if (__DEV__ && !(error instanceof Error)) {
|
|
35
|
+
console.error('onLoginFinish: error should be an Error instance, got:', error);
|
|
36
|
+
}
|
|
37
|
+
const code = error instanceof Error && 'code' in error ? String(error.code) : undefined;
|
|
31
38
|
const data = {
|
|
32
39
|
isAuto,
|
|
33
40
|
error,
|
|
@@ -88,93 +95,75 @@ const LoginManager = exports.LoginManager = {
|
|
|
88
95
|
}
|
|
89
96
|
}
|
|
90
97
|
if (type === _constant.LoginType.LoginTypeApple) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (!user || error) {
|
|
98
|
-
onLoginFinish({
|
|
99
|
-
error,
|
|
100
|
-
code
|
|
101
|
-
});
|
|
102
|
-
return;
|
|
103
|
-
} else {
|
|
98
|
+
try {
|
|
99
|
+
const {
|
|
100
|
+
user,
|
|
101
|
+
email
|
|
102
|
+
} = await _AppleLoginUtil.AppleLoginUtil.requestAppleUserForLogin();
|
|
103
|
+
await _AppleLoginUtil.AppleLoginUtil.fetchAndUpdateCredentialState(user);
|
|
104
104
|
let userData = {
|
|
105
105
|
userId: user,
|
|
106
|
-
email
|
|
106
|
+
email,
|
|
107
107
|
authData: {
|
|
108
108
|
openid: user,
|
|
109
109
|
loginType: 'apple'
|
|
110
110
|
}
|
|
111
111
|
};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
onLoginFinish({
|
|
118
|
-
error: error2
|
|
119
|
-
});
|
|
120
|
-
} else {
|
|
121
|
-
loadingCallback?.();
|
|
122
|
-
doLogin(userData.authData, userData);
|
|
123
|
-
}
|
|
112
|
+
loadingCallback?.();
|
|
113
|
+
doLogin(userData.authData, userData);
|
|
114
|
+
} catch (error) {
|
|
115
|
+
onLoginFinish({
|
|
116
|
+
error
|
|
124
117
|
});
|
|
125
118
|
}
|
|
126
119
|
} else if (type === _constant.LoginType.LoginTypeWeChat) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
});
|
|
120
|
+
try {
|
|
121
|
+
const {
|
|
122
|
+
nickname,
|
|
123
|
+
headimgurl,
|
|
124
|
+
openid,
|
|
125
|
+
unionid
|
|
126
|
+
} = await _WeChatLoginUtil.WeChatLoginUtil.doLogin(_Tool.ToolkitConfig.WeiXinId, _Tool.ToolkitConfig.WeiXinSecret);
|
|
127
|
+
let userData = {
|
|
128
|
+
nickname,
|
|
129
|
+
headimgurl,
|
|
130
|
+
authData: {
|
|
131
|
+
openid,
|
|
132
|
+
unionid,
|
|
133
|
+
loginType: 'wechat'
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
loadingCallback?.();
|
|
137
|
+
doLogin(userData.authData, userData);
|
|
138
|
+
} catch (error) {
|
|
139
|
+
onLoginFinish({
|
|
140
|
+
error
|
|
141
|
+
});
|
|
142
|
+
}
|
|
152
143
|
} else if (type === _constant.LoginType.LoginTypeWeChatScan) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
177
|
-
});
|
|
144
|
+
try {
|
|
145
|
+
const {
|
|
146
|
+
nickname,
|
|
147
|
+
headimgurl,
|
|
148
|
+
openid,
|
|
149
|
+
unionid
|
|
150
|
+
} = await _WeChatLoginUtil.WeChatLoginUtil.doLoginByScan(_Tool.ToolkitConfig.WeiXinId, _Tool.ToolkitConfig.WeiXinSecret, qrcodeCallback);
|
|
151
|
+
let userData = {
|
|
152
|
+
nickname,
|
|
153
|
+
headimgurl,
|
|
154
|
+
authData: {
|
|
155
|
+
openid,
|
|
156
|
+
unionid,
|
|
157
|
+
loginType: 'wechat'
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
loadingCallback?.();
|
|
161
|
+
doLogin(userData.authData, userData);
|
|
162
|
+
} catch (error) {
|
|
163
|
+
onLoginFinish({
|
|
164
|
+
error
|
|
165
|
+
});
|
|
166
|
+
}
|
|
178
167
|
} else if (type === _constant.LoginType.LoginTypeVisitor) {
|
|
179
168
|
const uniqueId = (0, _reactNativeDeviceInfo.getUniqueIdSync)();
|
|
180
169
|
console.log(uniqueId);
|
|
@@ -188,34 +177,32 @@ const LoginManager = exports.LoginManager = {
|
|
|
188
177
|
loadingCallback?.();
|
|
189
178
|
doLogin(userData.authData, userData);
|
|
190
179
|
} else if (type === _constant.LoginType.LoginTypeHuawei) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
}
|
|
215
|
-
});
|
|
180
|
+
try {
|
|
181
|
+
const {
|
|
182
|
+
nickname,
|
|
183
|
+
headimgurl,
|
|
184
|
+
openid,
|
|
185
|
+
unionid
|
|
186
|
+
} = await _HuaweiLoginUtil.HuaweiLoginUtil.doLogin();
|
|
187
|
+
let userData = {
|
|
188
|
+
nickname,
|
|
189
|
+
headimgurl,
|
|
190
|
+
authData: {
|
|
191
|
+
openid,
|
|
192
|
+
unionid,
|
|
193
|
+
loginType: 'huawei'
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
loadingCallback?.();
|
|
197
|
+
doLogin(userData.authData, userData);
|
|
198
|
+
} catch (error) {
|
|
199
|
+
onLoginFinish({
|
|
200
|
+
error
|
|
201
|
+
});
|
|
202
|
+
}
|
|
216
203
|
} else {
|
|
217
204
|
onLoginFinish({
|
|
218
|
-
error: 'Unknown Login Type'
|
|
205
|
+
error: new Error('Unknown Login Type')
|
|
219
206
|
});
|
|
220
207
|
}
|
|
221
208
|
},
|
|
@@ -270,14 +257,17 @@ const LoginManager = exports.LoginManager = {
|
|
|
270
257
|
isRegisterInThisDevice: () => {
|
|
271
258
|
return _PrefData.PrefData.getValue(_PrefData.BuildInPrefs.RegisterInThisDevice);
|
|
272
259
|
},
|
|
273
|
-
fetchWeChatAvatar: callback => {
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
260
|
+
fetchWeChatAvatar: async callback => {
|
|
261
|
+
try {
|
|
262
|
+
const {
|
|
263
|
+
headimgurl
|
|
264
|
+
} = await _WeChatLoginUtil.WeChatLoginUtil.doLogin(_Tool.ToolkitConfig.WeiXinId, _Tool.ToolkitConfig.WeiXinSecret);
|
|
277
265
|
callback({
|
|
278
266
|
headimgurl
|
|
279
267
|
});
|
|
280
|
-
})
|
|
268
|
+
} catch (_) {
|
|
269
|
+
// 获取头像失败,忽略
|
|
270
|
+
}
|
|
281
271
|
},
|
|
282
272
|
getRegisterDays: () => {
|
|
283
273
|
if (!LoginManager.isLogin()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeDeviceInfo","require","_AppleLoginUtil","_Auth","_HuaweiLoginUtil","_Notification","_PrefData","_Tool","_WeChatLoginUtil","_constant","onLoginFinish","
|
|
1
|
+
{"version":3,"names":["_reactNativeDeviceInfo","require","_AppleLoginUtil","_Auth","_HuaweiLoginUtil","_Notification","_PrefData","_Tool","_WeChatLoginUtil","_constant","onLoginFinish","params","isAuto","user","PrefData","setValue","BuildInPrefs","LastLoginType","type","data","console","log","Notification","postNotification","error","__DEV__","Error","code","String","undefined","doLogin","authData","userData","Auth","loginWithAuthData","LoginManager","exports","autoLogin","login","devAuthData","loadingCallback","qrcodeCallback","_","LoginType","LoginTypeApple","email","AppleLoginUtil","requestAppleUserForLogin","fetchAndUpdateCredentialState","userId","openid","loginType","LoginTypeWeChat","nickname","headimgurl","unionid","WeChatLoginUtil","ToolkitConfig","WeiXinId","WeiXinSecret","LoginTypeWeChatScan","doLoginByScan","LoginTypeVisitor","uniqueId","getUniqueIdSync","LoginTypeHuawei","HuaweiLoginUtil","logOut","callback","isLogin","currentUser","isVisitor","batchUpdateUser","keys","values","e","updateUser","key","value","deleteUser","requestDeleteAccount","lastLoginType","getValue","isRegisterInThisDevice","RegisterInThisDevice","fetchWeChatAvatar","getRegisterDays","createTime","createdAt","diff","Date","getTime","diffDay","Math","max","ceil"],"sourceRoot":"../../src","sources":["LoginManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,55 +28,30 @@ const createSignature = (WeiXinId, nonceStr, sdkTicket, timestamp) => {
|
|
|
28
28
|
console.log('wx scan signature', origin, ret);
|
|
29
29
|
return ret;
|
|
30
30
|
};
|
|
31
|
-
const getUserInfo = (WeiXinId, WeiXinSecret, code
|
|
32
|
-
|
|
33
|
-
fetch(accessTokenUrl).
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
headimgurl: json.headimgurl,
|
|
45
|
-
openid: json.openid,
|
|
46
|
-
unionid: json.unionid
|
|
47
|
-
});
|
|
48
|
-
}).catch(e => {
|
|
49
|
-
console.warn('wechat get user info fail ', e);
|
|
50
|
-
callback({
|
|
51
|
-
error: e
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
}).catch(e => {
|
|
55
|
-
console.warn('wechat get access code fail ', e);
|
|
56
|
-
callback({
|
|
57
|
-
error: e
|
|
58
|
-
});
|
|
59
|
-
});
|
|
31
|
+
const getUserInfo = async (WeiXinId, WeiXinSecret, code) => {
|
|
32
|
+
const accessTokenUrl = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + WeiXinId + '&secret=' + WeiXinSecret + '&code=' + code + '&grant_type=authorization_code';
|
|
33
|
+
const res = await (await fetch(accessTokenUrl)).json();
|
|
34
|
+
console.log('wechat get access code success: ', res.access_token);
|
|
35
|
+
const userInfoUrl = 'https://api.weixin.qq.com/sns/userinfo?access_token=' + res.access_token + '&openid=' + res.openid;
|
|
36
|
+
const json = await (await fetch(userInfoUrl)).json();
|
|
37
|
+
console.log('wechat get user info success: ', json);
|
|
38
|
+
return {
|
|
39
|
+
nickname: json.nickname,
|
|
40
|
+
headimgurl: json.headimgurl,
|
|
41
|
+
openid: json.openid,
|
|
42
|
+
unionid: json.unionid
|
|
43
|
+
};
|
|
60
44
|
};
|
|
61
45
|
const WeChatLoginUtil = exports.WeChatLoginUtil = {
|
|
62
|
-
doLogin: (WeiXinId, WeiXinSecret
|
|
63
|
-
WeChat.sendAuthRequest('snsapi_userinfo')
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
getUserInfo(WeiXinId, WeiXinSecret, ret?.code, callback);
|
|
72
|
-
}).catch(e => {
|
|
73
|
-
console.warn('wechat auth fail ', e);
|
|
74
|
-
callback({
|
|
75
|
-
error: e
|
|
76
|
-
});
|
|
77
|
-
});
|
|
46
|
+
doLogin: async (WeiXinId, WeiXinSecret) => {
|
|
47
|
+
const ret = await WeChat.sendAuthRequest('snsapi_userinfo');
|
|
48
|
+
console.log('wechat auth success ', ret);
|
|
49
|
+
if (!ret?.code) {
|
|
50
|
+
throw new Error('Auth code 获取失败');
|
|
51
|
+
}
|
|
52
|
+
return getUserInfo(WeiXinId, WeiXinSecret, ret.code);
|
|
78
53
|
},
|
|
79
|
-
doLoginByScan: async (WeiXinId, WeiXinSecret, onQRGet
|
|
54
|
+
doLoginByScan: async (WeiXinId, WeiXinSecret, onQRGet) => {
|
|
80
55
|
const accessToken = await getAccessToken(WeiXinId, WeiXinSecret);
|
|
81
56
|
const ticket = await getSDKTicket(accessToken);
|
|
82
57
|
const nonceStr = _Tool.Tool.generateObjectId();
|
|
@@ -84,17 +59,18 @@ const WeChatLoginUtil = exports.WeChatLoginUtil = {
|
|
|
84
59
|
const signature = createSignature(WeiXinId, nonceStr, ticket, timestamp);
|
|
85
60
|
const qrcodeEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.WeChat);
|
|
86
61
|
const subscription = qrcodeEmitter.addListener('onAuthGotQrcode', res => onQRGet(res.qrcode));
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
62
|
+
const authCode = await new Promise((resolve, reject) => {
|
|
63
|
+
_reactNative.NativeModules.WeChat.authByScan(WeiXinId, nonceStr, timestamp, 'snsapi_userinfo', signature, '', ret => {
|
|
64
|
+
console.log('scan result', ret);
|
|
65
|
+
subscription.remove();
|
|
66
|
+
if (!ret?.authCode) {
|
|
67
|
+
reject(new Error('Auth code 获取失败'));
|
|
68
|
+
} else {
|
|
69
|
+
resolve(ret.authCode);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
97
72
|
});
|
|
73
|
+
return getUserInfo(WeiXinId, WeiXinSecret, authCode);
|
|
98
74
|
}
|
|
99
75
|
};
|
|
100
76
|
//# sourceMappingURL=WeChatLoginUtil.js.map
|