@norcy/react-native-toolkit 0.3.36 → 0.3.38
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/Auth.js +16 -7
- package/lib/commonjs/Auth.js.map +1 -1
- package/lib/commonjs/CloudBaseAuth.js +11 -11
- package/lib/commonjs/CloudBaseAuth.js.map +1 -1
- package/lib/module/Auth.js +16 -7
- package/lib/module/Auth.js.map +1 -1
- package/lib/module/CloudBaseAuth.js +11 -11
- package/lib/module/CloudBaseAuth.js.map +1 -1
- package/lib/typescript/Auth.d.ts.map +1 -1
- package/lib/typescript/CloudBaseAuth.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/Auth.ts +17 -7
- package/src/CloudBaseAuth.ts +24 -15
package/lib/commonjs/Auth.js
CHANGED
|
@@ -7,12 +7,21 @@ exports.Auth = void 0;
|
|
|
7
7
|
var _CloudBaseAuth = require("./CloudBaseAuth");
|
|
8
8
|
var _LeanCloudAuth = require("./LeanCloudAuth");
|
|
9
9
|
var _PrefData = require("./PrefData");
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
var _SyncPrefData = require("./SyncPrefData");
|
|
11
|
+
let backend = _LeanCloudAuth.LeanCloudAuth;
|
|
12
|
+
let isBackendResolved = false;
|
|
13
|
+
const getBackend = () => {
|
|
14
|
+
if (!isBackendResolved) {
|
|
15
|
+
const useCloud = _SyncPrefData.SyncPrefData.getBoolean('Auth_UseCloud');
|
|
16
|
+
backend = useCloud ? _CloudBaseAuth.CloudBaseAuth : _LeanCloudAuth.LeanCloudAuth;
|
|
17
|
+
isBackendResolved = true;
|
|
18
|
+
}
|
|
19
|
+
return backend;
|
|
20
|
+
};
|
|
12
21
|
let CURRENT_USER = null;
|
|
13
22
|
const Auth = exports.Auth = {
|
|
14
23
|
autoLogin: async () => {
|
|
15
|
-
const user = await
|
|
24
|
+
const user = await getBackend().getLocalUser();
|
|
16
25
|
if (!user) {
|
|
17
26
|
throw new Error('User Not Login Yet');
|
|
18
27
|
}
|
|
@@ -20,7 +29,7 @@ const Auth = exports.Auth = {
|
|
|
20
29
|
return user;
|
|
21
30
|
},
|
|
22
31
|
login: async (authData, userData) => {
|
|
23
|
-
const user = await
|
|
32
|
+
const user = await getBackend().login(authData, userData);
|
|
24
33
|
if (user.isNew) {
|
|
25
34
|
// 标记为当前用户是在本机注册的 TODO
|
|
26
35
|
_PrefData.PrefData.setValue(_PrefData.BuildInPrefs.RegisterInThisDevice, true);
|
|
@@ -29,19 +38,19 @@ const Auth = exports.Auth = {
|
|
|
29
38
|
return user;
|
|
30
39
|
},
|
|
31
40
|
logOut: async () => {
|
|
32
|
-
await
|
|
41
|
+
await getBackend().logout();
|
|
33
42
|
CURRENT_USER = null;
|
|
34
43
|
},
|
|
35
44
|
currentUser: () => {
|
|
36
45
|
return CURRENT_USER;
|
|
37
46
|
},
|
|
38
47
|
batchUpdateUser: async (keys, values) => {
|
|
39
|
-
const user = await
|
|
48
|
+
const user = await getBackend().updateUser(keys, values);
|
|
40
49
|
CURRENT_USER = user;
|
|
41
50
|
return user;
|
|
42
51
|
},
|
|
43
52
|
deleteUser: async () => {
|
|
44
|
-
await
|
|
53
|
+
await getBackend().destroyUser();
|
|
45
54
|
CURRENT_USER = null;
|
|
46
55
|
}
|
|
47
56
|
};
|
package/lib/commonjs/Auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_CloudBaseAuth","require","_LeanCloudAuth","_PrefData","
|
|
1
|
+
{"version":3,"names":["_CloudBaseAuth","require","_LeanCloudAuth","_PrefData","_SyncPrefData","backend","LeanCloudAuth","isBackendResolved","getBackend","useCloud","SyncPrefData","getBoolean","CloudBaseAuth","CURRENT_USER","Auth","exports","autoLogin","user","getLocalUser","Error","login","authData","userData","isNew","PrefData","setValue","BuildInPrefs","RegisterInThisDevice","logOut","logout","currentUser","batchUpdateUser","keys","values","updateUser","deleteUser","destroyUser"],"sourceRoot":"../../src","sources":["Auth.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAII,OAAO,GAAGC,4BAAa;AAC3B,IAAIC,iBAAiB,GAAG,KAAK;AAE7B,MAAMC,UAAU,GAAGA,CAAA,KAAM;EACvB,IAAI,CAACD,iBAAiB,EAAE;IACtB,MAAME,QAAQ,GAAGC,0BAAY,CAACC,UAAU,CAAC,eAAe,CAAC;IACzDN,OAAO,GAAGI,QAAQ,GAAGG,4BAAa,GAAGN,4BAAa;IAClDC,iBAAiB,GAAG,IAAI;EAC1B;EAEA,OAAOF,OAAO;AAChB,CAAC;AAED,IAAIQ,YAA6B,GAAG,IAAI;AAEjC,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,SAAS,EAAE,MAAAA,CAAA,KAA+B;IACxC,MAAMC,IAAI,GAAG,MAAMT,UAAU,CAAC,CAAC,CAACU,YAAY,CAAC,CAAC;IAC9C,IAAI,CAACD,IAAI,EAAE;MACT,MAAM,IAAIE,KAAK,CAAC,oBAAoB,CAAC;IACvC;IACAN,YAAY,GAAGI,IAAI;IACnB,OAAOA,IAAI;EACb,CAAC;EAEDG,KAAK,EAAE,MAAAA,CACLC,QAA2B,EAC3BC,QAA4B,KACN;IACtB,MAAML,IAAI,GAAG,MAAMT,UAAU,CAAC,CAAC,CAACY,KAAK,CAACC,QAAQ,EAAEC,QAAQ,CAAC;IACzD,IAAIL,IAAI,CAACM,KAAK,EAAE;MACd;MACAC,kBAAQ,CAACC,QAAQ,CAACC,sBAAY,CAACC,oBAAoB,EAAE,IAAI,CAAC;IAC5D;IACAd,YAAY,GAAGI,IAAI;IACnB,OAAOA,IAAI;EACb,CAAC;EAEDW,MAAM,EAAE,MAAAA,CAAA,KAAY;IAClB,MAAMpB,UAAU,CAAC,CAAC,CAACqB,MAAM,CAAC,CAAC;IAC3BhB,YAAY,GAAG,IAAI;EACrB,CAAC;EAEDiB,WAAW,EAAEA,CAAA,KAAuB;IAClC,OAAOjB,YAAY;EACrB,CAAC;EAEDkB,eAAe,EAAE,MAAAA,CAAOC,IAAc,EAAEC,MAAa,KAAwB;IAC3E,MAAMhB,IAAI,GAAG,MAAMT,UAAU,CAAC,CAAC,CAAC0B,UAAU,CAACF,IAAI,EAAEC,MAAM,CAAC;IACxDpB,YAAY,GAAGI,IAAI;IACnB,OAAOA,IAAI;EACb,CAAC;EAEDkB,UAAU,EAAE,MAAAA,CAAA,KAA2B;IACrC,MAAM3B,UAAU,CAAC,CAAC,CAAC4B,WAAW,CAAC,CAAC;IAChCvB,YAAY,GAAG,IAAI;EACrB;AACF,CAAC","ignoreList":[]}
|
|
@@ -20,12 +20,12 @@ const LOGIN_TYPE_MAP = {
|
|
|
20
20
|
huawei: _constant.LoginType.LoginTypeHuawei,
|
|
21
21
|
apple: _constant.LoginType.LoginTypeApple
|
|
22
22
|
};
|
|
23
|
-
const toLocalUser = profile => {
|
|
23
|
+
const toLocalUser = (profile, cloudUser) => {
|
|
24
24
|
return {
|
|
25
25
|
id: profile._id,
|
|
26
|
-
nickname:
|
|
27
|
-
email:
|
|
28
|
-
headimgurl:
|
|
26
|
+
nickname: cloudUser?.name || '',
|
|
27
|
+
email: cloudUser?.email || '',
|
|
28
|
+
headimgurl: cloudUser?.picture || '',
|
|
29
29
|
type: LOGIN_TYPE_MAP[profile.loginType],
|
|
30
30
|
vipType: profile.vipType,
|
|
31
31
|
vipEndTime: profile.vipEndTime ? new Date(profile.vipEndTime) : undefined,
|
|
@@ -88,7 +88,7 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
88
88
|
const raw = _SyncPrefData.SyncPrefData.getString(CACHED_PROFILE_KEY);
|
|
89
89
|
const profile = raw ? JSON.parse(raw) : null;
|
|
90
90
|
if (profile?._id === uid) {
|
|
91
|
-
return toLocalUser(profile);
|
|
91
|
+
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
92
92
|
}
|
|
93
93
|
await CloudBaseAuth.logout();
|
|
94
94
|
return null;
|
|
@@ -96,7 +96,7 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
96
96
|
login: async (authData, userData) => {
|
|
97
97
|
const {
|
|
98
98
|
ticket,
|
|
99
|
-
|
|
99
|
+
profile,
|
|
100
100
|
isNew
|
|
101
101
|
} = await requestAuth({
|
|
102
102
|
action: 'login',
|
|
@@ -112,8 +112,8 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
112
112
|
} : undefined
|
|
113
113
|
});
|
|
114
114
|
await getApp().auth.signInWithCustomTicket(() => Promise.resolve(ticket));
|
|
115
|
-
setCachedProfile(
|
|
116
|
-
const localUser = toLocalUser(
|
|
115
|
+
setCachedProfile(profile);
|
|
116
|
+
const localUser = toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
117
117
|
localUser.isNew = isNew;
|
|
118
118
|
return localUser;
|
|
119
119
|
},
|
|
@@ -125,15 +125,15 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
125
125
|
const uid = getUid();
|
|
126
126
|
if (!uid) throw new Error('User Not Login Yet');
|
|
127
127
|
const {
|
|
128
|
-
|
|
128
|
+
profile
|
|
129
129
|
} = await requestAuth({
|
|
130
130
|
action: 'updateUser',
|
|
131
131
|
uid,
|
|
132
132
|
keys,
|
|
133
133
|
values
|
|
134
134
|
});
|
|
135
|
-
setCachedProfile(
|
|
136
|
-
return toLocalUser(
|
|
135
|
+
setCachedProfile(profile);
|
|
136
|
+
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
137
137
|
},
|
|
138
138
|
destroyUser: async () => {
|
|
139
139
|
const uid = getUid();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_adapterRn","_interopRequireDefault","require","_jsSdk","_constant","_SyncPrefData","_Tool","e","__esModule","default","cloudbase","useAdapters","adapter","app","authUrl","CACHED_PROFILE_KEY","LOGIN_TYPE_MAP","wechat","LoginType","LoginTypeWeChat","visitor","LoginTypeVisitor","huawei","LoginTypeHuawei","apple","LoginTypeApple","toLocalUser","profile","id","_id","nickname","email","headimgurl","type","loginType","vipType","vipEndTime","Date","undefined","createdAt","attr","webdav","getApp","CloudBaseEnv","CloudBaseAccessKey","CloudBaseRegion","CloudBaseAuthUrl","ToolkitConfig","Error","init","env","region","accessKey","endPointMode","setCachedProfile","SyncPrefData","delete","set","JSON","stringify","getUid","auth","hasLoginState","user","uid","requestAuth","body","response","fetch","method","headers","ok","status","json","CloudBaseAuth","exports","getLocalUser","raw","getString","parse","logout","login","authData","userData","ticket","isNew","action","openid","unionid","signInWithCustomTicket","Promise","resolve","localUser","signOut","updateUser","keys","values","destroyUser","callFunction","
|
|
1
|
+
{"version":3,"names":["_adapterRn","_interopRequireDefault","require","_jsSdk","_constant","_SyncPrefData","_Tool","e","__esModule","default","cloudbase","useAdapters","adapter","app","authUrl","CACHED_PROFILE_KEY","LOGIN_TYPE_MAP","wechat","LoginType","LoginTypeWeChat","visitor","LoginTypeVisitor","huawei","LoginTypeHuawei","apple","LoginTypeApple","toLocalUser","profile","cloudUser","id","_id","nickname","name","email","headimgurl","picture","type","loginType","vipType","vipEndTime","Date","undefined","createdAt","attr","webdav","getApp","CloudBaseEnv","CloudBaseAccessKey","CloudBaseRegion","CloudBaseAuthUrl","ToolkitConfig","Error","init","env","region","accessKey","endPointMode","setCachedProfile","SyncPrefData","delete","set","JSON","stringify","getUid","auth","hasLoginState","user","uid","requestAuth","body","response","fetch","method","headers","ok","status","json","CloudBaseAuth","exports","getLocalUser","raw","getString","parse","getCurrentUser","logout","login","authData","userData","ticket","isNew","action","openid","unionid","signInWithCustomTicket","Promise","resolve","localUser","signOut","updateUser","keys","values","destroyUser","callFunction","data"],"sourceRoot":"../../src","sources":["CloudBaseAuth.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/Auth.js
CHANGED
|
@@ -3,12 +3,21 @@
|
|
|
3
3
|
import { CloudBaseAuth } from './CloudBaseAuth';
|
|
4
4
|
import { LeanCloudAuth } from './LeanCloudAuth';
|
|
5
5
|
import { BuildInPrefs, PrefData } from './PrefData';
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import { SyncPrefData } from './SyncPrefData';
|
|
7
|
+
let backend = LeanCloudAuth;
|
|
8
|
+
let isBackendResolved = false;
|
|
9
|
+
const getBackend = () => {
|
|
10
|
+
if (!isBackendResolved) {
|
|
11
|
+
const useCloud = SyncPrefData.getBoolean('Auth_UseCloud');
|
|
12
|
+
backend = useCloud ? CloudBaseAuth : LeanCloudAuth;
|
|
13
|
+
isBackendResolved = true;
|
|
14
|
+
}
|
|
15
|
+
return backend;
|
|
16
|
+
};
|
|
8
17
|
let CURRENT_USER = null;
|
|
9
18
|
export const Auth = {
|
|
10
19
|
autoLogin: async () => {
|
|
11
|
-
const user = await
|
|
20
|
+
const user = await getBackend().getLocalUser();
|
|
12
21
|
if (!user) {
|
|
13
22
|
throw new Error('User Not Login Yet');
|
|
14
23
|
}
|
|
@@ -16,7 +25,7 @@ export const Auth = {
|
|
|
16
25
|
return user;
|
|
17
26
|
},
|
|
18
27
|
login: async (authData, userData) => {
|
|
19
|
-
const user = await
|
|
28
|
+
const user = await getBackend().login(authData, userData);
|
|
20
29
|
if (user.isNew) {
|
|
21
30
|
// 标记为当前用户是在本机注册的 TODO
|
|
22
31
|
PrefData.setValue(BuildInPrefs.RegisterInThisDevice, true);
|
|
@@ -25,19 +34,19 @@ export const Auth = {
|
|
|
25
34
|
return user;
|
|
26
35
|
},
|
|
27
36
|
logOut: async () => {
|
|
28
|
-
await
|
|
37
|
+
await getBackend().logout();
|
|
29
38
|
CURRENT_USER = null;
|
|
30
39
|
},
|
|
31
40
|
currentUser: () => {
|
|
32
41
|
return CURRENT_USER;
|
|
33
42
|
},
|
|
34
43
|
batchUpdateUser: async (keys, values) => {
|
|
35
|
-
const user = await
|
|
44
|
+
const user = await getBackend().updateUser(keys, values);
|
|
36
45
|
CURRENT_USER = user;
|
|
37
46
|
return user;
|
|
38
47
|
},
|
|
39
48
|
deleteUser: async () => {
|
|
40
|
-
await
|
|
49
|
+
await getBackend().destroyUser();
|
|
41
50
|
CURRENT_USER = null;
|
|
42
51
|
}
|
|
43
52
|
};
|
package/lib/module/Auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CloudBaseAuth","LeanCloudAuth","BuildInPrefs","PrefData","
|
|
1
|
+
{"version":3,"names":["CloudBaseAuth","LeanCloudAuth","BuildInPrefs","PrefData","SyncPrefData","backend","isBackendResolved","getBackend","useCloud","getBoolean","CURRENT_USER","Auth","autoLogin","user","getLocalUser","Error","login","authData","userData","isNew","setValue","RegisterInThisDevice","logOut","logout","currentUser","batchUpdateUser","keys","values","updateUser","deleteUser","destroyUser"],"sourceRoot":"../../src","sources":["Auth.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,iBAAiB;AAE/C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,YAAY,EAAEC,QAAQ,QAAQ,YAAY;AACnD,SAASC,YAAY,QAAQ,gBAAgB;AAE7C,IAAIC,OAAO,GAAGJ,aAAa;AAC3B,IAAIK,iBAAiB,GAAG,KAAK;AAE7B,MAAMC,UAAU,GAAGA,CAAA,KAAM;EACvB,IAAI,CAACD,iBAAiB,EAAE;IACtB,MAAME,QAAQ,GAAGJ,YAAY,CAACK,UAAU,CAAC,eAAe,CAAC;IACzDJ,OAAO,GAAGG,QAAQ,GAAGR,aAAa,GAAGC,aAAa;IAClDK,iBAAiB,GAAG,IAAI;EAC1B;EAEA,OAAOD,OAAO;AAChB,CAAC;AAED,IAAIK,YAA6B,GAAG,IAAI;AAExC,OAAO,MAAMC,IAAI,GAAG;EAClBC,SAAS,EAAE,MAAAA,CAAA,KAA+B;IACxC,MAAMC,IAAI,GAAG,MAAMN,UAAU,CAAC,CAAC,CAACO,YAAY,CAAC,CAAC;IAC9C,IAAI,CAACD,IAAI,EAAE;MACT,MAAM,IAAIE,KAAK,CAAC,oBAAoB,CAAC;IACvC;IACAL,YAAY,GAAGG,IAAI;IACnB,OAAOA,IAAI;EACb,CAAC;EAEDG,KAAK,EAAE,MAAAA,CACLC,QAA2B,EAC3BC,QAA4B,KACN;IACtB,MAAML,IAAI,GAAG,MAAMN,UAAU,CAAC,CAAC,CAACS,KAAK,CAACC,QAAQ,EAAEC,QAAQ,CAAC;IACzD,IAAIL,IAAI,CAACM,KAAK,EAAE;MACd;MACAhB,QAAQ,CAACiB,QAAQ,CAAClB,YAAY,CAACmB,oBAAoB,EAAE,IAAI,CAAC;IAC5D;IACAX,YAAY,GAAGG,IAAI;IACnB,OAAOA,IAAI;EACb,CAAC;EAEDS,MAAM,EAAE,MAAAA,CAAA,KAAY;IAClB,MAAMf,UAAU,CAAC,CAAC,CAACgB,MAAM,CAAC,CAAC;IAC3Bb,YAAY,GAAG,IAAI;EACrB,CAAC;EAEDc,WAAW,EAAEA,CAAA,KAAuB;IAClC,OAAOd,YAAY;EACrB,CAAC;EAEDe,eAAe,EAAE,MAAAA,CAAOC,IAAc,EAAEC,MAAa,KAAwB;IAC3E,MAAMd,IAAI,GAAG,MAAMN,UAAU,CAAC,CAAC,CAACqB,UAAU,CAACF,IAAI,EAAEC,MAAM,CAAC;IACxDjB,YAAY,GAAGG,IAAI;IACnB,OAAOA,IAAI;EACb,CAAC;EAEDgB,UAAU,EAAE,MAAAA,CAAA,KAA2B;IACrC,MAAMtB,UAAU,CAAC,CAAC,CAACuB,WAAW,CAAC,CAAC;IAChCpB,YAAY,GAAG,IAAI;EACrB;AACF,CAAC","ignoreList":[]}
|
|
@@ -15,12 +15,12 @@ const LOGIN_TYPE_MAP = {
|
|
|
15
15
|
huawei: LoginType.LoginTypeHuawei,
|
|
16
16
|
apple: LoginType.LoginTypeApple
|
|
17
17
|
};
|
|
18
|
-
const toLocalUser = profile => {
|
|
18
|
+
const toLocalUser = (profile, cloudUser) => {
|
|
19
19
|
return {
|
|
20
20
|
id: profile._id,
|
|
21
|
-
nickname:
|
|
22
|
-
email:
|
|
23
|
-
headimgurl:
|
|
21
|
+
nickname: cloudUser?.name || '',
|
|
22
|
+
email: cloudUser?.email || '',
|
|
23
|
+
headimgurl: cloudUser?.picture || '',
|
|
24
24
|
type: LOGIN_TYPE_MAP[profile.loginType],
|
|
25
25
|
vipType: profile.vipType,
|
|
26
26
|
vipEndTime: profile.vipEndTime ? new Date(profile.vipEndTime) : undefined,
|
|
@@ -83,7 +83,7 @@ export const CloudBaseAuth = {
|
|
|
83
83
|
const raw = SyncPrefData.getString(CACHED_PROFILE_KEY);
|
|
84
84
|
const profile = raw ? JSON.parse(raw) : null;
|
|
85
85
|
if (profile?._id === uid) {
|
|
86
|
-
return toLocalUser(profile);
|
|
86
|
+
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
87
87
|
}
|
|
88
88
|
await CloudBaseAuth.logout();
|
|
89
89
|
return null;
|
|
@@ -91,7 +91,7 @@ export const CloudBaseAuth = {
|
|
|
91
91
|
login: async (authData, userData) => {
|
|
92
92
|
const {
|
|
93
93
|
ticket,
|
|
94
|
-
|
|
94
|
+
profile,
|
|
95
95
|
isNew
|
|
96
96
|
} = await requestAuth({
|
|
97
97
|
action: 'login',
|
|
@@ -107,8 +107,8 @@ export const CloudBaseAuth = {
|
|
|
107
107
|
} : undefined
|
|
108
108
|
});
|
|
109
109
|
await getApp().auth.signInWithCustomTicket(() => Promise.resolve(ticket));
|
|
110
|
-
setCachedProfile(
|
|
111
|
-
const localUser = toLocalUser(
|
|
110
|
+
setCachedProfile(profile);
|
|
111
|
+
const localUser = toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
112
112
|
localUser.isNew = isNew;
|
|
113
113
|
return localUser;
|
|
114
114
|
},
|
|
@@ -120,15 +120,15 @@ export const CloudBaseAuth = {
|
|
|
120
120
|
const uid = getUid();
|
|
121
121
|
if (!uid) throw new Error('User Not Login Yet');
|
|
122
122
|
const {
|
|
123
|
-
|
|
123
|
+
profile
|
|
124
124
|
} = await requestAuth({
|
|
125
125
|
action: 'updateUser',
|
|
126
126
|
uid,
|
|
127
127
|
keys,
|
|
128
128
|
values
|
|
129
129
|
});
|
|
130
|
-
setCachedProfile(
|
|
131
|
-
return toLocalUser(
|
|
130
|
+
setCachedProfile(profile);
|
|
131
|
+
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
132
132
|
},
|
|
133
133
|
destroyUser: async () => {
|
|
134
134
|
const uid = getUid();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["adapter","cloudbase","LoginType","SyncPrefData","ToolkitConfig","useAdapters","app","authUrl","CACHED_PROFILE_KEY","LOGIN_TYPE_MAP","wechat","LoginTypeWeChat","visitor","LoginTypeVisitor","huawei","LoginTypeHuawei","apple","LoginTypeApple","toLocalUser","profile","id","_id","nickname","email","headimgurl","type","loginType","vipType","vipEndTime","Date","undefined","createdAt","attr","webdav","getApp","CloudBaseEnv","CloudBaseAccessKey","CloudBaseRegion","CloudBaseAuthUrl","Error","init","env","region","accessKey","endPointMode","setCachedProfile","delete","set","JSON","stringify","getUid","auth","hasLoginState","user","uid","requestAuth","body","response","fetch","method","headers","ok","status","json","CloudBaseAuth","getLocalUser","raw","getString","parse","logout","login","authData","userData","ticket","isNew","action","openid","unionid","signInWithCustomTicket","Promise","resolve","localUser","signOut","updateUser","keys","values","destroyUser","callFunction","
|
|
1
|
+
{"version":3,"names":["adapter","cloudbase","LoginType","SyncPrefData","ToolkitConfig","useAdapters","app","authUrl","CACHED_PROFILE_KEY","LOGIN_TYPE_MAP","wechat","LoginTypeWeChat","visitor","LoginTypeVisitor","huawei","LoginTypeHuawei","apple","LoginTypeApple","toLocalUser","profile","cloudUser","id","_id","nickname","name","email","headimgurl","picture","type","loginType","vipType","vipEndTime","Date","undefined","createdAt","attr","webdav","getApp","CloudBaseEnv","CloudBaseAccessKey","CloudBaseRegion","CloudBaseAuthUrl","Error","init","env","region","accessKey","endPointMode","setCachedProfile","delete","set","JSON","stringify","getUid","auth","hasLoginState","user","uid","requestAuth","body","response","fetch","method","headers","ok","status","json","CloudBaseAuth","getLocalUser","raw","getString","parse","getCurrentUser","logout","login","authData","userData","ticket","isNew","action","openid","unionid","signInWithCustomTicket","Promise","resolve","localUser","signOut","updateUser","keys","values","destroyUser","callFunction","data"],"sourceRoot":"../../src","sources":["CloudBaseAuth.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../src/Auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../src/Auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAoB5E,eAAO,MAAM,IAAI;qBACM,QAAQ,QAAQ,CAAC;sBAU1B,iBAAiB,aAChB,iBAAiB,KAC3B,QAAQ,QAAQ,CAAC;;uBAeH,QAAQ,GAAG,IAAI;4BAIF,MAAM,EAAE,UAAU,GAAG,EAAE,KAAG,QAAQ,QAAQ,CAAC;sBAMnD,QAAQ,IAAI,CAAC;CAIpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloudBaseAuth.d.ts","sourceRoot":"","sources":["../../src/CloudBaseAuth.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EACjB,QAAQ,EACT,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"CloudBaseAuth.d.ts","sourceRoot":"","sources":["../../src/CloudBaseAuth.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EACjB,QAAQ,EACT,MAAM,YAAY,CAAC;AA4GpB,eAAO,MAAM,aAAa;wBACA,QAAQ,QAAQ,GAAG,IAAI,CAAC;sBAkBpC,iBAAiB,aAChB,iBAAiB,KAC3B,QAAQ,QAAQ,CAAC;;uBAgCK,MAAM,EAAE,UAAU,GAAG,EAAE,KAAG,QAAQ,QAAQ,CAAC;;CAwBrE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@norcy/react-native-toolkit",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.38",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "My Toolkit",
|
|
6
6
|
"main": "lib/commonjs/index",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@babel/core": "^7.20.0",
|
|
50
50
|
"@babel/preset-env": "^7.20.0",
|
|
51
51
|
"@cloudbase/adapter-rn": "^1.0.1",
|
|
52
|
-
"@cloudbase/js-sdk": "^
|
|
52
|
+
"@cloudbase/js-sdk": "^3.3.13",
|
|
53
53
|
"@cloudbase/node-sdk": "^3.18.1",
|
|
54
54
|
"@commitlint/cli": "^19.5.0",
|
|
55
55
|
"@commitlint/config-conventional": "^19.5.0",
|
package/src/Auth.ts
CHANGED
|
@@ -2,16 +2,26 @@ import { CloudBaseAuth } from './CloudBaseAuth';
|
|
|
2
2
|
import { LoginAuthDataType, LoginUserDataType, UserType } from './constant';
|
|
3
3
|
import { LeanCloudAuth } from './LeanCloudAuth';
|
|
4
4
|
import { BuildInPrefs, PrefData } from './PrefData';
|
|
5
|
+
import { SyncPrefData } from './SyncPrefData';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
let backend = LeanCloudAuth;
|
|
8
|
+
let isBackendResolved = false;
|
|
7
9
|
|
|
8
|
-
const
|
|
10
|
+
const getBackend = () => {
|
|
11
|
+
if (!isBackendResolved) {
|
|
12
|
+
const useCloud = SyncPrefData.getBoolean('Auth_UseCloud');
|
|
13
|
+
backend = useCloud ? CloudBaseAuth : LeanCloudAuth;
|
|
14
|
+
isBackendResolved = true;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return backend;
|
|
18
|
+
};
|
|
9
19
|
|
|
10
20
|
let CURRENT_USER: UserType | null = null;
|
|
11
21
|
|
|
12
22
|
export const Auth = {
|
|
13
23
|
autoLogin: async (): Promise<UserType> => {
|
|
14
|
-
const user = await
|
|
24
|
+
const user = await getBackend().getLocalUser();
|
|
15
25
|
if (!user) {
|
|
16
26
|
throw new Error('User Not Login Yet');
|
|
17
27
|
}
|
|
@@ -23,7 +33,7 @@ export const Auth = {
|
|
|
23
33
|
authData: LoginAuthDataType,
|
|
24
34
|
userData?: LoginUserDataType
|
|
25
35
|
): Promise<UserType> => {
|
|
26
|
-
const user = await
|
|
36
|
+
const user = await getBackend().login(authData, userData);
|
|
27
37
|
if (user.isNew) {
|
|
28
38
|
// 标记为当前用户是在本机注册的 TODO
|
|
29
39
|
PrefData.setValue(BuildInPrefs.RegisterInThisDevice, true);
|
|
@@ -33,7 +43,7 @@ export const Auth = {
|
|
|
33
43
|
},
|
|
34
44
|
|
|
35
45
|
logOut: async () => {
|
|
36
|
-
await
|
|
46
|
+
await getBackend().logout();
|
|
37
47
|
CURRENT_USER = null;
|
|
38
48
|
},
|
|
39
49
|
|
|
@@ -42,13 +52,13 @@ export const Auth = {
|
|
|
42
52
|
},
|
|
43
53
|
|
|
44
54
|
batchUpdateUser: async (keys: string[], values: any[]): Promise<UserType> => {
|
|
45
|
-
const user = await
|
|
55
|
+
const user = await getBackend().updateUser(keys, values);
|
|
46
56
|
CURRENT_USER = user;
|
|
47
57
|
return user;
|
|
48
58
|
},
|
|
49
59
|
|
|
50
60
|
deleteUser: async (): Promise<void> => {
|
|
51
|
-
await
|
|
61
|
+
await getBackend().destroyUser();
|
|
52
62
|
CURRENT_USER = null;
|
|
53
63
|
},
|
|
54
64
|
};
|
package/src/CloudBaseAuth.ts
CHANGED
|
@@ -23,9 +23,6 @@ const LOGIN_TYPE_MAP: Record<string, number> = {
|
|
|
23
23
|
|
|
24
24
|
interface CloudBaseProfile {
|
|
25
25
|
_id: string;
|
|
26
|
-
nickname: string;
|
|
27
|
-
email: string;
|
|
28
|
-
headimgurl: string;
|
|
29
26
|
loginType: string;
|
|
30
27
|
vipType?: string;
|
|
31
28
|
vipEndTime?: string | number | Date;
|
|
@@ -36,16 +33,25 @@ interface CloudBaseProfile {
|
|
|
36
33
|
|
|
37
34
|
interface AuthResponse {
|
|
38
35
|
ticket: string;
|
|
39
|
-
|
|
36
|
+
profile: CloudBaseProfile;
|
|
40
37
|
isNew?: boolean;
|
|
41
38
|
}
|
|
42
39
|
|
|
43
|
-
|
|
40
|
+
interface CloudBaseUserInfo {
|
|
41
|
+
name?: string;
|
|
42
|
+
email?: string;
|
|
43
|
+
picture?: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const toLocalUser = (
|
|
47
|
+
profile: CloudBaseProfile,
|
|
48
|
+
cloudUser?: CloudBaseUserInfo | null
|
|
49
|
+
): UserType => {
|
|
44
50
|
return {
|
|
45
51
|
id: profile._id,
|
|
46
|
-
nickname:
|
|
47
|
-
email:
|
|
48
|
-
headimgurl:
|
|
52
|
+
nickname: cloudUser?.name || '',
|
|
53
|
+
email: cloudUser?.email || '',
|
|
54
|
+
headimgurl: cloudUser?.picture || '',
|
|
49
55
|
type: LOGIN_TYPE_MAP[profile.loginType],
|
|
50
56
|
vipType: profile.vipType,
|
|
51
57
|
vipEndTime: profile.vipEndTime ? new Date(profile.vipEndTime) : undefined,
|
|
@@ -118,7 +124,7 @@ export const CloudBaseAuth = {
|
|
|
118
124
|
const raw = SyncPrefData.getString(CACHED_PROFILE_KEY);
|
|
119
125
|
const profile = raw ? (JSON.parse(raw) as CloudBaseProfile) : null;
|
|
120
126
|
if (profile?._id === uid) {
|
|
121
|
-
return toLocalUser(profile);
|
|
127
|
+
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
122
128
|
}
|
|
123
129
|
|
|
124
130
|
await CloudBaseAuth.logout();
|
|
@@ -129,7 +135,7 @@ export const CloudBaseAuth = {
|
|
|
129
135
|
authData: LoginAuthDataType,
|
|
130
136
|
userData?: LoginUserDataType
|
|
131
137
|
): Promise<UserType> => {
|
|
132
|
-
const { ticket,
|
|
138
|
+
const { ticket, profile, isNew } = await requestAuth({
|
|
133
139
|
action: 'login',
|
|
134
140
|
authData: {
|
|
135
141
|
openid: authData.openid,
|
|
@@ -146,8 +152,11 @@ export const CloudBaseAuth = {
|
|
|
146
152
|
});
|
|
147
153
|
|
|
148
154
|
await getApp().auth.signInWithCustomTicket(() => Promise.resolve(ticket));
|
|
149
|
-
setCachedProfile(
|
|
150
|
-
const localUser = toLocalUser(
|
|
155
|
+
setCachedProfile(profile);
|
|
156
|
+
const localUser = toLocalUser(
|
|
157
|
+
profile,
|
|
158
|
+
await getApp().auth.getCurrentUser()
|
|
159
|
+
);
|
|
151
160
|
localUser.isNew = isNew;
|
|
152
161
|
return localUser;
|
|
153
162
|
},
|
|
@@ -161,14 +170,14 @@ export const CloudBaseAuth = {
|
|
|
161
170
|
const uid = getUid();
|
|
162
171
|
if (!uid) throw new Error('User Not Login Yet');
|
|
163
172
|
|
|
164
|
-
const {
|
|
173
|
+
const { profile } = await requestAuth({
|
|
165
174
|
action: 'updateUser',
|
|
166
175
|
uid,
|
|
167
176
|
keys,
|
|
168
177
|
values,
|
|
169
178
|
});
|
|
170
|
-
setCachedProfile(
|
|
171
|
-
return toLocalUser(
|
|
179
|
+
setCachedProfile(profile);
|
|
180
|
+
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
172
181
|
},
|
|
173
182
|
|
|
174
183
|
destroyUser: async () => {
|