@norcy/react-native-toolkit 0.3.38 → 0.3.40
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.
|
@@ -20,10 +20,17 @@ const LOGIN_TYPE_MAP = {
|
|
|
20
20
|
huawei: _constant.LoginType.LoginTypeHuawei,
|
|
21
21
|
apple: _constant.LoginType.LoginTypeApple
|
|
22
22
|
};
|
|
23
|
+
const getCloudBaseNickname = cloudUser => {
|
|
24
|
+
if (cloudUser?.nickName) return cloudUser.nickName;
|
|
25
|
+
if (cloudUser?.name && cloudUser.name !== cloudUser.username) {
|
|
26
|
+
return cloudUser.name;
|
|
27
|
+
}
|
|
28
|
+
return '';
|
|
29
|
+
};
|
|
23
30
|
const toLocalUser = (profile, cloudUser) => {
|
|
24
31
|
return {
|
|
25
32
|
id: profile._id,
|
|
26
|
-
nickname: cloudUser
|
|
33
|
+
nickname: getCloudBaseNickname(cloudUser),
|
|
27
34
|
email: cloudUser?.email || '',
|
|
28
35
|
headimgurl: cloudUser?.picture || '',
|
|
29
36
|
type: LOGIN_TYPE_MAP[profile.loginType],
|
|
@@ -61,6 +68,10 @@ const setCachedProfile = profile => {
|
|
|
61
68
|
_SyncPrefData.SyncPrefData.set(CACHED_PROFILE_KEY, JSON.stringify(profile));
|
|
62
69
|
}
|
|
63
70
|
};
|
|
71
|
+
const getCachedProfile = () => {
|
|
72
|
+
const raw = _SyncPrefData.SyncPrefData.getString(CACHED_PROFILE_KEY);
|
|
73
|
+
return raw ? JSON.parse(raw) : null;
|
|
74
|
+
};
|
|
64
75
|
const getUid = () => {
|
|
65
76
|
return getApp().auth.hasLoginState()?.user.uid;
|
|
66
77
|
};
|
|
@@ -85,8 +96,7 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
85
96
|
setCachedProfile();
|
|
86
97
|
return null;
|
|
87
98
|
}
|
|
88
|
-
const
|
|
89
|
-
const profile = raw ? JSON.parse(raw) : null;
|
|
99
|
+
const profile = getCachedProfile();
|
|
90
100
|
if (profile?._id === uid) {
|
|
91
101
|
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
92
102
|
}
|
|
@@ -113,7 +123,8 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
113
123
|
});
|
|
114
124
|
await getApp().auth.signInWithCustomTicket(() => Promise.resolve(ticket));
|
|
115
125
|
setCachedProfile(profile);
|
|
116
|
-
const
|
|
126
|
+
const cloudUser = await getApp().auth.getCurrentUser();
|
|
127
|
+
const localUser = toLocalUser(profile, cloudUser);
|
|
117
128
|
localUser.isNew = isNew;
|
|
118
129
|
return localUser;
|
|
119
130
|
},
|
|
@@ -124,15 +135,32 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
124
135
|
updateUser: async (keys, values) => {
|
|
125
136
|
const uid = getUid();
|
|
126
137
|
if (!uid) throw new Error('User Not Login Yet');
|
|
127
|
-
const {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
138
|
+
const userInfo = {};
|
|
139
|
+
const profileKeys = [];
|
|
140
|
+
const profileValues = [];
|
|
141
|
+
for (let i = 0; i < keys.length; i += 1) {
|
|
142
|
+
if (keys[i] === 'nickname') userInfo.nickname = values[i];else if (keys[i] === 'email') userInfo.email = values[i];else if (keys[i] === 'headimgurl') userInfo.avatar_url = values[i];else {
|
|
143
|
+
profileKeys.push(keys[i]);
|
|
144
|
+
profileValues.push(values[i]);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (Object.keys(userInfo).length > 0) {
|
|
148
|
+
await getApp().auth.updateUserBasicInfo(userInfo);
|
|
149
|
+
}
|
|
150
|
+
let profile;
|
|
151
|
+
if (profileKeys.length > 0) {
|
|
152
|
+
const response = await requestAuth({
|
|
153
|
+
action: 'updateUser',
|
|
154
|
+
uid,
|
|
155
|
+
keys: profileKeys,
|
|
156
|
+
values: profileValues
|
|
157
|
+
});
|
|
158
|
+
profile = response.profile;
|
|
159
|
+
setCachedProfile(profile);
|
|
160
|
+
} else {
|
|
161
|
+
profile = getCachedProfile();
|
|
162
|
+
}
|
|
163
|
+
if (!profile) throw new Error('CloudBase profile missing');
|
|
136
164
|
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
137
165
|
},
|
|
138
166
|
destroyUser: async () => {
|
|
@@ -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","
|
|
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","getCloudBaseNickname","cloudUser","nickName","name","username","toLocalUser","profile","id","_id","nickname","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","getCachedProfile","raw","getString","parse","getUid","auth","hasLoginState","user","uid","requestAuth","body","response","fetch","method","headers","ok","status","json","CloudBaseAuth","exports","getLocalUser","getCurrentUser","logout","login","authData","userData","ticket","isNew","action","openid","unionid","signInWithCustomTicket","Promise","resolve","localUser","signOut","updateUser","keys","values","userInfo","profileKeys","profileValues","i","length","avatar_url","push","Object","updateUserBasicInfo","destroyUser","callFunction","data"],"sourceRoot":"../../src","sources":["CloudBaseAuth.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,10 +15,17 @@ const LOGIN_TYPE_MAP = {
|
|
|
15
15
|
huawei: LoginType.LoginTypeHuawei,
|
|
16
16
|
apple: LoginType.LoginTypeApple
|
|
17
17
|
};
|
|
18
|
+
const getCloudBaseNickname = cloudUser => {
|
|
19
|
+
if (cloudUser?.nickName) return cloudUser.nickName;
|
|
20
|
+
if (cloudUser?.name && cloudUser.name !== cloudUser.username) {
|
|
21
|
+
return cloudUser.name;
|
|
22
|
+
}
|
|
23
|
+
return '';
|
|
24
|
+
};
|
|
18
25
|
const toLocalUser = (profile, cloudUser) => {
|
|
19
26
|
return {
|
|
20
27
|
id: profile._id,
|
|
21
|
-
nickname: cloudUser
|
|
28
|
+
nickname: getCloudBaseNickname(cloudUser),
|
|
22
29
|
email: cloudUser?.email || '',
|
|
23
30
|
headimgurl: cloudUser?.picture || '',
|
|
24
31
|
type: LOGIN_TYPE_MAP[profile.loginType],
|
|
@@ -56,6 +63,10 @@ const setCachedProfile = profile => {
|
|
|
56
63
|
SyncPrefData.set(CACHED_PROFILE_KEY, JSON.stringify(profile));
|
|
57
64
|
}
|
|
58
65
|
};
|
|
66
|
+
const getCachedProfile = () => {
|
|
67
|
+
const raw = SyncPrefData.getString(CACHED_PROFILE_KEY);
|
|
68
|
+
return raw ? JSON.parse(raw) : null;
|
|
69
|
+
};
|
|
59
70
|
const getUid = () => {
|
|
60
71
|
return getApp().auth.hasLoginState()?.user.uid;
|
|
61
72
|
};
|
|
@@ -80,8 +91,7 @@ export const CloudBaseAuth = {
|
|
|
80
91
|
setCachedProfile();
|
|
81
92
|
return null;
|
|
82
93
|
}
|
|
83
|
-
const
|
|
84
|
-
const profile = raw ? JSON.parse(raw) : null;
|
|
94
|
+
const profile = getCachedProfile();
|
|
85
95
|
if (profile?._id === uid) {
|
|
86
96
|
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
87
97
|
}
|
|
@@ -108,7 +118,8 @@ export const CloudBaseAuth = {
|
|
|
108
118
|
});
|
|
109
119
|
await getApp().auth.signInWithCustomTicket(() => Promise.resolve(ticket));
|
|
110
120
|
setCachedProfile(profile);
|
|
111
|
-
const
|
|
121
|
+
const cloudUser = await getApp().auth.getCurrentUser();
|
|
122
|
+
const localUser = toLocalUser(profile, cloudUser);
|
|
112
123
|
localUser.isNew = isNew;
|
|
113
124
|
return localUser;
|
|
114
125
|
},
|
|
@@ -119,15 +130,32 @@ export const CloudBaseAuth = {
|
|
|
119
130
|
updateUser: async (keys, values) => {
|
|
120
131
|
const uid = getUid();
|
|
121
132
|
if (!uid) throw new Error('User Not Login Yet');
|
|
122
|
-
const {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
133
|
+
const userInfo = {};
|
|
134
|
+
const profileKeys = [];
|
|
135
|
+
const profileValues = [];
|
|
136
|
+
for (let i = 0; i < keys.length; i += 1) {
|
|
137
|
+
if (keys[i] === 'nickname') userInfo.nickname = values[i];else if (keys[i] === 'email') userInfo.email = values[i];else if (keys[i] === 'headimgurl') userInfo.avatar_url = values[i];else {
|
|
138
|
+
profileKeys.push(keys[i]);
|
|
139
|
+
profileValues.push(values[i]);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (Object.keys(userInfo).length > 0) {
|
|
143
|
+
await getApp().auth.updateUserBasicInfo(userInfo);
|
|
144
|
+
}
|
|
145
|
+
let profile;
|
|
146
|
+
if (profileKeys.length > 0) {
|
|
147
|
+
const response = await requestAuth({
|
|
148
|
+
action: 'updateUser',
|
|
149
|
+
uid,
|
|
150
|
+
keys: profileKeys,
|
|
151
|
+
values: profileValues
|
|
152
|
+
});
|
|
153
|
+
profile = response.profile;
|
|
154
|
+
setCachedProfile(profile);
|
|
155
|
+
} else {
|
|
156
|
+
profile = getCachedProfile();
|
|
157
|
+
}
|
|
158
|
+
if (!profile) throw new Error('CloudBase profile missing');
|
|
131
159
|
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
132
160
|
},
|
|
133
161
|
destroyUser: async () => {
|
|
@@ -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","
|
|
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","getCloudBaseNickname","cloudUser","nickName","name","username","toLocalUser","profile","id","_id","nickname","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","getCachedProfile","raw","getString","parse","getUid","auth","hasLoginState","user","uid","requestAuth","body","response","fetch","method","headers","ok","status","json","CloudBaseAuth","getLocalUser","getCurrentUser","logout","login","authData","userData","ticket","isNew","action","openid","unionid","signInWithCustomTicket","Promise","resolve","localUser","signOut","updateUser","keys","values","userInfo","profileKeys","profileValues","i","length","avatar_url","push","Object","updateUserBasicInfo","destroyUser","callFunction","data"],"sourceRoot":"../../src","sources":["CloudBaseAuth.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -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;AA2HpB,eAAO,MAAM,aAAa;wBACA,QAAQ,QAAQ,GAAG,IAAI,CAAC;sBAiBpC,iBAAiB,aAChB,iBAAiB,KAC3B,QAAQ,QAAQ,CAAC;;uBA8BK,MAAM,EAAE,UAAU,GAAG,EAAE,KAAG,QAAQ,QAAQ,CAAC;;CAgDrE,CAAC"}
|
package/package.json
CHANGED
package/src/CloudBaseAuth.ts
CHANGED
|
@@ -38,18 +38,28 @@ interface AuthResponse {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
interface CloudBaseUserInfo {
|
|
41
|
+
nickName?: string;
|
|
41
42
|
name?: string;
|
|
43
|
+
username?: string;
|
|
42
44
|
email?: string;
|
|
43
45
|
picture?: string;
|
|
44
46
|
}
|
|
45
47
|
|
|
48
|
+
const getCloudBaseNickname = (cloudUser?: CloudBaseUserInfo | null) => {
|
|
49
|
+
if (cloudUser?.nickName) return cloudUser.nickName;
|
|
50
|
+
if (cloudUser?.name && cloudUser.name !== cloudUser.username) {
|
|
51
|
+
return cloudUser.name;
|
|
52
|
+
}
|
|
53
|
+
return '';
|
|
54
|
+
};
|
|
55
|
+
|
|
46
56
|
const toLocalUser = (
|
|
47
57
|
profile: CloudBaseProfile,
|
|
48
58
|
cloudUser?: CloudBaseUserInfo | null
|
|
49
59
|
): UserType => {
|
|
50
60
|
return {
|
|
51
61
|
id: profile._id,
|
|
52
|
-
nickname: cloudUser
|
|
62
|
+
nickname: getCloudBaseNickname(cloudUser),
|
|
53
63
|
email: cloudUser?.email || '',
|
|
54
64
|
headimgurl: cloudUser?.picture || '',
|
|
55
65
|
type: LOGIN_TYPE_MAP[profile.loginType],
|
|
@@ -94,6 +104,11 @@ const setCachedProfile = (profile?: CloudBaseProfile) => {
|
|
|
94
104
|
}
|
|
95
105
|
};
|
|
96
106
|
|
|
107
|
+
const getCachedProfile = () => {
|
|
108
|
+
const raw = SyncPrefData.getString(CACHED_PROFILE_KEY);
|
|
109
|
+
return raw ? (JSON.parse(raw) as CloudBaseProfile) : null;
|
|
110
|
+
};
|
|
111
|
+
|
|
97
112
|
const getUid = () => {
|
|
98
113
|
return getApp().auth.hasLoginState()?.user.uid;
|
|
99
114
|
};
|
|
@@ -121,8 +136,7 @@ export const CloudBaseAuth = {
|
|
|
121
136
|
return null;
|
|
122
137
|
}
|
|
123
138
|
|
|
124
|
-
const
|
|
125
|
-
const profile = raw ? (JSON.parse(raw) as CloudBaseProfile) : null;
|
|
139
|
+
const profile = getCachedProfile();
|
|
126
140
|
if (profile?._id === uid) {
|
|
127
141
|
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
128
142
|
}
|
|
@@ -153,10 +167,8 @@ export const CloudBaseAuth = {
|
|
|
153
167
|
|
|
154
168
|
await getApp().auth.signInWithCustomTicket(() => Promise.resolve(ticket));
|
|
155
169
|
setCachedProfile(profile);
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
await getApp().auth.getCurrentUser()
|
|
159
|
-
);
|
|
170
|
+
const cloudUser = await getApp().auth.getCurrentUser();
|
|
171
|
+
const localUser = toLocalUser(profile, cloudUser);
|
|
160
172
|
localUser.isNew = isNew;
|
|
161
173
|
return localUser;
|
|
162
174
|
},
|
|
@@ -170,13 +182,37 @@ export const CloudBaseAuth = {
|
|
|
170
182
|
const uid = getUid();
|
|
171
183
|
if (!uid) throw new Error('User Not Login Yet');
|
|
172
184
|
|
|
173
|
-
const {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
values
|
|
178
|
-
|
|
179
|
-
|
|
185
|
+
const userInfo: { nickname?: any; email?: any; avatar_url?: any } = {};
|
|
186
|
+
const profileKeys: string[] = [];
|
|
187
|
+
const profileValues: any[] = [];
|
|
188
|
+
for (let i = 0; i < keys.length; i += 1) {
|
|
189
|
+
if (keys[i] === 'nickname') userInfo.nickname = values[i];
|
|
190
|
+
else if (keys[i] === 'email') userInfo.email = values[i];
|
|
191
|
+
else if (keys[i] === 'headimgurl') userInfo.avatar_url = values[i];
|
|
192
|
+
else {
|
|
193
|
+
profileKeys.push(keys[i]);
|
|
194
|
+
profileValues.push(values[i]);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (Object.keys(userInfo).length > 0) {
|
|
198
|
+
await getApp().auth.updateUserBasicInfo(userInfo);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
let profile;
|
|
202
|
+
if (profileKeys.length > 0) {
|
|
203
|
+
const response = await requestAuth({
|
|
204
|
+
action: 'updateUser',
|
|
205
|
+
uid,
|
|
206
|
+
keys: profileKeys,
|
|
207
|
+
values: profileValues,
|
|
208
|
+
});
|
|
209
|
+
profile = response.profile;
|
|
210
|
+
setCachedProfile(profile);
|
|
211
|
+
} else {
|
|
212
|
+
profile = getCachedProfile();
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
if (!profile) throw new Error('CloudBase profile missing');
|
|
180
216
|
return toLocalUser(profile, await getApp().auth.getCurrentUser());
|
|
181
217
|
},
|
|
182
218
|
|