doomiwork 2.9.0 → 2.9.4

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.
@@ -1,4 +1,4 @@
1
- var mysql = require('mysql');
1
+ const mysql = require('mysql');
2
2
  const appsetting = require('../../configuration/appsetting').getCurrentApp();
3
3
  class PoolManager{
4
4
  /**
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "doomiwork",
3
- "version": "2.9.0",
3
+ "version": "2.9.4",
4
4
  "description": "doomisoft nodejs web framework",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1"
8
8
  },
9
9
  "keywords": [
10
+ "doomisoft",
10
11
  "nodejs",
11
12
  "framework"
12
13
  ],
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * 解析上下文中对应dataconfig文件中的一些变量解析
4
4
  */
5
- var uuid = require('node-uuid');
6
- var moment = require('moment')
5
+ const uuid = require('node-uuid');
6
+ const moment = require('moment')
7
7
  class KeywordParse
8
8
  {
9
9
  /*
@@ -12,8 +12,8 @@ class KeywordParse
12
12
  */
13
13
  static parseKeyValue(req,str) {
14
14
  if (!str) return str;
15
- var strItems = str.split('.');
16
- if (strItems.length==1)
15
+ const strItems = str.split('.');
16
+ if (strItems.length===1)
17
17
  {
18
18
  switch(str.toLowerCase()){
19
19
  case "userid()":
@@ -33,7 +33,7 @@ class KeywordParse
33
33
  }
34
34
  else
35
35
  {
36
- var collection;
36
+ let collection;
37
37
  if (strItems[0]=="" || strItems[1]=="") return str;
38
38
  switch(strItems[0].toLowerCase())
39
39
  {
@@ -1,6 +1,7 @@
1
- var utility = require('doomi-helper').commonHelper
2
- var keyParse = require('./keywordparse');
1
+ const utility = require('doomi-helper').commonHelper
2
+ const keyParse = require('./keywordparse');
3
3
  const dataconfig = require('../configuration/dataconfig').getCurrent();
4
+ const mysql = require('mysql');
4
5
  class RequestParser {
5
6
  /*
6
7
  * 根据对应列表的配置(dataConfig.list.search),从请求上下文中获取用户进行搜索的参数信息
@@ -9,7 +10,7 @@ class RequestParser {
9
10
  let paraCopy = option || {};
10
11
  if (!paraCopy.request || !paraCopy.refer) return '';
11
12
  if (!paraCopy.valueFrom) paraCopy.valueFrom = "all";
12
- var request = paraCopy.request;
13
+ const request = paraCopy.request;
13
14
  let retSearch = "";
14
15
  paraCopy.refer.forEach(element=> {
15
16
  retSearch = retSearch+this.parseAndReplaceSql(request, element.pattern,false);
@@ -22,14 +23,20 @@ class RequestParser {
22
23
  static parseAndReplaceSql(req,sql,allowNull=true){
23
24
  if (!sql) return '';
24
25
  ///定义正则准备查找sql中的特定关键字
25
- var matched=sql.match(/@.*?@/g);
26
+ const matched=sql.match(/@.*?@/g);
26
27
  if (!matched || matched.length<=0) return sql;
27
28
  var parseKeyWordIsNull = false;
28
29
  matched.forEach(ele=>{
29
- var matchValue = ele.substring(1,ele.length-1);
30
+ let matchValue = ele.substring(1,ele.length-1);
30
31
  if (matchValue.indexOf(' ')>=0 || matchValue.indexOf(':')>=0 || matchValue.indexOf('=')>=0) return;
31
- var keyValue =utility.ifNull(keyParse.parseKeyValue(req,ele.substring(1,ele.length-1)),'');
32
- if(keyValue=='') parseKeyWordIsNull = true;
32
+ let keyValue =utility.ifNull(keyParse.parseKeyValue(req,ele.substring(1,ele.length-1)),'');
33
+ if(keyValue=='') {
34
+ parseKeyWordIsNull = true;
35
+ }else if (typeof(keyValue)==='string'){
36
+ keyValue = mysql.escape(keyValue)
37
+ keyValue = keyValue.substr(1, keyValue.length - 2)
38
+ }
39
+
33
40
  sql=sql.replace(ele,keyValue);
34
41
  });
35
42
  if (!allowNull && parseKeyWordIsNull) return '';
@@ -48,9 +55,9 @@ class RequestParser {
48
55
  * 如Page ,PageSize , Sort 等等
49
56
  */
50
57
  static getListInfo(req,cfgType=0,dao) {
51
- let dataKey = utility.ifNull(req.dataKey, req.query.datakey);
58
+ const dataKey = utility.ifNull(req.dataKey, req.query.datakey);
52
59
  ///确认是否是需要导出Excel
53
- let export2Excel =(req.query.exportexcel+"").toLowerCase()==="true";
60
+ const export2Excel =(req.query.exportexcel+"").toLowerCase()==="true";
54
61
  req.page = req.query.page || req.body.page|| 1;
55
62
  req.pageSize = req.query.rows || req.body.rows || 2000;
56
63
  req.sort = req.query.sort || req.body.sort;
@@ -101,28 +108,6 @@ class RequestParser {
101
108
  this.parseAndReplaceSql(req,countsql),
102
109
  req.searchCondition)+';'
103
110
  }
104
- // switch (req.sqltype) {
105
- // case 'sql':
106
- // ///客户端调用时是否传递一些 特殊的过滤方式
107
- // req.listSql =this.parseAndReplaceSql(req,req.dataConfig.list.sql) +
108
- // ' ' + req.searchCondition + clientFilter +
109
- // (utility.isNullOrEmpty(req.sort) ? '' : (' order by ' + (req.sort+' '+req.order))) +
110
- // (export2Excel?'':' limit ' + req.pageSize + ' OFFSET ' + (req.page - 1) * req.pageSize) +
111
- // /////在Sql中再放入获取总记录数的语句
112
- // ';SELECT FOUND_ROWS() AS total;';
113
- // if (req.dataConfig.list.countsql){
114
- // req.countSql = this.appendSearchCondition2Count(
115
- // this.parseAndReplaceSql(req,req.dataConfig.list.countsql),
116
- // req.searchCondition
117
- // )
118
- // req.listSql+=req.countSql +';';
119
- // }
120
- // break;
121
- // ////来自DAO对象的属性
122
- // ////一般较复杂的SQL写在DAO对象的constantSql属性中
123
- // case 'property':
124
- // break;
125
- // }
126
111
  }
127
112
  }
128
113
  }
@@ -2,17 +2,16 @@
2
2
  * 后台路由授权访问的Token验证
3
3
  */
4
4
  const cache = require('doomi-helper').redisHelper.getInstance();
5
- const logger = require('doomi-helper').logHelper.getInstance().getLogger('framework');
6
5
  class TokenUtility {
7
6
  static setToken(token, tokenObject, expire) {
8
7
  if (typeof tokenObject != "string") tokenObject = JSON.stringify(tokenObject);
9
- logger.trace('TokenUtility: set token ',tokenObject)
8
+ // logger.trace('TokenUtility: set token ',tokenObject)
10
9
  return cache.set(token, tokenObject, expire);
11
10
  }
12
11
  ///从缓存中获取用户
13
12
  static getToken(token,isObject=true) {
14
13
  return cache.get(token).then(result => {
15
- logger.trace('TokenUtility getToken : ',result)
14
+ // logger.trace('TokenUtility getToken : ',result)
16
15
  if (!result) return result;
17
16
  var value = isObject?JSON.parse(result):result;
18
17
  return value;
@@ -1,5 +1,5 @@
1
1
  const { commonHelper, stringHelper } = require('doomi-helper');
2
- var keyParse = require('./keywordparse');
2
+ const keyParse = require('./keywordparse');
3
3
  ///值类型转换
4
4
  class ViewHelper {
5
5
  /*
@@ -38,8 +38,8 @@ class ViewHelper {
38
38
  * 从请求上下文中获取数值,用于新增或修改
39
39
  */
40
40
  static transferMapping2Name(req, fieldConfig, doWhat) {
41
- var model = {};
42
- var tmpModel = {};
41
+ let model = {};
42
+ let tmpModel = {};
43
43
  // var ingoreKey = req.query.ingoreNullKey != null && req.query.ingoreNullKey == 'true';
44
44
  if (fieldConfig && Array.isArray(fieldConfig)) {
45
45
  for (const element of fieldConfig){