@norcy/react-native-toolkit 0.3.27 → 0.3.29
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.
|
@@ -10,6 +10,8 @@ var _reactNative = require("react-native");
|
|
|
10
10
|
var _constant = require("./constant");
|
|
11
11
|
var _Tool = require("./Tool");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
_jsSdk.default.useAdapters(_adapterRn.default);
|
|
14
|
+
|
|
13
15
|
/**
|
|
14
16
|
* CloudBase 自定义登录所需的云函数约定(需部署到 CloudBase 并开启 HTTP 访问服务):
|
|
15
17
|
*
|
|
@@ -38,11 +40,11 @@ const ensureInit = () => {
|
|
|
38
40
|
if (!CloudBaseEnv || !CloudBaseAccessKey || !CloudBaseAuthUrl) {
|
|
39
41
|
throw new Error('CloudBase config missing. Set CloudBaseEnv / CloudBaseAccessKey / CloudBaseAuthUrl in ToolkitConfig.');
|
|
40
42
|
}
|
|
41
|
-
_jsSdk.default.useAdapters(_adapterRn.default);
|
|
42
43
|
app = _jsSdk.default.init({
|
|
43
44
|
env: CloudBaseEnv,
|
|
44
45
|
region: CloudBaseRegion || 'ap-shanghai',
|
|
45
|
-
accessKey: CloudBaseAccessKey
|
|
46
|
+
accessKey: CloudBaseAccessKey,
|
|
47
|
+
endPointMode: 'GATEWAY'
|
|
46
48
|
});
|
|
47
49
|
authUrl = CloudBaseAuthUrl;
|
|
48
50
|
return app;
|
|
@@ -84,13 +86,13 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
84
86
|
if (cachedProfile) {
|
|
85
87
|
return profileToLocalUser(cachedProfile);
|
|
86
88
|
}
|
|
87
|
-
const uid = cbApp.auth.currentUser?.uid;
|
|
89
|
+
const uid = cbApp.auth.currentUser?.uid ?? loginState.user?.uid;
|
|
88
90
|
if (!uid) return null;
|
|
89
91
|
try {
|
|
90
92
|
const db = cbApp.database();
|
|
91
93
|
const {
|
|
92
94
|
data
|
|
93
|
-
} = await db.collection('
|
|
95
|
+
} = await db.collection('user-profile').doc(uid).get();
|
|
94
96
|
if (!data || Array.isArray(data) && data.length === 0) return null;
|
|
95
97
|
cachedProfile = Array.isArray(data) ? data[0] : data;
|
|
96
98
|
return profileToLocalUser(cachedProfile);
|
|
@@ -138,7 +140,15 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
138
140
|
console.log('CloudBase 登录失败: no ticket returned');
|
|
139
141
|
throw new Error('CloudBase auth: server did not return a ticket');
|
|
140
142
|
}
|
|
141
|
-
|
|
143
|
+
if (!user) {
|
|
144
|
+
console.log('CloudBase 登录失败: no user returned', result);
|
|
145
|
+
throw new Error('CloudBase auth: server did not return a user profile');
|
|
146
|
+
}
|
|
147
|
+
const signInResult = await cbApp.auth.signInWithCustomTicket(() => Promise.resolve(ticket));
|
|
148
|
+
if (signInResult?.error) {
|
|
149
|
+
console.log('CloudBase 登录失败', signInResult.error);
|
|
150
|
+
throw signInResult.error;
|
|
151
|
+
}
|
|
142
152
|
console.log('CloudBase 登录成功');
|
|
143
153
|
cachedProfile = user;
|
|
144
154
|
const localUser = profileToLocalUser(user);
|
|
@@ -164,10 +174,10 @@ const CloudBaseAuth = exports.CloudBaseAuth = {
|
|
|
164
174
|
updateData[keys[i]] = values[i];
|
|
165
175
|
}
|
|
166
176
|
try {
|
|
167
|
-
await db.collection('
|
|
177
|
+
await db.collection('user-profile').doc(uid).update(updateData);
|
|
168
178
|
const {
|
|
169
179
|
data
|
|
170
|
-
} = await db.collection('
|
|
180
|
+
} = await db.collection('user-profile').doc(uid).get();
|
|
171
181
|
cachedProfile = Array.isArray(data) ? data[0] : data;
|
|
172
182
|
return profileToLocalUser(cachedProfile);
|
|
173
183
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_jsSdk","_interopRequireDefault","require","_adapterRn","_reactNative","_constant","_Tool","e","__esModule","default","app","cachedProfile","authUrl","ensureInit","CloudBaseEnv","CloudBaseAccessKey","CloudBaseRegion","CloudBaseAuthUrl","ToolkitConfig","Error","
|
|
1
|
+
{"version":3,"names":["_jsSdk","_interopRequireDefault","require","_adapterRn","_reactNative","_constant","_Tool","e","__esModule","default","cloudbase","useAdapters","adapter","app","cachedProfile","authUrl","ensureInit","CloudBaseEnv","CloudBaseAccessKey","CloudBaseRegion","CloudBaseAuthUrl","ToolkitConfig","Error","init","env","region","accessKey","endPointMode","getLoginTypeNum","loginType","LoginType","LoginTypeWeChat","LoginTypeVisitor","LoginTypeHuawei","LoginTypeApple","profileToLocalUser","profile","id","_id","nickname","email","headimgurl","type","vipType","vipEndTime","Date","undefined","createdAt","attr","webdav","CloudBaseAuth","exports","getCurrentUser","cbApp","loginState","auth","hasLoginState","uid","currentUser","user","db","database","data","collection","doc","get","Array","isArray","length","error","console","log","loginWithAuthData","authData","userData","response","fetch","method","headers","body","JSON","stringify","action","openid","unionid","source","Platform","OS","ok","text","catch","status","result","json","ticket","isNew","signInResult","signInWithCustomTicket","Promise","resolve","localUser","logout","signOut","updateUser","keys","values","updateData","oldValues","i","push","update","destroyUser","callFunction","name"],"sourceRoot":"../../src","sources":["CloudBaseAuth.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ import adapter from '@cloudbase/adapter-rn';
|
|
|
5
5
|
import { Platform } from 'react-native';
|
|
6
6
|
import { LoginType } from './constant';
|
|
7
7
|
import { ToolkitConfig } from './Tool';
|
|
8
|
+
cloudbase.useAdapters(adapter);
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* CloudBase 自定义登录所需的云函数约定(需部署到 CloudBase 并开启 HTTP 访问服务):
|
|
@@ -34,11 +35,11 @@ const ensureInit = () => {
|
|
|
34
35
|
if (!CloudBaseEnv || !CloudBaseAccessKey || !CloudBaseAuthUrl) {
|
|
35
36
|
throw new Error('CloudBase config missing. Set CloudBaseEnv / CloudBaseAccessKey / CloudBaseAuthUrl in ToolkitConfig.');
|
|
36
37
|
}
|
|
37
|
-
cloudbase.useAdapters(adapter);
|
|
38
38
|
app = cloudbase.init({
|
|
39
39
|
env: CloudBaseEnv,
|
|
40
40
|
region: CloudBaseRegion || 'ap-shanghai',
|
|
41
|
-
accessKey: CloudBaseAccessKey
|
|
41
|
+
accessKey: CloudBaseAccessKey,
|
|
42
|
+
endPointMode: 'GATEWAY'
|
|
42
43
|
});
|
|
43
44
|
authUrl = CloudBaseAuthUrl;
|
|
44
45
|
return app;
|
|
@@ -80,13 +81,13 @@ export const CloudBaseAuth = {
|
|
|
80
81
|
if (cachedProfile) {
|
|
81
82
|
return profileToLocalUser(cachedProfile);
|
|
82
83
|
}
|
|
83
|
-
const uid = cbApp.auth.currentUser?.uid;
|
|
84
|
+
const uid = cbApp.auth.currentUser?.uid ?? loginState.user?.uid;
|
|
84
85
|
if (!uid) return null;
|
|
85
86
|
try {
|
|
86
87
|
const db = cbApp.database();
|
|
87
88
|
const {
|
|
88
89
|
data
|
|
89
|
-
} = await db.collection('
|
|
90
|
+
} = await db.collection('user-profile').doc(uid).get();
|
|
90
91
|
if (!data || Array.isArray(data) && data.length === 0) return null;
|
|
91
92
|
cachedProfile = Array.isArray(data) ? data[0] : data;
|
|
92
93
|
return profileToLocalUser(cachedProfile);
|
|
@@ -134,7 +135,15 @@ export const CloudBaseAuth = {
|
|
|
134
135
|
console.log('CloudBase 登录失败: no ticket returned');
|
|
135
136
|
throw new Error('CloudBase auth: server did not return a ticket');
|
|
136
137
|
}
|
|
137
|
-
|
|
138
|
+
if (!user) {
|
|
139
|
+
console.log('CloudBase 登录失败: no user returned', result);
|
|
140
|
+
throw new Error('CloudBase auth: server did not return a user profile');
|
|
141
|
+
}
|
|
142
|
+
const signInResult = await cbApp.auth.signInWithCustomTicket(() => Promise.resolve(ticket));
|
|
143
|
+
if (signInResult?.error) {
|
|
144
|
+
console.log('CloudBase 登录失败', signInResult.error);
|
|
145
|
+
throw signInResult.error;
|
|
146
|
+
}
|
|
138
147
|
console.log('CloudBase 登录成功');
|
|
139
148
|
cachedProfile = user;
|
|
140
149
|
const localUser = profileToLocalUser(user);
|
|
@@ -160,10 +169,10 @@ export const CloudBaseAuth = {
|
|
|
160
169
|
updateData[keys[i]] = values[i];
|
|
161
170
|
}
|
|
162
171
|
try {
|
|
163
|
-
await db.collection('
|
|
172
|
+
await db.collection('user-profile').doc(uid).update(updateData);
|
|
164
173
|
const {
|
|
165
174
|
data
|
|
166
|
-
} = await db.collection('
|
|
175
|
+
} = await db.collection('user-profile').doc(uid).get();
|
|
167
176
|
cachedProfile = Array.isArray(data) ? data[0] : data;
|
|
168
177
|
return profileToLocalUser(cachedProfile);
|
|
169
178
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cloudbase","adapter","Platform","LoginType","ToolkitConfig","app","cachedProfile","authUrl","ensureInit","CloudBaseEnv","CloudBaseAccessKey","CloudBaseRegion","CloudBaseAuthUrl","Error","
|
|
1
|
+
{"version":3,"names":["cloudbase","adapter","Platform","LoginType","ToolkitConfig","useAdapters","app","cachedProfile","authUrl","ensureInit","CloudBaseEnv","CloudBaseAccessKey","CloudBaseRegion","CloudBaseAuthUrl","Error","init","env","region","accessKey","endPointMode","getLoginTypeNum","loginType","LoginTypeWeChat","LoginTypeVisitor","LoginTypeHuawei","LoginTypeApple","profileToLocalUser","profile","id","_id","nickname","email","headimgurl","type","vipType","vipEndTime","Date","undefined","createdAt","attr","webdav","CloudBaseAuth","getCurrentUser","cbApp","loginState","auth","hasLoginState","uid","currentUser","user","db","database","data","collection","doc","get","Array","isArray","length","error","console","log","loginWithAuthData","authData","userData","response","fetch","method","headers","body","JSON","stringify","action","openid","unionid","source","OS","ok","text","catch","status","result","json","ticket","isNew","signInResult","signInWithCustomTicket","Promise","resolve","localUser","logout","signOut","e","updateUser","keys","values","updateData","oldValues","i","push","update","destroyUser","callFunction","name"],"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":"AAGA,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":"AAGA,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EACjB,QAAQ,EACT,MAAM,YAAY,CAAC;AA0EpB,eAAO,MAAM,aAAa;0BACE,QAAQ,QAAQ,GAAG,IAAI,CAAC;kCA4BtC,iBAAiB,aAChB,iBAAiB,KAC3B,QAAQ,QAAQ,CAAC;;uBAoEK,MAAM,EAAE,UAAU,GAAG,EAAE,KAAG,QAAQ,QAAQ,CAAC;;CA2CrE,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.29",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "My Toolkit",
|
|
6
6
|
"main": "lib/commonjs/index",
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"postinstall": "husky || true",
|
|
29
29
|
"build": "bob build",
|
|
30
30
|
"release": "release-it",
|
|
31
|
+
"auth:local": "node tcb/local-auth-server.js",
|
|
31
32
|
"example": "yarn --cwd example",
|
|
32
33
|
"pods": "cd example && pod-install --quiet",
|
|
33
34
|
"bootstrap": "yarn example && yarn && yarn pods"
|
package/src/CloudBaseAuth.ts
CHANGED
|
@@ -9,6 +9,8 @@ import {
|
|
|
9
9
|
} from './constant';
|
|
10
10
|
import { ToolkitConfig } from './Tool';
|
|
11
11
|
|
|
12
|
+
cloudbase.useAdapters(adapter);
|
|
13
|
+
|
|
12
14
|
/**
|
|
13
15
|
* CloudBase 自定义登录所需的云函数约定(需部署到 CloudBase 并开启 HTTP 访问服务):
|
|
14
16
|
*
|
|
@@ -40,11 +42,11 @@ const ensureInit = () => {
|
|
|
40
42
|
'CloudBase config missing. Set CloudBaseEnv / CloudBaseAccessKey / CloudBaseAuthUrl in ToolkitConfig.'
|
|
41
43
|
);
|
|
42
44
|
}
|
|
43
|
-
cloudbase.useAdapters(adapter);
|
|
44
45
|
app = cloudbase.init({
|
|
45
46
|
env: CloudBaseEnv,
|
|
46
47
|
region: CloudBaseRegion || 'ap-shanghai',
|
|
47
48
|
accessKey: CloudBaseAccessKey,
|
|
49
|
+
endPointMode: 'GATEWAY',
|
|
48
50
|
});
|
|
49
51
|
authUrl = CloudBaseAuthUrl;
|
|
50
52
|
return app;
|
|
@@ -91,12 +93,12 @@ export const CloudBaseAuth = {
|
|
|
91
93
|
return profileToLocalUser(cachedProfile);
|
|
92
94
|
}
|
|
93
95
|
|
|
94
|
-
const uid = cbApp.auth.currentUser?.uid;
|
|
96
|
+
const uid = cbApp.auth.currentUser?.uid ?? loginState.user?.uid;
|
|
95
97
|
if (!uid) return null;
|
|
96
98
|
|
|
97
99
|
try {
|
|
98
100
|
const db = cbApp.database();
|
|
99
|
-
const { data } = await db.collection('
|
|
101
|
+
const { data } = await db.collection('user-profile').doc(uid).get();
|
|
100
102
|
if (!data || (Array.isArray(data) && data.length === 0)) return null;
|
|
101
103
|
cachedProfile = Array.isArray(data) ? data[0] : data;
|
|
102
104
|
return profileToLocalUser(cachedProfile);
|
|
@@ -149,7 +151,18 @@ export const CloudBaseAuth = {
|
|
|
149
151
|
throw new Error('CloudBase auth: server did not return a ticket');
|
|
150
152
|
}
|
|
151
153
|
|
|
152
|
-
|
|
154
|
+
if (!user) {
|
|
155
|
+
console.log('CloudBase 登录失败: no user returned', result);
|
|
156
|
+
throw new Error('CloudBase auth: server did not return a user profile');
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const signInResult: any = await cbApp.auth.signInWithCustomTicket(() =>
|
|
160
|
+
Promise.resolve(ticket)
|
|
161
|
+
);
|
|
162
|
+
if (signInResult?.error) {
|
|
163
|
+
console.log('CloudBase 登录失败', signInResult.error);
|
|
164
|
+
throw signInResult.error;
|
|
165
|
+
}
|
|
153
166
|
console.log('CloudBase 登录成功');
|
|
154
167
|
|
|
155
168
|
cachedProfile = user;
|
|
@@ -181,8 +194,8 @@ export const CloudBaseAuth = {
|
|
|
181
194
|
}
|
|
182
195
|
|
|
183
196
|
try {
|
|
184
|
-
await db.collection('
|
|
185
|
-
const { data } = await db.collection('
|
|
197
|
+
await db.collection('user-profile').doc(uid).update(updateData);
|
|
198
|
+
const { data } = await db.collection('user-profile').doc(uid).get();
|
|
186
199
|
cachedProfile = Array.isArray(data) ? data[0] : data;
|
|
187
200
|
return profileToLocalUser(cachedProfile);
|
|
188
201
|
} catch (error) {
|