abler-api 1.0.27 → 1.0.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.
Files changed (2) hide show
  1. package/dist/cjs/pp-util.js +37 -33
  2. package/package.json +6 -6
@@ -230,7 +230,7 @@ async function checkRedis() {
230
230
  }
231
231
  async function initDb() {
232
232
  try {
233
- dbUtil$1.config(conf$3, err$1);
233
+ await dbUtil$1.config(conf$3, err$1);
234
234
  } catch (e) {
235
235
  if (e.reason === 'bad decrypt') {
236
236
  e = new Error(t_f$3("解密数据库密码(%s)失败", conf$3.dbconn.dbpwd));
@@ -350,22 +350,22 @@ class apiUtil$2 {
350
350
  * @returns {*}
351
351
  */
352
352
  static extractParams(req) {
353
- if (!req._requestParams) {
353
+ let params = req._requestParams;
354
+ if (!params) {
354
355
  const contentType = req.headers["content-type"] || "application/json";
355
356
  if (contentType.startsWith("multipart/form-data")) {
356
- req._requestParams = new Object();
357
- for (let k in req.body) {
358
- req._requestParams[k] = req.body[k];
359
- }
357
+ params = {
358
+ ...req.body
359
+ };
360
360
  } else {
361
361
  if (req.method === "POST" || req.method === "PUT") {
362
- req._requestParams = req.body;
362
+ params = req.body;
363
363
  } else {
364
- req._requestParams = req.query;
364
+ params = req.query;
365
365
  }
366
366
  }
367
367
  if (req.headers["content-type"] !== "application/json") {
368
- const obj = req._requestParams;
368
+ const obj = params;
369
369
  for (let key in obj) {
370
370
  if (!obj.hasOwnProperty(key)) continue;
371
371
  let value = obj[key];
@@ -383,12 +383,23 @@ class apiUtil$2 {
383
383
  }
384
384
  }
385
385
  }
386
- if (req.params) {
387
- req._requestParams = Object.assign(req.params, req._requestParams);
386
+ if (params) {
387
+ if (req.params) {
388
+ params = {
389
+ ...params,
390
+ ...req.params
391
+ };
392
+ }
393
+ apiUtil$2.setParamsFunctions(params);
394
+ }
395
+ if (req.complete) {
396
+ req._requestParams = params;
397
+ } else {
398
+ // console.trace("提取请求参数时数据尚在传输中");
399
+ console.warn("提取请求参数时数据尚在传输中");
388
400
  }
389
- apiUtil$2.setParamsFunctions(req._requestParams);
390
401
  }
391
- return req._requestParams;
402
+ return params;
392
403
  }
393
404
  static extractTokenData(req) {
394
405
  if (req.tokenData) {
@@ -572,7 +583,7 @@ class apiUtil$2 {
572
583
 
573
584
  /**
574
585
  * 从请求参数中获取查询参数
575
- * @param req
586
+ * @param req
576
587
  * @param res
577
588
  * @returns {*}
578
589
  */
@@ -674,25 +685,17 @@ class apiUtil$2 {
674
685
  token = token.substring(7);
675
686
  } else {
676
687
  //检查post的信息或者url查询参数或者头信息
677
- token = req.headers[hnToken] || req.headers['x-access-token']; //向后兼容
688
+ token = req.headers['x-access-token'] || req.headers['access-token'] || req.headers[hnToken];
678
689
  }
679
690
  if (!token) {
680
- let params = apiUtil$2.extractParams(req);
681
- token = params[pnToken];
682
- if (token) {
683
- delete params[pnToken];
684
- } else if (params.token) {
685
- token = params.token; //向后兼容
686
- delete params.token;
687
- } else {
688
- if (!noErr) {
689
- // 如果没有token,则返回错误
690
- console.log(errCfg.TOKEN_NEEDED);
691
- if (res) {
692
- res.send(errCfg.ERROR(errCfg.TOKEN_NEEDED));
693
- } else {
694
- throw errCfg.TOKEN_NEEDED;
695
- }
691
+ // 不再从请求参数提取 token,避免过早访问 extractParams
692
+ if (!noErr) {
693
+ // 如果没有token,则返回错误
694
+ console.log(errCfg.TOKEN_NEEDED);
695
+ if (res) {
696
+ res.send(errCfg.ERROR(errCfg.TOKEN_NEEDED));
697
+ } else {
698
+ throw errCfg.TOKEN_NEEDED;
696
699
  }
697
700
  }
698
701
  }
@@ -745,7 +748,7 @@ class apiUtil$2 {
745
748
  const tokenKey = apiUtil$2.userTokenStoreKey(req.accessToken);
746
749
  const expireTime = apiUtil$2.tokenExpireTime(req);
747
750
  return await apiUtil$2.restoreTokenData(tokenKey, expireTime).then(async function (data) {
748
- req.userInfo = apiUtil$2.setUserIdNo(data, data._idNo);
751
+ req.userInfo = apiUtil$2.setUserIdNo(data, data?._idNo || '');
749
752
  if (req.tokenValidater) await req.tokenValidater(req.userInfo, req);
750
753
  return true;
751
754
  }, async function (e) {
@@ -1210,6 +1213,7 @@ class apiUtil$2 {
1210
1213
  static async parametersOK(params) {
1211
1214
  return apiUtil$2.checkParametersOK(...arguments);
1212
1215
  }
1216
+
1213
1217
  /**
1214
1218
  * 获取客户端IP地址
1215
1219
  * @param req
@@ -1647,7 +1651,7 @@ class apiUtil$2 {
1647
1651
  try {
1648
1652
  if (extractToken(req, res)) {
1649
1653
  await apiUtil$2.restoreTokenData(apiUtil$2.userTokenStoreKey(req.accessToken), apiUtil$2.tokenExpireTime(req)).then(function (data) {
1650
- req.userInfo = apiUtil$2.setUserIdNo(data, data._idNo);
1654
+ req.userInfo = apiUtil$2.setUserIdNo(data, data?._idNo || '');
1651
1655
  }, function (e) {
1652
1656
 
1653
1657
  //no token
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abler-api",
3
- "version": "1.0.27",
3
+ "version": "1.0.29",
4
4
  "description": "API服务相关工具",
5
5
  "main": "./dist/cjs/pp-util.js",
6
6
  "-module": "./dist/es/pp-util.js",
@@ -15,11 +15,11 @@
15
15
  "author": "peng_peng",
16
16
  "license": "ISC",
17
17
  "dependencies": {
18
- "abler-db": "^1.0.34",
18
+ "abler-db": "^1.0.36",
19
19
  "abler-i18n": "^1.0.2",
20
- "abler-messenger": "^1.0.25",
21
- "abler-net": "^1.0.7",
22
- "abler-util": "^1.0.7",
20
+ "abler-messenger": "^1.0.26",
21
+ "abler-net": "^1.0.8",
22
+ "abler-util": "^1.0.8",
23
23
  "basic-auth": "^2.0.1",
24
24
  "node-cron": "^3.0.1",
25
25
  "proxy-agent": "6.5.0",
@@ -43,5 +43,5 @@
43
43
  "rollup-plugin-json": "^4.0.0",
44
44
  "rollup-plugin-terser": "^7.0.2"
45
45
  },
46
- "gitHead": "96aec2da186aeacf74d2b9c1bfd3479cd03fda3b"
46
+ "gitHead": "a17eac0a3c30f5af285a13ad319103a5dfc67e0b"
47
47
  }