ming_node 2.3.0 → 2.4.0
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/beforeTest/BaseMapperTest1.js +24 -0
- package/beforeTest/CollectUtilsTest.js +10 -0
- package/index.js +128 -125
- package/module/BaseMapper.js +38 -1
- package/package.json +1 -1
- package/utils/common/CollectionUtils.js +111 -0
- package/utils/common/DateUtils.js +36 -0
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            var M=require("../index");
         | 
| 2 | 
            +
            Db= M.getMySql({
         | 
| 3 | 
            +
                database: "lj_node"
         | 
| 4 | 
            +
            })
         | 
| 5 | 
            +
            const BaseMapper=require("../module/BaseMapper");
         | 
| 6 | 
            +
            //mi_api 是表名
         | 
| 7 | 
            +
            file_chat_msgMapper = new BaseMapper("file_chat_msg");
         | 
| 8 | 
            +
            async function main(){
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                r=await file_chat_msgMapper.selectList({});
         | 
| 11 | 
            +
                await BaseMapper.appendListName({
         | 
| 12 | 
            +
                    tableName:"vip_basic",
         | 
| 13 | 
            +
                    list:r,
         | 
| 14 | 
            +
                    list_idkey:"create_user",
         | 
| 15 | 
            +
                    list_namekey:"create_user_name",
         | 
| 16 | 
            +
                    db_idkey:"unionid",
         | 
| 17 | 
            +
                    db_namekey:"name"
         | 
| 18 | 
            +
                })
         | 
| 19 | 
            +
                console.log(r);
         | 
| 20 | 
            +
            }
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            main().then(d=>{
         | 
| 23 | 
            +
                process.exit()
         | 
| 24 | 
            +
            })
         | 
| @@ -0,0 +1,10 @@ | |
| 1 | 
            +
            var M=require("../index");
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            CollectionUtils= require("../utils/common/CollectionUtils")
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            r1= CollectionUtils.u([[{name:"zs"}],[{name:"zws"}]],"name")
         | 
| 6 | 
            +
            r2= CollectionUtils.n([[{name:"zs"}],[{name:"zs"}]],"name")
         | 
| 7 | 
            +
            console.log(r1)
         | 
| 8 | 
            +
            console.log(r2)
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            console.log(MIO)
         | 
    
        package/index.js
    CHANGED
    
    | @@ -1,9 +1,9 @@ | |
| 1 1 | 
             
            /**
         | 
| 2 | 
            -
             * File :  | 
| 2 | 
            +
             * File : index.js
         | 
| 3 3 | 
             
             * By : Minglie
         | 
| 4 4 | 
             
             * QQ: 934031452
         | 
| 5 5 | 
             
             * Date :2021.12.01
         | 
| 6 | 
            -
             * version :2. | 
| 6 | 
            +
             * version :2.4.0
         | 
| 7 7 | 
             
             */
         | 
| 8 8 | 
             
             var http = require('http');
         | 
| 9 9 | 
             
             var https = require('https');
         | 
| @@ -46,14 +46,14 @@ | |
| 46 46 | 
             
             M._globle_plugin_url_cacheMap={};
         | 
| 47 47 | 
             
             //全局插件
         | 
| 48 48 | 
             
             M._globle_plugin=new Set();
         | 
| 49 | 
            -
             M._node_lib_path=process. | 
| 49 | 
            +
             M._node_lib_path=process.cwd()+"/.ming_node_cacke";
         | 
| 50 50 | 
             
             //远程静态资源路径
         | 
| 51 51 | 
             
             M.remoteStaticPath = "https://minglie.gitee.io/mingpage/static";
         | 
| 52 52 | 
             
             M.remoteStaticPathEnable = true;
         | 
| 53 53 | 
             
             //代理服务器配置
         | 
| 54 54 | 
             
             M.proxyHost = "http://127.0.0.1:8888"
         | 
| 55 55 | 
             
             M.proxyHost = "";
         | 
| 56 | 
            -
             | 
| 56 | 
            +
             M.IO={}
         | 
| 57 57 | 
             
             M.setModule=function (key,module){
         | 
| 58 58 | 
             
                M._moduleMap.set(key,module);
         | 
| 59 59 | 
             
             }
         | 
| @@ -88,7 +88,7 @@ M.getGloblePlugin=(pluginKey)=>{ | |
| 88 88 | 
             
                 }
         | 
| 89 89 | 
             
                 return Object.assign(obj, c1);
         | 
| 90 90 | 
             
             }
         | 
| 91 | 
            -
             | 
| 91 | 
            +
             | 
| 92 92 | 
             
             //将对象追加到url上
         | 
| 93 93 | 
             
             privateObj.appendDataToUrl = function (url, data) {
         | 
| 94 94 | 
             
                 let getData = "";
         | 
| @@ -104,10 +104,10 @@ M.getGloblePlugin=(pluginKey)=>{ | |
| 104 104 | 
             
                 let r = url + getData;
         | 
| 105 105 | 
             
                 return r;
         | 
| 106 106 | 
             
             }
         | 
| 107 | 
            -
             | 
| 107 | 
            +
             | 
| 108 108 | 
             
            M.get = function (url, callback, data, headers) {
         | 
| 109 109 | 
             
                 if (typeof callback == "function") {
         | 
| 110 | 
            -
             | 
| 110 | 
            +
             | 
| 111 111 | 
             
                 } else {
         | 
| 112 112 | 
             
                     headers = data || {};
         | 
| 113 113 | 
             
                     data = callback;
         | 
| @@ -153,7 +153,7 @@ M.get = function (url, callback, data, headers) { | |
| 153 153 | 
             
                 if (url.startsWith("https")) {
         | 
| 154 154 | 
             
                     reqHttp = https;
         | 
| 155 155 | 
             
                 }
         | 
| 156 | 
            -
             | 
| 156 | 
            +
             | 
| 157 157 | 
             
                 return new Promise((resolve, reject) => {
         | 
| 158 158 | 
             
                     options = M.httpBefore(options);
         | 
| 159 159 | 
             
                     if (options == false) {
         | 
| @@ -186,21 +186,21 @@ M.get = function (url, callback, data, headers) { | |
| 186 186 | 
             
                     req.on('error', function (err) {
         | 
| 187 187 | 
             
                         reject(err);
         | 
| 188 188 | 
             
                         console.error(err);
         | 
| 189 | 
            -
             | 
| 189 | 
            +
             | 
| 190 190 | 
             
                     });
         | 
| 191 191 | 
             
                     req.end();
         | 
| 192 192 | 
             
                 })
         | 
| 193 193 | 
             
             }
         | 
| 194 194 | 
             
            M._request = function (url, callback, data, headers,methed) {
         | 
| 195 195 | 
             
                 if (typeof callback == "function") {
         | 
| 196 | 
            -
             | 
| 196 | 
            +
             | 
| 197 197 | 
             
                 } else {
         | 
| 198 198 | 
             
                     headers = data || {};
         | 
| 199 199 | 
             
                     data = callback;
         | 
| 200 200 | 
             
                     callback = () => {
         | 
| 201 201 | 
             
                     };
         | 
| 202 202 | 
             
                 }
         | 
| 203 | 
            -
             | 
| 203 | 
            +
             | 
| 204 204 | 
             
                 url = privateObj.appendDataToUrl(url, M.reqComQueryparams);
         | 
| 205 205 | 
             
                 var html = '';
         | 
| 206 206 | 
             
                 var urlObj = url_module.parse(url)
         | 
| @@ -238,7 +238,7 @@ M._request = function (url, callback, data, headers,methed) { | |
| 238 238 | 
             
                 if (url.startsWith("https")) {
         | 
| 239 239 | 
             
                     reqHttp = https;
         | 
| 240 240 | 
             
                 }
         | 
| 241 | 
            -
             | 
| 241 | 
            +
             | 
| 242 242 | 
             
                 return new Promise((resolve, reject) => {
         | 
| 243 243 | 
             
                     var req = reqHttp.request(options, function (res) {
         | 
| 244 244 | 
             
                         options = M.httpBefore(options);
         | 
| @@ -268,9 +268,9 @@ M._request = function (url, callback, data, headers,methed) { | |
| 268 268 | 
             
                             M.httpEnd(html);
         | 
| 269 269 | 
             
                             resolve(html);
         | 
| 270 270 | 
             
                         });
         | 
| 271 | 
            -
             | 
| 271 | 
            +
             | 
| 272 272 | 
             
                     });
         | 
| 273 | 
            -
             | 
| 273 | 
            +
             | 
| 274 274 | 
             
                     req.on('error', function (err) {
         | 
| 275 275 | 
             
                         console.error(err);
         | 
| 276 276 | 
             
                     });
         | 
| @@ -283,7 +283,7 @@ M.delete=(url, callback, data, headers)=>M._request(url, callback, data, headers | |
| 283 283 | 
             
            M.put=(url, callback, data, headers)=>M._request(url, callback, data, headers,"PUT")
         | 
| 284 284 | 
             
            M.postJson = function (url, callback, data, headers) {
         | 
| 285 285 | 
             
                 if (typeof callback == "function") {
         | 
| 286 | 
            -
             | 
| 286 | 
            +
             | 
| 287 287 | 
             
                 } else {
         | 
| 288 288 | 
             
                     headers = data || {};
         | 
| 289 289 | 
             
                     data = callback;
         | 
| @@ -321,9 +321,9 @@ M.postJson = function (url, callback, data, headers) { | |
| 321 321 | 
             
                 if (url.startsWith("https")) {
         | 
| 322 322 | 
             
                     reqHttp = https;
         | 
| 323 323 | 
             
                 }
         | 
| 324 | 
            -
             | 
| 324 | 
            +
             | 
| 325 325 | 
             
                 return new Promise((resolve, reject) => {
         | 
| 326 | 
            -
             | 
| 326 | 
            +
             | 
| 327 327 | 
             
                     var req = reqHttp.request(options, function (res) {
         | 
| 328 328 | 
             
                         options = M.httpBefore(options);
         | 
| 329 329 | 
             
                         if (options == false) {
         | 
| @@ -352,9 +352,9 @@ M.postJson = function (url, callback, data, headers) { | |
| 352 352 | 
             
                             M.httpEnd(html);
         | 
| 353 353 | 
             
                             resolve(html);
         | 
| 354 354 | 
             
                         });
         | 
| 355 | 
            -
             | 
| 355 | 
            +
             | 
| 356 356 | 
             
                     });
         | 
| 357 | 
            -
             | 
| 357 | 
            +
             | 
| 358 358 | 
             
                     req.on('error', function (err) {
         | 
| 359 359 | 
             
                         console.error(err);
         | 
| 360 360 | 
             
                     });
         | 
| @@ -411,7 +411,7 @@ M.request.put=M.put; | |
| 411 411 | 
             
                 });
         | 
| 412 412 | 
             
                 return promise;
         | 
| 413 413 | 
             
             }
         | 
| 414 | 
            -
             | 
| 414 | 
            +
             | 
| 415 415 | 
             
             M.import=async function (url,callback){
         | 
| 416 416 | 
             
                 if(M._globle_lib_cacheMap[url]){
         | 
| 417 417 | 
             
                     return M._globle_lib_cacheMap[url];
         | 
| @@ -426,9 +426,9 @@ M.request.put=M.put; | |
| 426 426 | 
             
                     M._globle_lib_cacheMap[url]=r;
         | 
| 427 427 | 
             
                     return r
         | 
| 428 428 | 
             
                 }
         | 
| 429 | 
            -
             | 
| 429 | 
            +
             | 
| 430 430 | 
             
             }
         | 
| 431 | 
            -
             | 
| 431 | 
            +
             | 
| 432 432 | 
             
             /**
         | 
| 433 433 | 
             
              *下载图片
         | 
| 434 434 | 
             
              */
         | 
| @@ -477,23 +477,23 @@ M.request.put=M.put; | |
| 477 477 | 
             
                 });
         | 
| 478 478 | 
             
                 req.end();
         | 
| 479 479 | 
             
             }
         | 
| 480 | 
            -
             | 
| 480 | 
            +
             | 
| 481 481 | 
             
             /**
         | 
| 482 482 | 
             
              *打印结果前钩子
         | 
| 483 483 | 
             
              */
         | 
| 484 484 | 
             
             M.beforeLogData = function (res, desc) {
         | 
| 485 485 | 
             
                 console.log("-----" + desc + "-----" + res.req.path + "-------------");
         | 
| 486 486 | 
             
             }
         | 
| 487 | 
            -
             | 
| 488 | 
            -
             | 
| 487 | 
            +
             | 
| 488 | 
            +
             | 
| 489 489 | 
             
             /**
         | 
| 490 490 | 
             
              *打印结果后钩子
         | 
| 491 491 | 
             
              */
         | 
| 492 492 | 
             
             M.afterLogData = function () {
         | 
| 493 | 
            -
             | 
| 493 | 
            +
             | 
| 494 494 | 
             
                 console.log("--END")
         | 
| 495 495 | 
             
             }
         | 
| 496 | 
            -
             | 
| 496 | 
            +
             | 
| 497 497 | 
             
             /**
         | 
| 498 498 | 
             
              *简化get请求
         | 
| 499 499 | 
             
              */
         | 
| @@ -516,9 +516,9 @@ M.request.put=M.put; | |
| 516 516 | 
             
                         }, data
         | 
| 517 517 | 
             
                     );
         | 
| 518 518 | 
             
                 }
         | 
| 519 | 
            -
             | 
| 519 | 
            +
             | 
| 520 520 | 
             
             }
         | 
| 521 | 
            -
             | 
| 521 | 
            +
             | 
| 522 522 | 
             
             /**
         | 
| 523 523 | 
             
              *简化post请求
         | 
| 524 524 | 
             
              */
         | 
| @@ -530,7 +530,7 @@ M.request.put=M.put; | |
| 530 530 | 
             
                     }, data
         | 
| 531 531 | 
             
                 );
         | 
| 532 532 | 
             
             }
         | 
| 533 | 
            -
             | 
| 533 | 
            +
             | 
| 534 534 | 
             
             M.postJson0 = function (url, data) {
         | 
| 535 535 | 
             
                 M.postJson(
         | 
| 536 536 | 
             
                     M.host + url,
         | 
| @@ -539,28 +539,28 @@ M.request.put=M.put; | |
| 539 539 | 
             
                     }, data
         | 
| 540 540 | 
             
                 );
         | 
| 541 541 | 
             
             }
         | 
| 542 | 
            -
             | 
| 542 | 
            +
             | 
| 543 543 | 
             
             M.template = function (str) {
         | 
| 544 544 | 
             
                 return eval("`" + str + "`");
         | 
| 545 545 | 
             
             }
         | 
| 546 | 
            -
             | 
| 547 | 
            -
             | 
| 546 | 
            +
             | 
| 547 | 
            +
             | 
| 548 548 | 
             
             /**
         | 
| 549 549 | 
             
              * ----------------------客户端END--------------------------------------------
         | 
| 550 550 | 
             
              */
         | 
| 551 | 
            -
             | 
| 552 | 
            -
             | 
| 551 | 
            +
             | 
| 552 | 
            +
             | 
| 553 553 | 
             
             /**
         | 
| 554 554 | 
             
              * ----------------------数据持久化读写START--------------------------------------------
         | 
| 555 555 | 
             
              */
         | 
| 556 | 
            -
             | 
| 556 | 
            +
             | 
| 557 557 | 
             
             /**
         | 
| 558 558 | 
             
              *递归创建文件夹
         | 
| 559 559 | 
             
              */
         | 
| 560 560 | 
             
             M.mkdir = function (dirpath, dirname) {
         | 
| 561 561 | 
             
                 //判断是否是第一次调用
         | 
| 562 562 | 
             
                 if (typeof dirname === "undefined") {
         | 
| 563 | 
            -
             | 
| 563 | 
            +
             | 
| 564 564 | 
             
                     if (dirpath.indexOf(".") > 0) {
         | 
| 565 565 | 
             
                         dirpath = path.dirname(dirpath);
         | 
| 566 566 | 
             
                     }
         | 
| @@ -603,7 +603,7 @@ M.request.put=M.put; | |
| 603 603 | 
             
                     });
         | 
| 604 604 | 
             
                 });
         | 
| 605 605 | 
             
             }
         | 
| 606 | 
            -
             | 
| 606 | 
            +
             | 
| 607 607 | 
             
             privateObj.checkDirectory = function (src, dst, callback) {
         | 
| 608 608 | 
             
                 fs.access(dst, fs.constants.F_OK, (err) => {
         | 
| 609 609 | 
             
                     if (err) {
         | 
| @@ -614,7 +614,7 @@ M.request.put=M.put; | |
| 614 614 | 
             
                     }
         | 
| 615 615 | 
             
                 });
         | 
| 616 616 | 
             
             };
         | 
| 617 | 
            -
             | 
| 617 | 
            +
             | 
| 618 618 | 
             
             M.readFile = function (file) {
         | 
| 619 619 | 
             
                 if (fs.existsSync(file)) {
         | 
| 620 620 | 
             
                     return fs.readFileSync(file, "utf-8");
         | 
| @@ -639,7 +639,7 @@ M.request.put=M.put; | |
| 639 639 | 
             
             M.writeObjToFile = function (file, obj) {
         | 
| 640 640 | 
             
                 M.writeFile(file, JSON.stringify(obj));
         | 
| 641 641 | 
             
             }
         | 
| 642 | 
            -
             | 
| 642 | 
            +
             | 
| 643 643 | 
             
             M.addObjToFile = function (file, obj) {
         | 
| 644 644 | 
             
                 try {
         | 
| 645 645 | 
             
                     var d = M.getObjByFile(file);
         | 
| @@ -667,7 +667,7 @@ M.request.put=M.put; | |
| 667 667 | 
             
                 }
         | 
| 668 668 | 
             
                 M.writeObjToFile(file, d);
         | 
| 669 669 | 
             
             }
         | 
| 670 | 
            -
             | 
| 670 | 
            +
             | 
| 671 671 | 
             
             M.deleteObjByPropFile = function (file, o) {
         | 
| 672 672 | 
             
                 let o_key = Object.keys(o)[0];
         | 
| 673 673 | 
             
                 let o_val = o[o_key]
         | 
| @@ -683,7 +683,7 @@ M.request.put=M.put; | |
| 683 683 | 
             
                 M.writeObjToFile(file, d);
         | 
| 684 684 | 
             
                 return d_num;
         | 
| 685 685 | 
             
             }
         | 
| 686 | 
            -
             | 
| 686 | 
            +
             | 
| 687 687 | 
             
             M.updateObjByIdFile = function (file, obj) {
         | 
| 688 688 | 
             
                 var d = M.getObjByFile(file);
         | 
| 689 689 | 
             
                 for (let i = 0; i < d.length; i++) {
         | 
| @@ -791,10 +791,10 @@ M.request.put=M.put; | |
| 791 791 | 
             
                 } catch (e) {
         | 
| 792 792 | 
             
                     preObj = {};
         | 
| 793 793 | 
             
                 }
         | 
| 794 | 
            -
             | 
| 794 | 
            +
             | 
| 795 795 | 
             
                 M.writeObjToFile(M.map_path, Object.assign(preObj, a));
         | 
| 796 796 | 
             
             }
         | 
| 797 | 
            -
             | 
| 797 | 
            +
             | 
| 798 798 | 
             
             M.getAttribute = function (k) {
         | 
| 799 799 | 
             
                 return M.getObjByFile(M.map_path)[k];
         | 
| 800 800 | 
             
             }
         | 
| @@ -825,14 +825,14 @@ M.request.put=M.put; | |
| 825 825 | 
             
                     });
         | 
| 826 826 | 
             
                 } )
         | 
| 827 827 | 
             
             }
         | 
| 828 | 
            -
             | 
| 829 | 
            -
             | 
| 828 | 
            +
             | 
| 829 | 
            +
             | 
| 830 830 | 
             
             M.readCsvLine =async function (file, callback) {
         | 
| 831 831 | 
             
                return  M.readLine(file, function (line) {
         | 
| 832 832 | 
             
                      callback(line.replace("\r", "").split(/(?<!\"[^,]+),(?![^,]+\")/));
         | 
| 833 833 | 
             
                 })
         | 
| 834 834 | 
             
             }
         | 
| 835 | 
            -
             | 
| 835 | 
            +
             | 
| 836 836 | 
             
             M.getFileNameByUrl=function (url){
         | 
| 837 837 | 
             
                 let split= url.split("/");
         | 
| 838 838 | 
             
                 return split[split.length-1]
         | 
| @@ -843,7 +843,7 @@ M.getFileList = function (path) { | |
| 843 843 | 
             
                 function readFile(path, filesList, targetObj) {
         | 
| 844 844 | 
             
                     files = fs.readdirSync(path);//需要用到同步读取
         | 
| 845 845 | 
             
                     files.forEach(walk);
         | 
| 846 | 
            -
             | 
| 846 | 
            +
             | 
| 847 847 | 
             
                     function walk(file) {
         | 
| 848 848 | 
             
                         states = fs.statSync(path + '/' + file);
         | 
| 849 849 | 
             
                         if (states.isDirectory()) {
         | 
| @@ -855,7 +855,7 @@ M.getFileList = function (path) { | |
| 855 855 | 
             
                                 item = {name: file, children: [], value: path + '/' + file};
         | 
| 856 856 | 
             
                                 filesList.push(item);
         | 
| 857 857 | 
             
                             }
         | 
| 858 | 
            -
             | 
| 858 | 
            +
             | 
| 859 859 | 
             
                             readFile(path + '/' + file, filesList, item);
         | 
| 860 860 | 
             
                         } else {
         | 
| 861 861 | 
             
                             //创建一个对象保存信息
         | 
| @@ -863,7 +863,7 @@ M.getFileList = function (path) { | |
| 863 863 | 
             
                             obj.size = states.size;//文件大小,以字节为单位
         | 
| 864 864 | 
             
                             obj.name = file;//文件名
         | 
| 865 865 | 
             
                             obj.path = path + '/' + file; //文件绝对路径
         | 
| 866 | 
            -
             | 
| 866 | 
            +
             | 
| 867 867 | 
             
                             if (targetObj["children"]) {
         | 
| 868 868 | 
             
                                 var item = {name: file, value: obj.path}
         | 
| 869 869 | 
             
                                 targetObj["children"].push(item);
         | 
| @@ -874,7 +874,7 @@ M.getFileList = function (path) { | |
| 874 874 | 
             
                         }
         | 
| 875 875 | 
             
                     }
         | 
| 876 876 | 
             
                 }
         | 
| 877 | 
            -
             | 
| 877 | 
            +
             | 
| 878 878 | 
             
                 var filesList = [];
         | 
| 879 879 | 
             
                 var targetObj = {};
         | 
| 880 880 | 
             
                 readFile(path, filesList, targetObj);
         | 
| @@ -953,8 +953,8 @@ M.log = function (...params) { | |
| 953 953 | 
             
                     if (M.log_file_enable) M.appendFile(M.log_path, r);
         | 
| 954 954 | 
             
                 }
         | 
| 955 955 | 
             
             }
         | 
| 956 | 
            -
             | 
| 957 | 
            -
             | 
| 956 | 
            +
             | 
| 957 | 
            +
             | 
| 958 958 | 
             
             M.getSqlite = function (dbName) {
         | 
| 959 959 | 
             
                 if (M.sqlite) {
         | 
| 960 960 | 
             
                     return M.sqlite;
         | 
| @@ -992,7 +992,7 @@ M.log = function (...params) { | |
| 992 992 | 
             
                 M.sqlite = Db;
         | 
| 993 993 | 
             
                 return Db;
         | 
| 994 994 | 
             
             }
         | 
| 995 | 
            -
             | 
| 995 | 
            +
             | 
| 996 996 | 
             
             ///////////////////////////////
         | 
| 997 997 |  | 
| 998 998 |  | 
| @@ -1103,12 +1103,12 @@ M.getMongoDB = function (dbConfig) { | |
| 1103 1103 | 
             
                 var MongoDB=require('mongodb');
         | 
| 1104 1104 | 
             
                 var MongoClient =MongoDB.MongoClient;
         | 
| 1105 1105 | 
             
                 const ObjectID = MongoDB.ObjectID;
         | 
| 1106 | 
            -
             | 
| 1106 | 
            +
             | 
| 1107 1107 | 
             
                 var Config={
         | 
| 1108 1108 | 
             
                     dbUrl:  dbConfig.dbUrl|| 'mongodb://localhost:27017/',
         | 
| 1109 1109 | 
             
                     dbName: dbConfig.dbName|| 'miapi'
         | 
| 1110 1110 | 
             
                 };
         | 
| 1111 | 
            -
             | 
| 1111 | 
            +
             | 
| 1112 1112 | 
             
                 class MingMongoClient{
         | 
| 1113 1113 | 
             
                   static  connect(){
         | 
| 1114 1114 | 
             
                         return new Promise((resolve,reject)=>{
         | 
| @@ -1127,7 +1127,7 @@ M.getMongoDB = function (dbConfig) { | |
| 1127 1127 | 
             
                             }
         | 
| 1128 1128 | 
             
                         })
         | 
| 1129 1129 | 
             
                     }
         | 
| 1130 | 
            -
             | 
| 1130 | 
            +
             | 
| 1131 1131 | 
             
                     static find(collectionName,json){
         | 
| 1132 1132 | 
             
                         if(!json){
         | 
| 1133 1133 | 
             
                             json=collectionName
         | 
| @@ -1143,7 +1143,7 @@ M.getMongoDB = function (dbConfig) { | |
| 1143 1143 | 
             
                                     }
         | 
| 1144 1144 | 
             
                                     resolve(docs);
         | 
| 1145 1145 | 
             
                                 })
         | 
| 1146 | 
            -
             | 
| 1146 | 
            +
             | 
| 1147 1147 | 
             
                             })
         | 
| 1148 1148 | 
             
                         })
         | 
| 1149 1149 | 
             
                     }
         | 
| @@ -1178,14 +1178,14 @@ M.getMongoDB = function (dbConfig) { | |
| 1178 1178 | 
             
                                     if(err){
         | 
| 1179 1179 | 
             
                                         reject(err);
         | 
| 1180 1180 | 
             
                                     }else{
         | 
| 1181 | 
            -
             | 
| 1181 | 
            +
             | 
| 1182 1182 | 
             
                                         resolve(result);
         | 
| 1183 1183 | 
             
                                     }
         | 
| 1184 1184 | 
             
                                 })
         | 
| 1185 1185 | 
             
                             })
         | 
| 1186 1186 | 
             
                         })
         | 
| 1187 1187 | 
             
                     }
         | 
| 1188 | 
            -
             | 
| 1188 | 
            +
             | 
| 1189 1189 | 
             
                     static  insertMany(collectionName,json){
         | 
| 1190 1190 | 
             
                         if(!json){
         | 
| 1191 1191 | 
             
                             json=collectionName
         | 
| @@ -1197,14 +1197,14 @@ M.getMongoDB = function (dbConfig) { | |
| 1197 1197 | 
             
                                     if(err){
         | 
| 1198 1198 | 
             
                                         reject(err);
         | 
| 1199 1199 | 
             
                                     }else{
         | 
| 1200 | 
            -
             | 
| 1200 | 
            +
             | 
| 1201 1201 | 
             
                                         resolve(result);
         | 
| 1202 1202 | 
             
                                     }
         | 
| 1203 1203 | 
             
                                 })
         | 
| 1204 1204 | 
             
                             })
         | 
| 1205 1205 | 
             
                         })
         | 
| 1206 1206 | 
             
                     }
         | 
| 1207 | 
            -
             | 
| 1207 | 
            +
             | 
| 1208 1208 | 
             
                     static remove(collectionName,json){
         | 
| 1209 1209 | 
             
                         if(!json){
         | 
| 1210 1210 | 
             
                             json=collectionName
         | 
| @@ -1216,14 +1216,14 @@ M.getMongoDB = function (dbConfig) { | |
| 1216 1216 | 
             
                                     if(err){
         | 
| 1217 1217 | 
             
                                         reject(err);
         | 
| 1218 1218 | 
             
                                     }else{
         | 
| 1219 | 
            -
             | 
| 1219 | 
            +
             | 
| 1220 1220 | 
             
                                         resolve(result);
         | 
| 1221 1221 | 
             
                                     }
         | 
| 1222 1222 | 
             
                                 })
         | 
| 1223 1223 | 
             
                             })
         | 
| 1224 1224 | 
             
                         })
         | 
| 1225 1225 | 
             
                     }
         | 
| 1226 | 
            -
             | 
| 1226 | 
            +
             | 
| 1227 1227 | 
             
                     static  getById(collectionName,id){
         | 
| 1228 1228 | 
             
                         if(!id){
         | 
| 1229 1229 | 
             
                             id=collectionName
         | 
| @@ -1244,7 +1244,7 @@ M.getMongoDB = function (dbConfig) { | |
| 1244 1244 | 
             
                             })
         | 
| 1245 1245 | 
             
                         })
         | 
| 1246 1246 | 
             
                     }
         | 
| 1247 | 
            -
             | 
| 1247 | 
            +
             | 
| 1248 1248 | 
             
                 }
         | 
| 1249 1249 | 
             
                 MingMongoClient.ObjectID=(id)=> new ObjectID(id)
         | 
| 1250 1250 | 
             
                 let Db=MingMongoClient;
         | 
| @@ -1253,9 +1253,9 @@ M.getMongoDB = function (dbConfig) { | |
| 1253 1253 | 
             
                 M.mongoDb=Db;
         | 
| 1254 1254 | 
             
                 return Db;
         | 
| 1255 1255 | 
             
             }
         | 
| 1256 | 
            -
             | 
| 1257 | 
            -
             | 
| 1258 | 
            -
             | 
| 1256 | 
            +
             | 
| 1257 | 
            +
             | 
| 1258 | 
            +
             | 
| 1259 1259 | 
             
             /**
         | 
| 1260 1260 | 
             
              * ----------------------Sql CRUD  START-------------------------------------------
         | 
| 1261 1261 | 
             
              */
         | 
| @@ -1273,7 +1273,7 @@ M.getMongoDB = function (dbConfig) { | |
| 1273 1273 | 
             
                 let sql = "insert into " + tableName + fields + " values " + values;
         | 
| 1274 1274 | 
             
                 return sql;
         | 
| 1275 1275 | 
             
             }
         | 
| 1276 | 
            -
             | 
| 1276 | 
            +
             | 
| 1277 1277 | 
             
             M.getDeleteObjSql = function (tableName, obj) {
         | 
| 1278 1278 | 
             
                 var fields = [];
         | 
| 1279 1279 | 
             
                 for (let field in obj) {
         | 
| @@ -1283,7 +1283,7 @@ M.getMongoDB = function (dbConfig) { | |
| 1283 1283 | 
             
                 sql = sql.replace(/,/g, " and ")
         | 
| 1284 1284 | 
             
                 return sql;
         | 
| 1285 1285 | 
             
             }
         | 
| 1286 | 
            -
             | 
| 1286 | 
            +
             | 
| 1287 1287 | 
             
             M.getUpdateObjSql = function (tableName, obj, caseObj) {
         | 
| 1288 1288 | 
             
                 var fields = [];
         | 
| 1289 1289 | 
             
                 for (let field in obj) {
         | 
| @@ -1300,11 +1300,11 @@ M.getMongoDB = function (dbConfig) { | |
| 1300 1300 | 
             
                     }
         | 
| 1301 1301 | 
             
                     sql = `update ${tableName} set ${fields.map(u => u + "='" + obj[u] + "'")} where ${caseObjfields.map(u => u + "='" + caseObj[u] + "'").join(" and ")}`;
         | 
| 1302 1302 | 
             
                 }
         | 
| 1303 | 
            -
             | 
| 1303 | 
            +
             | 
| 1304 1304 | 
             
                 return sql;
         | 
| 1305 1305 | 
             
             }
         | 
| 1306 | 
            -
             | 
| 1307 | 
            -
             | 
| 1306 | 
            +
             | 
| 1307 | 
            +
             | 
| 1308 1308 | 
             
             M.getSelectObjSql = function (tableName, obj) {
         | 
| 1309 1309 | 
             
                 var fields = [];
         | 
| 1310 1310 | 
             
                 for (let field in obj) {
         | 
| @@ -1314,17 +1314,17 @@ M.getMongoDB = function (dbConfig) { | |
| 1314 1314 | 
             
                 sql = sql.replace(/,/g, " and ")
         | 
| 1315 1315 | 
             
                 return sql;
         | 
| 1316 1316 | 
             
             }
         | 
| 1317 | 
            -
             | 
| 1317 | 
            +
             | 
| 1318 1318 | 
             
             /**
         | 
| 1319 1319 | 
             
              * ----------------------Sql CRUD  START-------------------------------------------
         | 
| 1320 1320 | 
             
              */
         | 
| 1321 | 
            -
             | 
| 1322 | 
            -
             | 
| 1321 | 
            +
             | 
| 1322 | 
            +
             | 
| 1323 1323 | 
             
             /**
         | 
| 1324 1324 | 
             
              * ----------------------数据持久化读写END--------------------------------------------
         | 
| 1325 1325 | 
             
              */
         | 
| 1326 | 
            -
             | 
| 1327 | 
            -
             | 
| 1326 | 
            +
             | 
| 1327 | 
            +
             | 
| 1328 1328 | 
             
             /**
         | 
| 1329 1329 | 
             
              * ----------------------服务器端START--------------------------------------------
         | 
| 1330 1330 | 
             
              */
         | 
| @@ -1381,7 +1381,7 @@ M.failResult=(msg,code,d)=>{ | |
| 1381 1381 | 
             
                 }
         | 
| 1382 1382 | 
             
                 return result;
         | 
| 1383 1383 | 
             
             }
         | 
| 1384 | 
            -
             | 
| 1384 | 
            +
             | 
| 1385 1385 | 
             
             /**
         | 
| 1386 1386 | 
             
              *获取驼峰式的对象
         | 
| 1387 1387 | 
             
              */
         | 
| @@ -1392,7 +1392,7 @@ M.failResult=(msg,code,d)=>{ | |
| 1392 1392 | 
             
                 }
         | 
| 1393 1393 | 
             
                 return result;
         | 
| 1394 1394 | 
             
             }
         | 
| 1395 | 
            -
             | 
| 1395 | 
            +
             | 
| 1396 1396 | 
             
             M.randomStr = function () {
         | 
| 1397 1397 | 
             
                 return (Math.random().toString(36) + new Date().getTime()).slice(2);
         | 
| 1398 1398 | 
             
             }
         | 
| @@ -1430,7 +1430,7 @@ M.urlParse = function (url) { | |
| 1430 1430 | 
             
                }
         | 
| 1431 1431 | 
             
                return s
         | 
| 1432 1432 | 
             
            };
         | 
| 1433 | 
            -
             | 
| 1433 | 
            +
             | 
| 1434 1434 | 
             
             /**
         | 
| 1435 1435 | 
             
              * 异常处理钩子
         | 
| 1436 1436 | 
             
              * @param e
         | 
| @@ -1442,9 +1442,9 @@ M.urlParse = function (url) { | |
| 1442 1442 | 
             
                 }
         | 
| 1443 1443 | 
             
                 return true;
         | 
| 1444 1444 | 
             
             }
         | 
| 1445 | 
            -
             | 
| 1446 | 
            -
             | 
| 1447 | 
            -
             | 
| 1445 | 
            +
             | 
| 1446 | 
            +
             | 
| 1447 | 
            +
             | 
| 1448 1448 | 
             
             M.server = function () {
         | 
| 1449 1449 | 
             
                 var G = this;   /*全局变量,也就是M*/
         | 
| 1450 1450 | 
             
                 //静态资源路径
         | 
| @@ -1495,7 +1495,7 @@ M.urlParse = function (url) { | |
| 1495 1495 | 
             
                             }
         | 
| 1496 1496 | 
             
                             return isRest;
         | 
| 1497 1497 | 
             
                         }
         | 
| 1498 | 
            -
             | 
| 1498 | 
            +
             | 
| 1499 1499 | 
             
                         req.ip = req.headers['x-forwarded-for'] ||
         | 
| 1500 1500 | 
             
                             req.connection.remoteAddress ||
         | 
| 1501 1501 | 
             
                             req.socket.remoteAddress ||
         | 
| @@ -1571,7 +1571,7 @@ M.urlParse = function (url) { | |
| 1571 1571 | 
             
                             res.end();
         | 
| 1572 1572 | 
             
                             G._end(req,text);
         | 
| 1573 1573 | 
             
                         }
         | 
| 1574 | 
            -
             | 
| 1574 | 
            +
             | 
| 1575 1575 | 
             
                         res.render = async function (url) {
         | 
| 1576 1576 | 
             
                             res.alreadySend = true;
         | 
| 1577 1577 | 
             
                             let text="";
         | 
| @@ -1719,12 +1719,12 @@ M.urlParse = function (url) { | |
| 1719 1719 | 
             
                         M["_gloable_exception_handle"](e,req,res);
         | 
| 1720 1720 | 
             
                     }
         | 
| 1721 1721 | 
             
                 }
         | 
| 1722 | 
            -
             | 
| 1723 | 
            -
             | 
| 1722 | 
            +
             | 
| 1723 | 
            +
             | 
| 1724 1724 | 
             
                 app.begin = function (callback) {
         | 
| 1725 1725 | 
             
                     G._begin = callback;
         | 
| 1726 1726 | 
             
                 }
         | 
| 1727 | 
            -
             | 
| 1727 | 
            +
             | 
| 1728 1728 | 
             
                 app.end = function (callback) {
         | 
| 1729 1729 | 
             
                     G._end = callback;
         | 
| 1730 1730 | 
             
                 }
         | 
| @@ -1782,7 +1782,7 @@ M.urlParse = function (url) { | |
| 1782 1782 | 
             
                         url = url.substr(0, url.indexOf(":"));
         | 
| 1783 1783 | 
             
                         G._rest[url] = realUrl;
         | 
| 1784 1784 | 
             
                     }
         | 
| 1785 | 
            -
             | 
| 1785 | 
            +
             | 
| 1786 1786 | 
             
                     G._get[url] = callback;
         | 
| 1787 1787 | 
             
                 }
         | 
| 1788 1788 | 
             
                 /**
         | 
| @@ -1829,8 +1829,8 @@ M.urlParse = function (url) { | |
| 1829 1829 | 
             
                     }
         | 
| 1830 1830 | 
             
                     G._mapping[url] = callback;
         | 
| 1831 1831 | 
             
                 }
         | 
| 1832 | 
            -
             | 
| 1833 | 
            -
             | 
| 1832 | 
            +
             | 
| 1833 | 
            +
             | 
| 1834 1834 | 
             
                 M.formatUrl = function (url) {
         | 
| 1835 1835 | 
             
                     if (!url.endsWith('/')) {
         | 
| 1836 1836 | 
             
                         url = url + '/';
         | 
| @@ -1847,7 +1847,7 @@ M.urlParse = function (url) { | |
| 1847 1847 | 
             
                     req.url = url;
         | 
| 1848 1848 | 
             
                     app(req, res);
         | 
| 1849 1849 | 
             
                 }
         | 
| 1850 | 
            -
             | 
| 1850 | 
            +
             | 
| 1851 1851 | 
             
                 /**
         | 
| 1852 1852 | 
             
                  *重定向
         | 
| 1853 1853 | 
             
                  */
         | 
| @@ -1855,12 +1855,12 @@ M.urlParse = function (url) { | |
| 1855 1855 | 
             
                     res.writeHead(302, {'Content-Type': 'text/html; charset=utf-8', 'Location': url});
         | 
| 1856 1856 | 
             
                     res.end();
         | 
| 1857 1857 | 
             
                 }
         | 
| 1858 | 
            -
             | 
| 1858 | 
            +
             | 
| 1859 1859 | 
             
                 app.set = function (k, v) {
         | 
| 1860 1860 | 
             
                     M["_" + k] = v;
         | 
| 1861 1861 | 
             
                 }
         | 
| 1862 | 
            -
             | 
| 1863 | 
            -
             | 
| 1862 | 
            +
             | 
| 1863 | 
            +
             | 
| 1864 1864 | 
             
                 //全局异常钩子
         | 
| 1865 1865 | 
             
                 app.set("gloable_exception_handle",(err,req,res)=>{
         | 
| 1866 1866 | 
             
                     console.error(err.stack)
         | 
| @@ -1869,12 +1869,12 @@ M.urlParse = function (url) { | |
| 1869 1869 | 
             
                         res.send(M.result(err.message,false,-1));
         | 
| 1870 1870 | 
             
                     }
         | 
| 1871 1871 | 
             
                 })
         | 
| 1872 | 
            -
             | 
| 1872 | 
            +
             | 
| 1873 1873 | 
             
                 //render异常钩子
         | 
| 1874 1874 | 
             
                 app.set("render_exception_handle",(err,req,res)=>{
         | 
| 1875 1875 | 
             
                     console.error(err.stack)
         | 
| 1876 1876 | 
             
                 })
         | 
| 1877 | 
            -
             | 
| 1877 | 
            +
             | 
| 1878 1878 | 
             
                 //没有对应接口时的处理器
         | 
| 1879 1879 | 
             
                 app.set("no_router_handle",(req,res)=>{
         | 
| 1880 1880 | 
             
                     res.end('no router')
         | 
| @@ -1903,19 +1903,19 @@ M.urlParse = function (url) { | |
| 1903 1903 | 
             
                     res.end();
         | 
| 1904 1904 | 
             
                 })
         | 
| 1905 1905 |  | 
| 1906 | 
            -
             | 
| 1907 | 
            -
             | 
| 1908 1906 | 
             
                 app.listen = function (port) {
         | 
| 1909 1907 | 
             
                     const server= http.createServer(app).listen(port);
         | 
| 1910 1908 | 
             
                     console.log("listen on port:" + port);
         | 
| 1911 1909 | 
             
                     return server;
         | 
| 1912 1910 | 
             
                 }
         | 
| 1911 | 
            +
             | 
| 1912 | 
            +
                 global.app=app;
         | 
| 1913 1913 | 
             
                 return app;
         | 
| 1914 1914 | 
             
             }
         | 
| 1915 1915 | 
             
             M["_gloable_exception_handle"]=(err)=>{
         | 
| 1916 1916 | 
             
                 console.error(err)
         | 
| 1917 1917 | 
             
             }
         | 
| 1918 | 
            -
             | 
| 1918 | 
            +
             | 
| 1919 1919 | 
             
             //异常捕获
         | 
| 1920 1920 | 
             
             process.on('uncaughtException', function (err) {
         | 
| 1921 1921 | 
             
                 M["_gloable_exception_handle"](err,M.req,M.res);
         | 
| @@ -1924,8 +1924,8 @@ M.urlParse = function (url) { | |
| 1924 1924 | 
             
             process.on('unhandledRejection',function(err,promise){
         | 
| 1925 1925 | 
             
                 M["_gloable_exception_handle"](err,M.req,M.res);
         | 
| 1926 1926 | 
             
             });
         | 
| 1927 | 
            -
             | 
| 1928 | 
            -
             | 
| 1927 | 
            +
             | 
| 1928 | 
            +
             | 
| 1929 1929 | 
             
             /**
         | 
| 1930 1930 | 
             
              * 代理服务器start
         | 
| 1931 1931 | 
             
              */
         | 
| @@ -1956,7 +1956,7 @@ M.urlParse = function (url) { | |
| 1956 1956 | 
             
                     })
         | 
| 1957 1957 | 
             
                 })
         | 
| 1958 1958 | 
             
             }
         | 
| 1959 | 
            -
             | 
| 1959 | 
            +
             | 
| 1960 1960 | 
             
             M.axios = function (axiosConfig) {
         | 
| 1961 1961 | 
             
                 axiosConfig.headers.host = "";
         | 
| 1962 1962 | 
             
                 var urlObj = url_module.parse(axiosConfig.url)
         | 
| @@ -1986,7 +1986,7 @@ M.urlParse = function (url) { | |
| 1986 1986 | 
             
                             M.httpEnd(html);
         | 
| 1987 1987 | 
             
                             resolve(html);
         | 
| 1988 1988 | 
             
                         });
         | 
| 1989 | 
            -
             | 
| 1989 | 
            +
             | 
| 1990 1990 | 
             
                     });
         | 
| 1991 1991 | 
             
                     req.on('error', function (err) {
         | 
| 1992 1992 | 
             
                         console.error(err);
         | 
| @@ -2020,7 +2020,7 @@ privateObj.dealUseServer = async function (req, res) { | |
| 2020 2020 | 
             
                 let fileName = pathname.replace("/", "");
         | 
| 2021 2021 | 
             
                 //获取文件的后缀名
         | 
| 2022 2022 | 
             
                 var extname = path.extname(pathname);
         | 
| 2023 | 
            -
             | 
| 2023 | 
            +
             | 
| 2024 2024 | 
             
                 if (fileName.startsWith("__default_")) {
         | 
| 2025 2025 | 
             
                     res.setHeader("Access-Control-Allow-Origin", "*");
         | 
| 2026 2026 | 
             
                     res.setHeader("Access-Control-Allow-Headers", "X-Requested-With");
         | 
| @@ -2035,7 +2035,7 @@ privateObj.dealUseServer = async function (req, res) { | |
| 2035 2035 | 
             
                     if (!res.alreadySend) await res.renderUrl(M.remoteStaticPath + pathname)
         | 
| 2036 2036 | 
             
                     return;
         | 
| 2037 2037 | 
             
                 }
         | 
| 2038 | 
            -
             | 
| 2038 | 
            +
             | 
| 2039 2039 | 
             
                 if (pathname != '/favicon.ico') {  /*过滤请求favicon.ico*/
         | 
| 2040 2040 | 
             
                     //文件操作获取 static下面的index.html
         | 
| 2041 2041 | 
             
                     fs.readFile(staticPath + '/' + pathname, function (err, data) {
         | 
| @@ -2059,7 +2059,7 @@ privateObj.dealUseServer = async function (req, res) { | |
| 2059 2059 | 
             
                     res.end();
         | 
| 2060 2060 | 
             
                 }
         | 
| 2061 2061 | 
             
             }
         | 
| 2062 | 
            -
             | 
| 2062 | 
            +
             | 
| 2063 2063 | 
             
             /*SSE SERVER */
         | 
| 2064 2064 | 
             
             M.sseServer = function () {
         | 
| 2065 2065 | 
             
                //sse 心跳
         | 
| @@ -2160,12 +2160,12 @@ privateObj.dealUseServer = async function (req, res) { | |
| 2160 2160 | 
             
                 }
         | 
| 2161 2161 | 
             
                 return app;
         | 
| 2162 2162 | 
             
             }
         | 
| 2163 | 
            -
             | 
| 2163 | 
            +
             | 
| 2164 2164 | 
             
             /**
         | 
| 2165 2165 | 
             
              * ----------------------服务器端END--------------------------------------------
         | 
| 2166 2166 | 
             
              */
         | 
| 2167 | 
            -
             | 
| 2168 | 
            -
             | 
| 2167 | 
            +
             | 
| 2168 | 
            +
             | 
| 2169 2169 | 
             
             /**
         | 
| 2170 2170 | 
             
              * ----------------------其他工具函数START--------------------------------------------
         | 
| 2171 2171 | 
             
              */
         | 
| @@ -2175,11 +2175,11 @@ privateObj.dealUseServer = async function (req, res) { | |
| 2175 2175 | 
             
                         if (err || stderr) console.error(err, stderr);
         | 
| 2176 2176 | 
             
                         reslove(stdout);
         | 
| 2177 2177 | 
             
                     });
         | 
| 2178 | 
            -
             | 
| 2178 | 
            +
             | 
| 2179 2179 | 
             
                 })
         | 
| 2180 2180 | 
             
                 return promise;
         | 
| 2181 2181 | 
             
             }
         | 
| 2182 | 
            -
             | 
| 2182 | 
            +
             | 
| 2183 2183 | 
             
             M.getMyIp = function () {
         | 
| 2184 2184 | 
             
                 var interfaces = require('os').networkInterfaces();
         | 
| 2185 2185 | 
             
                 for (var devName in interfaces) {
         | 
| @@ -2192,17 +2192,17 @@ privateObj.dealUseServer = async function (req, res) { | |
| 2192 2192 | 
             
                     }
         | 
| 2193 2193 | 
             
                 }
         | 
| 2194 2194 | 
             
             }
         | 
| 2195 | 
            -
             | 
| 2195 | 
            +
             | 
| 2196 2196 | 
             
             /**
         | 
| 2197 2197 | 
             
              *对象转JSON key不用引号括起来,因兼容性不好,所以去掉
         | 
| 2198 2198 | 
             
              */
         | 
| 2199 | 
            -
             | 
| 2199 | 
            +
             | 
| 2200 2200 | 
             
             /**
         | 
| 2201 2201 | 
             
              M.JSOM_Stringify=function(obj){
         | 
| 2202 2202 | 
             
                 return JSON.stringify(obj).replace(/"(\w+)"(\s*:\s*)/gis, '$1$2');
         | 
| 2203 2203 | 
             
             }
         | 
| 2204 2204 | 
             
              */
         | 
| 2205 | 
            -
             | 
| 2205 | 
            +
             | 
| 2206 2206 | 
             
             M.sleep = function (numberMillis) {
         | 
| 2207 2207 | 
             
                 var now = new Date();
         | 
| 2208 2208 | 
             
                 var exitTime = now.getTime() + numberMillis;
         | 
| @@ -2224,7 +2224,7 @@ M.delayMs=async function (ms){ | |
| 2224 2224 | 
             
             /**
         | 
| 2225 2225 | 
             
              * ----------------------其他工具函数END--------------------------------------------
         | 
| 2226 2226 | 
             
              */
         | 
| 2227 | 
            -
             | 
| 2227 | 
            +
             | 
| 2228 2228 | 
             
             /**
         | 
| 2229 2229 | 
             
              * 静态资源对应表
         | 
| 2230 2230 | 
             
              */
         | 
| @@ -2742,11 +2742,11 @@ M.delayMs=async function (ms){ | |
| 2742 2742 | 
             
                 ".conf": "text/conf",
         | 
| 2743 2743 | 
             
                 ".sql": "text/sql"
         | 
| 2744 2744 | 
             
             }
         | 
| 2745 | 
            -
             | 
| 2745 | 
            +
             | 
| 2746 2746 | 
             
             M.test = function () {
         | 
| 2747 2747 | 
             
                 console.log(privateObj.staticMime[".jssson"] || "aa")
         | 
| 2748 2748 | 
             
             }
         | 
| 2749 | 
            -
             | 
| 2749 | 
            +
             | 
| 2750 2750 | 
             
             M.getRemoteCacheByUrl = async function (url) {
         | 
| 2751 2751 | 
             
                 if (url in M._globle_cacheMap) {
         | 
| 2752 2752 | 
             
                     return M._globle_cacheMap[url];
         | 
| @@ -2761,7 +2761,7 @@ M.delayMs=async function (ms){ | |
| 2761 2761 | 
             
                 M._globle_cacheMap[url] = text;
         | 
| 2762 2762 | 
             
                 return text;
         | 
| 2763 2763 | 
             
             }
         | 
| 2764 | 
            -
             | 
| 2764 | 
            +
             | 
| 2765 2765 | 
             
             M.init = function () {
         | 
| 2766 2766 | 
             
                 /***
         | 
| 2767 2767 | 
             
                  * 下划线命名转为驼峰命名
         | 
| @@ -2773,7 +2773,7 @@ M.delayMs=async function (ms){ | |
| 2773 2773 | 
             
                     });
         | 
| 2774 2774 | 
             
                     return str;
         | 
| 2775 2775 | 
             
                 }
         | 
| 2776 | 
            -
             | 
| 2776 | 
            +
             | 
| 2777 2777 | 
             
                 /***
         | 
| 2778 2778 | 
             
                  * 驼峰命名转下划线
         | 
| 2779 2779 | 
             
                  */
         | 
| @@ -2782,7 +2782,7 @@ M.delayMs=async function (ms){ | |
| 2782 2782 | 
             
                     str = this.replace(/([A-Z])/g, "_$1").toLowerCase();
         | 
| 2783 2783 | 
             
                     return str;
         | 
| 2784 2784 | 
             
                 }
         | 
| 2785 | 
            -
             | 
| 2785 | 
            +
             | 
| 2786 2786 | 
             
                 //首字母变大写
         | 
| 2787 2787 | 
             
                 String.prototype.firstChartoUpper = function () {
         | 
| 2788 2788 | 
             
                     return this.replace(/^([a-z])/g, function (word) {
         | 
| @@ -2816,9 +2816,12 @@ M.delayMs=async function (ms){ | |
| 2816 2816 | 
             
                     }
         | 
| 2817 2817 | 
             
                     return fmt;
         | 
| 2818 2818 | 
             
                 }
         | 
| 2819 | 
            -
             | 
| 2820 | 
            -
             | 
| 2819 | 
            +
             | 
| 2820 | 
            +
             | 
| 2821 2821 | 
             
             }
         | 
| 2822 2822 | 
             
             M.init();
         | 
| 2823 | 
            -
             | 
| 2823 | 
            +
             | 
| 2824 | 
            +
             global.M=M;
         | 
| 2825 | 
            +
             global.MIO=M.IO;
         | 
| 2826 | 
            +
             | 
| 2824 2827 | 
             
             module.exports = M;
         | 
    
        package/module/BaseMapper.js
    CHANGED
    
    | @@ -320,7 +320,44 @@ class BaseMapper { | |
| 320 320 | 
             
                    return sql;
         | 
| 321 321 | 
             
                }
         | 
| 322 322 |  | 
| 323 | 
            -
             | 
| 323 | 
            +
                /**
         | 
| 324 | 
            +
                 * 给 list 加name
         | 
| 325 | 
            +
                 * @param tableName 表名
         | 
| 326 | 
            +
                 * @param list      列表
         | 
| 327 | 
            +
                 * @param list_idkey     列表中的idkey
         | 
| 328 | 
            +
                 * @param list_namekey   列表中的namekey
         | 
| 329 | 
            +
                 * @param db_idkey      库中的namekey
         | 
| 330 | 
            +
                 * @param db_namekey    库中的namekey
         | 
| 331 | 
            +
                 * @returns {Promise<void>}
         | 
| 332 | 
            +
                 */
         | 
| 333 | 
            +
                static async appendListName(
         | 
| 334 | 
            +
                    {
         | 
| 335 | 
            +
                        tableName="t_user",
         | 
| 336 | 
            +
                        list,
         | 
| 337 | 
            +
                        list_idkey="create_user",
         | 
| 338 | 
            +
                        list_namekey="name",
         | 
| 339 | 
            +
                        db_idkey="create_user",
         | 
| 340 | 
            +
                        db_namekey="create_user_name",
         | 
| 341 | 
            +
                    }
         | 
| 342 | 
            +
                ){
         | 
| 343 | 
            +
                    if(list==null || list.length==0){
         | 
| 344 | 
            +
                        return
         | 
| 345 | 
            +
                    }
         | 
| 346 | 
            +
                    const idKeyList=list.map(u=>u[list_idkey]);
         | 
| 347 | 
            +
                    let sql=`select ${db_idkey}, ${db_namekey} from ${tableName} where ${db_idkey} in (?)`
         | 
| 348 | 
            +
                    let dbDataList=await Db.doSql(sql,[idKeyList]);
         | 
| 349 | 
            +
                    const userMap = {};
         | 
| 350 | 
            +
                    for (let i = 0; i < dbDataList.length; i++) {
         | 
| 351 | 
            +
                        const idkeyV = dbDataList[i][db_idkey];
         | 
| 352 | 
            +
                        userMap[idkeyV] = dbDataList[i];
         | 
| 353 | 
            +
                    }
         | 
| 354 | 
            +
                    for (let i=0;i<list.length;i++){
         | 
| 355 | 
            +
                        if(userMap[list[i][list_idkey]]){
         | 
| 356 | 
            +
                            list[i][list_namekey]= userMap[list[i][list_idkey]][db_namekey];
         | 
| 357 | 
            +
                        }
         | 
| 358 | 
            +
                    }
         | 
| 359 | 
            +
                    return;
         | 
| 360 | 
            +
                }
         | 
| 324 361 |  | 
| 325 362 | 
             
            }
         | 
| 326 363 |  | 
    
        package/package.json
    CHANGED
    
    
| @@ -23,6 +23,117 @@ class CollectionUtils{ | |
| 23 23 | 
             
                }
         | 
| 24 24 |  | 
| 25 25 |  | 
| 26 | 
            +
                static list2Csv({list,titlesKeys,titlesNames}){
         | 
| 27 | 
            +
                    if(list==null||list.length==0){
         | 
| 28 | 
            +
                        return;
         | 
| 29 | 
            +
                    }
         | 
| 30 | 
            +
                    if(!titlesKeys){
         | 
| 31 | 
            +
                        titlesKeys=Object.keys(list[0])
         | 
| 32 | 
            +
                    }
         | 
| 33 | 
            +
                    if(!titlesNames){
         | 
| 34 | 
            +
                        titlesNames=titlesKeys
         | 
| 35 | 
            +
                    }
         | 
| 36 | 
            +
                    let bodyStr="";
         | 
| 37 | 
            +
                    list.forEach((items, index) => {
         | 
| 38 | 
            +
                        for(let key of titlesKeys){
         | 
| 39 | 
            +
                            items[key]=items[key]+"";
         | 
| 40 | 
            +
                            bodyStr=bodyStr+`"${!items[key]?'null': ""+items[key].replace(/\s/g,"")}"`+","
         | 
| 41 | 
            +
                        }
         | 
| 42 | 
            +
                        // console.log(bodyStr)
         | 
| 43 | 
            +
                        bodyStr=bodyStr+"\n";
         | 
| 44 | 
            +
                    })
         | 
| 45 | 
            +
                    return `\ufeff`+titlesNames+'\n'+bodyStr;
         | 
| 46 | 
            +
                }
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                static n(arr,key="unionId"){
         | 
| 49 | 
            +
                    function n1(r1,r2,key){
         | 
| 50 | 
            +
                        if(r1==null || r2==null ||r1==undefined||r2==undefined || r1.length==0 || r2.length==0){
         | 
| 51 | 
            +
                            return []
         | 
| 52 | 
            +
                        }
         | 
| 53 | 
            +
                        let  r2keyList=r2.map(u=>u[key])
         | 
| 54 | 
            +
                        let result=   r1.filter(u=>r2keyList.indexOf(u[key])!==-1)
         | 
| 55 | 
            +
                        return result;
         | 
| 56 | 
            +
                    }
         | 
| 57 | 
            +
                    let allResult=[]
         | 
| 58 | 
            +
                    try{
         | 
| 59 | 
            +
                        if(arr==null || arr==undefined || arr.length==0){
         | 
| 60 | 
            +
                            return []
         | 
| 61 | 
            +
                        }
         | 
| 62 | 
            +
                        for (let i=0;i<arr.length;i++){
         | 
| 63 | 
            +
                            if(arr[i]==null||arr[i]==undefined||arr[i].length==0){
         | 
| 64 | 
            +
                                return []
         | 
| 65 | 
            +
                            }
         | 
| 66 | 
            +
                        }
         | 
| 67 | 
            +
                        allResult= arr.reduce((r1,r2)=>{
         | 
| 68 | 
            +
                            let ri= n1(r1,r2,key)
         | 
| 69 | 
            +
                            if(ri==null||ri==undefined||ri.length==0){
         | 
| 70 | 
            +
                                throw []
         | 
| 71 | 
            +
                            }
         | 
| 72 | 
            +
                            return ri;
         | 
| 73 | 
            +
                        },arr[0])
         | 
| 74 | 
            +
                    }catch (e){
         | 
| 75 | 
            +
                        allResult=e;
         | 
| 76 | 
            +
                    }
         | 
| 77 | 
            +
                    return allResult;
         | 
| 78 | 
            +
                }
         | 
| 79 | 
            +
             | 
| 80 | 
            +
                static u(arr,key="unionId"){
         | 
| 81 | 
            +
                    function u1(r1,r2,key){
         | 
| 82 | 
            +
                        if(r1==null && r2==null){
         | 
| 83 | 
            +
                            return []
         | 
| 84 | 
            +
                        }
         | 
| 85 | 
            +
                        let r=[...r1,...r2];
         | 
| 86 | 
            +
                        return r;
         | 
| 87 | 
            +
                    }
         | 
| 88 | 
            +
                    let allResult=[]
         | 
| 89 | 
            +
                    try{
         | 
| 90 | 
            +
                        if(arr==null || arr==undefined || arr.length==0){
         | 
| 91 | 
            +
                            return []
         | 
| 92 | 
            +
                        }
         | 
| 93 | 
            +
                        for (let i=0;i<arr.length;i++){
         | 
| 94 | 
            +
                            if(arr[i]==null||arr[i]==undefined||arr[i].length==0){
         | 
| 95 | 
            +
                                return []
         | 
| 96 | 
            +
                            }
         | 
| 97 | 
            +
                        }
         | 
| 98 | 
            +
                        allResult= arr.reduce((r1,r2)=>{
         | 
| 99 | 
            +
                            let ri= u1(r1,r2,key)
         | 
| 100 | 
            +
                            if(ri==null||ri==undefined||ri.length==0){
         | 
| 101 | 
            +
                                return [];
         | 
| 102 | 
            +
                            }
         | 
| 103 | 
            +
                            return ri;
         | 
| 104 | 
            +
                        },arr[0])
         | 
| 105 | 
            +
                    }catch (e){
         | 
| 106 | 
            +
                        allResult=[];
         | 
| 107 | 
            +
                    }
         | 
| 108 | 
            +
                    let  allResultKeys=allResult.map(u=>u[key]);
         | 
| 109 | 
            +
                    let allResult1=[];
         | 
| 110 | 
            +
                    let allResult1KeyObj={};
         | 
| 111 | 
            +
                    for (let i=0;i<allResult.length;i++){
         | 
| 112 | 
            +
                        let allResultObj=allResult[i];
         | 
| 113 | 
            +
                        let k= allResultObj[key];
         | 
| 114 | 
            +
                        if(allResult1KeyObj[k]){
         | 
| 115 | 
            +
                            continue;
         | 
| 116 | 
            +
                        }else {
         | 
| 117 | 
            +
                            allResult1.push(allResultObj);
         | 
| 118 | 
            +
                            allResult1KeyObj[k]=true;
         | 
| 119 | 
            +
                        }
         | 
| 120 | 
            +
                    }
         | 
| 121 | 
            +
                    return allResult1;
         | 
| 122 | 
            +
                }
         | 
| 123 | 
            +
             | 
| 124 | 
            +
                static dif(arr1,arr2,key="unionId"){
         | 
| 125 | 
            +
                    if(arr1==null || arr1==null|| arr1.length==0 ){
         | 
| 126 | 
            +
                        return []
         | 
| 127 | 
            +
                    }
         | 
| 128 | 
            +
                    if(arr2==null || arr2==null|| arr2.length==0 ){
         | 
| 129 | 
            +
                        return arr1;
         | 
| 130 | 
            +
                    }
         | 
| 131 | 
            +
                    let  r2keyList=arr2.map(u=>u[key])
         | 
| 132 | 
            +
                    let result=  arr1.filter(u=>r2keyList.indexOf(u[key])==-1)
         | 
| 133 | 
            +
                    return result;
         | 
| 134 | 
            +
             | 
| 135 | 
            +
                }
         | 
| 136 | 
            +
             | 
| 26 137 | 
             
            }
         | 
| 27 138 |  | 
| 28 139 | 
             
            module.exports = CollectionUtils;
         | 
| @@ -0,0 +1,36 @@ | |
| 1 | 
            +
             | 
| 2 | 
            +
             | 
| 3 | 
            +
            class DateUtils {
         | 
| 4 | 
            +
                 static difDate(startDate="2021-04-01",endDate="2022-02-10"){
         | 
| 5 | 
            +
                    let flag = [1, 3, 5, 7, 8, 10, 12, 4, 6, 9, 11, 2];
         | 
| 6 | 
            +
                    let start = new Date(startDate);
         | 
| 7 | 
            +
                    let end = new Date(endDate);
         | 
| 8 | 
            +
                    let year = end.getFullYear() - start.getFullYear();
         | 
| 9 | 
            +
                    let month = end.getMonth() - start.getMonth();
         | 
| 10 | 
            +
                    let day = end.getDate() - start.getDate();
         | 
| 11 | 
            +
                    if (month < 0) {
         | 
| 12 | 
            +
                        year--;
         | 
| 13 | 
            +
                        month = end.getMonth() + (12 - start.getMonth());
         | 
| 14 | 
            +
                    }
         | 
| 15 | 
            +
                    if (day < 0) {
         | 
| 16 | 
            +
                        month--;
         | 
| 17 | 
            +
                        let index = flag.findIndex((temp) => {
         | 
| 18 | 
            +
                            return temp === start.getMonth() + 1
         | 
| 19 | 
            +
                        });
         | 
| 20 | 
            +
                        let monthLength;
         | 
| 21 | 
            +
                        if (index <= 6) {
         | 
| 22 | 
            +
                            monthLength = 31;
         | 
| 23 | 
            +
                        } else if (index > 6 && index <= 10) {
         | 
| 24 | 
            +
                            monthLength = 30;
         | 
| 25 | 
            +
                        } else {
         | 
| 26 | 
            +
                            monthLength = 28;
         | 
| 27 | 
            +
                        }
         | 
| 28 | 
            +
                        day = end.getDate() + (monthLength - start.getDate());
         | 
| 29 | 
            +
                    }
         | 
| 30 | 
            +
                    return {year,month,day}
         | 
| 31 | 
            +
                }
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            }
         | 
| 34 | 
            +
             | 
| 35 | 
            +
             | 
| 36 | 
            +
            module.exports = DateUtils;
         |