@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?.name || '',
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 raw = _SyncPrefData.SyncPrefData.getString(CACHED_PROFILE_KEY);
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 localUser = toLocalUser(profile, await getApp().auth.getCurrentUser());
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
- profile
129
- } = await requestAuth({
130
- action: 'updateUser',
131
- uid,
132
- keys,
133
- values
134
- });
135
- setCachedProfile(profile);
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","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":[]}
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?.name || '',
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 raw = SyncPrefData.getString(CACHED_PROFILE_KEY);
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 localUser = toLocalUser(profile, await getApp().auth.getCurrentUser());
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
- profile
124
- } = await requestAuth({
125
- action: 'updateUser',
126
- uid,
127
- keys,
128
- values
129
- });
130
- setCachedProfile(profile);
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","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":";;AAAA,OAAOA,OAAO,MAAM,uBAAuB;AAC3C,OAAOC,SAAS,MAAM,mBAAmB;AACzC,SAEEC,SAAS,QAGJ,YAAY;AACnB,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,QAAQ,QAAQ;AAEtCH,SAAS,CAACI,WAAW,CAACL,OAAO,CAAC;AAE9B,IAAIM,GAA6B,GAAG,IAAI;AACxC,IAAIC,OAAO,GAAG,EAAE;AAChB,MAAMC,kBAAkB,GAAG,gCAAgC;AAC3D,MAAMC,cAAsC,GAAG;EAC7CC,MAAM,EAAER,SAAS,CAACS,eAAe;EACjCC,OAAO,EAAEV,SAAS,CAACW,gBAAgB;EACnCC,MAAM,EAAEZ,SAAS,CAACa,eAAe;EACjCC,KAAK,EAAEd,SAAS,CAACe;AACnB,CAAC;AAwBD,MAAMC,WAAW,GAAGA,CAClBC,OAAyB,EACzBC,SAAoC,KACvB;EACb,OAAO;IACLC,EAAE,EAAEF,OAAO,CAACG,GAAG;IACfC,QAAQ,EAAEH,SAAS,EAAEI,IAAI,IAAI,EAAE;IAC/BC,KAAK,EAAEL,SAAS,EAAEK,KAAK,IAAI,EAAE;IAC7BC,UAAU,EAAEN,SAAS,EAAEO,OAAO,IAAI,EAAE;IACpCC,IAAI,EAAEnB,cAAc,CAACU,OAAO,CAACU,SAAS,CAAC;IACvCC,OAAO,EAAEX,OAAO,CAACW,OAAO;IACxBC,UAAU,EAAEZ,OAAO,CAACY,UAAU,GAAG,IAAIC,IAAI,CAACb,OAAO,CAACY,UAAU,CAAC,GAAGE,SAAS;IACzEC,SAAS,EAAEf,OAAO,CAACe,SAAS,GAAG,IAAIF,IAAI,CAACb,OAAO,CAACe,SAAS,CAAC,GAAGD,SAAS;IACtEE,IAAI,EAAEhB,OAAO,CAACgB,IAAI;IAClBC,MAAM,EAAEjB,OAAO,CAACiB;EAClB,CAAC;AACH,CAAC;AAED,MAAMC,MAAM,GAAGA,CAAA,KAAM;EACnB,IAAI/B,GAAG,EAAE,OAAOA,GAAG;EAEnB,MAAM;IACJgC,YAAY;IACZC,kBAAkB;IAClBC,eAAe;IACfC;EACF,CAAC,GAAGrC,aAAa;EACjB,IAAI,CAACkC,YAAY,IAAI,CAACC,kBAAkB,IAAI,CAACE,gBAAgB,EAAE;IAC7D,MAAM,IAAIC,KAAK,CACb,sGACF,CAAC;EACH;EAEApC,GAAG,GAAGL,SAAS,CAAC0C,IAAI,CAAC;IACnBC,GAAG,EAAEN,YAAY;IACjBO,MAAM,EAAEL,eAAe,IAAI,aAAa;IACxCM,SAAS,EAAEP,kBAAkB;IAC7BQ,YAAY,EAAE;EAChB,CAAC,CAAC;EACFxC,OAAO,GAAGkC,gBAAgB;EAC1B,OAAOnC,GAAG;AACZ,CAAC;AAED,MAAM0C,gBAAgB,GAAI7B,OAA0B,IAAK;EACvD,IAAI,CAACA,OAAO,EAAE;IACZhB,YAAY,CAAC8C,MAAM,CAACzC,kBAAkB,CAAC;EACzC,CAAC,MAAM;IACLL,YAAY,CAAC+C,GAAG,CAAC1C,kBAAkB,EAAE2C,IAAI,CAACC,SAAS,CAACjC,OAAO,CAAC,CAAC;EAC/D;AACF,CAAC;AAED,MAAMkC,MAAM,GAAGA,CAAA,KAAM;EACnB,OAAOhB,MAAM,CAAC,CAAC,CAACiB,IAAI,CAACC,aAAa,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG;AAChD,CAAC;AAED,MAAMC,WAAW,GAAG,MAAOC,IAA6B,IAAK;EAC3DtB,MAAM,CAAC,CAAC;EACR,MAAMuB,QAAQ,GAAG,MAAMC,KAAK,CAACtD,OAAO,EAAE;IACpCuD,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;MAAE,cAAc,EAAE;IAAmB,CAAC;IAC/CJ,IAAI,EAAER,IAAI,CAACC,SAAS,CAACO,IAAI;EAC3B,CAAC,CAAC;EAEF,IAAI,CAACC,QAAQ,CAACI,EAAE,EAAE;IAChB,MAAM,IAAItB,KAAK,CAAC,0BAA0BkB,QAAQ,CAACK,MAAM,EAAE,CAAC;EAC9D;EAEA,OAAOL,QAAQ,CAACM,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,YAAY,EAAE,MAAAA,CAAA,KAAsC;IAClD,MAAMX,GAAG,GAAGJ,MAAM,CAAC,CAAC;IACpB,IAAI,CAACI,GAAG,EAAE;MACRT,gBAAgB,CAAC,CAAC;MAClB,OAAO,IAAI;IACb;IAEA,MAAMqB,GAAG,GAAGlE,YAAY,CAACmE,SAAS,CAAC9D,kBAAkB,CAAC;IACtD,MAAMW,OAAO,GAAGkD,GAAG,GAAIlB,IAAI,CAACoB,KAAK,CAACF,GAAG,CAAC,GAAwB,IAAI;IAClE,IAAIlD,OAAO,EAAEG,GAAG,KAAKmC,GAAG,EAAE;MACxB,OAAOvC,WAAW,CAACC,OAAO,EAAE,MAAMkB,MAAM,CAAC,CAAC,CAACiB,IAAI,CAACkB,cAAc,CAAC,CAAC,CAAC;IACnE;IAEA,MAAML,aAAa,CAACM,MAAM,CAAC,CAAC;IAC5B,OAAO,IAAI;EACb,CAAC;EAEDC,KAAK,EAAE,MAAAA,CACLC,QAA2B,EAC3BC,QAA4B,KACN;IACtB,MAAM;MAAEC,MAAM;MAAE1D,OAAO;MAAE2D;IAAM,CAAC,GAAG,MAAMpB,WAAW,CAAC;MACnDqB,MAAM,EAAE,OAAO;MACfJ,QAAQ,EAAE;QACRK,MAAM,EAAEL,QAAQ,CAACK,MAAM;QACvBC,OAAO,EAAEN,QAAQ,CAACM,OAAO;QACzBpD,SAAS,EAAE8C,QAAQ,CAAC9C;MACtB,CAAC;MACD+C,QAAQ,EAAEA,QAAQ,GACd;QACErD,QAAQ,EAAEqD,QAAQ,CAACrD,QAAQ;QAC3BG,UAAU,EAAEkD,QAAQ,CAAClD,UAAU;QAC/BD,KAAK,EAAEmD,QAAQ,CAACnD;MAClB,CAAC,GACDQ;IACN,CAAC,CAAC;IAEF,MAAMI,MAAM,CAAC,CAAC,CAACiB,IAAI,CAAC4B,sBAAsB,CAAC,MAAMC,OAAO,CAACC,OAAO,CAACP,MAAM,CAAC,CAAC;IACzE7B,gBAAgB,CAAC7B,OAAO,CAAC;IACzB,MAAMkE,SAAS,GAAGnE,WAAW,CAC3BC,OAAO,EACP,MAAMkB,MAAM,CAAC,CAAC,CAACiB,IAAI,CAACkB,cAAc,CAAC,CACrC,CAAC;IACDa,SAAS,CAACP,KAAK,GAAGA,KAAK;IACvB,OAAOO,SAAS;EAClB,CAAC;EAEDZ,MAAM,EAAE,MAAAA,CAAA,KAAY;IAClB,MAAMpC,MAAM,CAAC,CAAC,CAACiB,IAAI,CAACgC,OAAO,CAAC,CAAC;IAC7BtC,gBAAgB,CAAC,CAAC;EACpB,CAAC;EAEDuC,UAAU,EAAE,MAAAA,CAAOC,IAAc,EAAEC,MAAa,KAAwB;IACtE,MAAMhC,GAAG,GAAGJ,MAAM,CAAC,CAAC;IACpB,IAAI,CAACI,GAAG,EAAE,MAAM,IAAIf,KAAK,CAAC,oBAAoB,CAAC;IAE/C,MAAM;MAAEvB;IAAQ,CAAC,GAAG,MAAMuC,WAAW,CAAC;MACpCqB,MAAM,EAAE,YAAY;MACpBtB,GAAG;MACH+B,IAAI;MACJC;IACF,CAAC,CAAC;IACFzC,gBAAgB,CAAC7B,OAAO,CAAC;IACzB,OAAOD,WAAW,CAACC,OAAO,EAAE,MAAMkB,MAAM,CAAC,CAAC,CAACiB,IAAI,CAACkB,cAAc,CAAC,CAAC,CAAC;EACnE,CAAC;EAEDkB,WAAW,EAAE,MAAAA,CAAA,KAAY;IACvB,MAAMjC,GAAG,GAAGJ,MAAM,CAAC,CAAC;IACpB,IAAI,CAACI,GAAG,EAAE,MAAM,IAAIf,KAAK,CAAC,oBAAoB,CAAC;IAE/C,MAAML,MAAM,CAAC,CAAC,CAACsD,YAAY,CAAC;MAC1BnE,IAAI,EAAE,MAAM;MACZoE,IAAI,EAAE;QAAEb,MAAM,EAAE;MAAc;IAChC,CAAC,CAAC;IACF,MAAMZ,aAAa,CAACM,MAAM,CAAC,CAAC;EAC9B;AACF,CAAC","ignoreList":[]}
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;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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norcy/react-native-toolkit",
3
- "version": "0.3.38",
3
+ "version": "0.3.40",
4
4
  "private": false,
5
5
  "description": "My Toolkit",
6
6
  "main": "lib/commonjs/index",
@@ -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?.name || '',
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 raw = SyncPrefData.getString(CACHED_PROFILE_KEY);
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 localUser = toLocalUser(
157
- profile,
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 { profile } = await requestAuth({
174
- action: 'updateUser',
175
- uid,
176
- keys,
177
- values,
178
- });
179
- setCachedProfile(profile);
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