@waline/vercel 1.17.1 → 1.17.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waline/vercel",
3
- "version": "1.17.1",
3
+ "version": "1.17.2",
4
4
  "description": "vercel server for waline comment system",
5
5
  "keywords": [
6
6
  "waline",
@@ -47,13 +47,18 @@ module.exports = class extends BaseRest {
47
47
  }
48
48
  }
49
49
 
50
- let avatar = user[0].avatar;
51
- if (/(github)/i.test(avatar)) {
52
- avatar =
53
- this.config('avatarProxy') + '?url=' + encodeURIComponent(avatar);
50
+ let avatarUrl = user[0].avatar
51
+ ? user[0].avatar
52
+ : await think.service('avatar').stringify({
53
+ mail: user[0].email,
54
+ nick: user[0].display_name,
55
+ link: user[0].url,
56
+ });
57
+ const { avatarProxy } = think.config();
58
+ if (avatarProxy) {
59
+ avatarUrl = avatarProxy + '?url=' + encodeURIComponent(avatarUrl);
54
60
  }
55
- user[0].avatar = avatar;
56
-
61
+ user[0].avatar = avatarUrl;
57
62
  return this.success({
58
63
  ...user[0],
59
64
  password: null,
@@ -59,7 +59,11 @@ module.exports = {
59
59
 
60
60
  try {
61
61
  const search = helper.promisify(regionSearch.btreeSearch, regionSearch);
62
- const { region } = await search(ip);
62
+ const result = await search(ip);
63
+ if (!result) {
64
+ return '';
65
+ }
66
+ const { region } = result;
63
67
  const [, , province, city, isp] = region.split('|');
64
68
  const address = Array.from(new Set([province, city, isp]));
65
69
  return address.slice(0, depth).join(' ');
@@ -204,7 +204,14 @@ module.exports = class extends Base {
204
204
 
205
205
  const currentTableName = this.tableName;
206
206
  this.tableName = cacheTableName;
207
- await this.update({ count }, { objectId: cacheData[0].objectId });
207
+ await this.update({ count }, { objectId: cacheData[0].objectId }).catch(
208
+ (e) => {
209
+ if (e.code === 101) {
210
+ return;
211
+ }
212
+ throw e;
213
+ }
214
+ );
208
215
  this.tableName = currentTableName;
209
216
  }
210
217
 
@@ -227,7 +234,7 @@ module.exports = class extends Base {
227
234
  const cacheDataMap = {};
228
235
  for (let i = 0; i < cacheData.length; i++) {
229
236
  const key = options.group
230
- .map((item) => cacheData[i][item] || null)
237
+ .map((item) => cacheData[i][item] || undefined)
231
238
  .join('_');
232
239
  cacheDataMap[key] = cacheData[i];
233
240
  }
@@ -242,7 +249,7 @@ module.exports = class extends Base {
242
249
 
243
250
  const groupFlatValue = {};
244
251
  options.group.slice(0, i).forEach((group) => {
245
- groupFlatValue[group] = null;
252
+ groupFlatValue[group] = undefined;
246
253
  });
247
254
 
248
255
  for (let j = 0; j < where._complex[groupName][1].length; j++) {
@@ -252,7 +259,7 @@ module.exports = class extends Base {
252
259
  ({
253
260
  ...groupFlatValue,
254
261
  [groupName]: where._complex[groupName][1][j],
255
- }[item] || null)
262
+ }[item] || undefined)
256
263
  )
257
264
  .join('_');
258
265
  if (cacheDataMap[cacheKey]) {