1 | /**
|
2 | * Created by baibing on 2016/9/4.
|
3 | */
|
4 | console.log('hello world');
|
5 |
|
6 | const test1 = function() {
|
7 | //文件处理机制
|
8 | var fs = require("fs");
|
9 | //console.log(fs.readFileSync("c:\\RHDSetup.Log").toString());
|
10 | /*fs.readFile('c:\\RHDSetup.log',function(err,data){
|
11 | console.log('read:'+data.toString());
|
12 | });
|
13 | fs.watchFile('c:\\RHDSetup.log',function(err,data){
|
14 | console.log('watch:'+data.toString());
|
15 | });
|
16 | //require('gcl');//证明package可以假冒 可以全局搜索 否则只能写全名
|
17 | /*
|
18 | require('\\baibing\\work\\cv\\test\\src\\com\\coooders\\common\\tool').tryC(()=>{
|
19 | console.log(require('cookies'));
|
20 | })*/
|
21 | console.log(__dirname); //在不同文件中返回值不同
|
22 | console.log(__filename);
|
23 | //console.log('/com/coooders/net/tool'.replace(new RegExp('(^\/*)|(\/*$)'),''));
|
24 | /*var P = require('path');
|
25 | console.log(P.parse(P.resolve(P.normalize(process.mainModule.filename))).name);
|
26 | var V = require('./com/coooders/common/tool');
|
27 | */
|
28 | //
|
29 | //console.log(V.include('/com/coooders/net/tool').test());
|
30 | //;
|
31 | //todo include 两次required 保证先绝对路径再相对路径
|
32 | //console.log(process);
|
33 | }
|
34 |
|
35 |
|
36 | const test2 = function() {
|
37 | var event = require('events');
|
38 | var emitter = new event.EventEmitter();
|
39 | //emitter.on('error',function(err){console.log('出现错误!\r\n');console.log(err);});
|
40 | /*
|
41 | emitter.on("newListener",function(name){
|
42 | console.log(arguments);
|
43 | });
|
44 | //emitter.emit("my.ss","haha","hahha");
|
45 | //结论 emitter是专有对象事件 不是全局对象事件
|
46 | emitter.emit.apply(emitter, ["my.ss", "hha"]);
|
47 | emitter.emit.call(emitter, "my.ss", "hahsh");
|
48 | var func = function () {
|
49 | console.log(arguments);
|
50 | };
|
51 | func.apply(null, [22, 23, 24]);
|
52 | func.call(null, 22, 23, 24);
|
53 | emitter.on('my.ss', function (ss2) {
|
54 | console.log(arguments);
|
55 | });
|
56 | //订阅前的事件不可用 需要使用VJ方式取代
|
57 | emitter.emit.apply(emitter, ["my.ss", "hh2"]);
|
58 | */
|
59 | }
|
60 | /*
|
61 | const test3 = function(){
|
62 | //Buffer 和 Array有什么不同? Buffer不是数组 不支持多维数组而且是个缓存 只能用Buffer读取String字符 该类用来创建一个专门存放二进制数据的缓存区
|
63 | var buf = new Buffer(256);
|
64 | buf.fill(0);
|
65 | buf.write('中文',0);
|
66 | var ss = "中文";
|
67 | console.log(ss[0]);
|
68 | console.log(buf.length);
|
69 | console.log(buf.toString('utf-8',0,3)); //按照指定位置 可以正常读取字符串 buf.slice 和 array.slice 一样 也没有内容大小属性
|
70 | }*/
|
71 | /*
|
72 | const test4 = function(){
|
73 | //stream 流文件
|
74 | var fs = require('fs');
|
75 | var fs2 = fs.createReadStream("c:\\RHDSetup.Log");
|
76 | var fs3 = fs.createWriteStream("c:\\abc.txt",{flags:'a'});//flags 默认是w
|
77 |
|
78 | var sb = new Buffer(2302);
|
79 | sb.fill(0);
|
80 | fs2.setEncoding("UTF-8");
|
81 | //fs3.setEncoding("UTF-8");
|
82 | console.log(fs3);
|
83 | fs3.on("finish",function(){
|
84 | console.log('write all');
|
85 | });
|
86 | fs2.on("end",function(){
|
87 | //console.log(sb.toString("utf-8"));
|
88 | fs3.end();
|
89 | });
|
90 | fs2.on("error",function(err){
|
91 | console.log(err);
|
92 | });
|
93 | fs2.on("data",function(datas){
|
94 | console.log(datas.length);
|
95 | sb.write(datas);
|
96 | fs3.write(datas,"UTF-8");
|
97 | console.log(1);
|
98 | //console.log(datas);
|
99 | });
|
100 | console.log(fs);
|
101 | fs.exists("c:\\abbb",function(isTrue){
|
102 | console.log(isTrue);
|
103 | if(isTrue) fs.rmdir("c:\\abbb");
|
104 | else fs.mkdir("c:\\abbb",function(){console.log('create OK');});
|
105 | });
|
106 | //太恐怖了 先读再设置事件!! 如何设置添加方法?
|
107 | }*/
|
108 |
|
109 | const test5 = function() {
|
110 | //module.exports
|
111 | //var ss = require('./ca');
|
112 | //console.log(ss);
|
113 | //ss.world();
|
114 | console.log(global.__filename);
|
115 | console.log(__filename);
|
116 | console.log(__dirname);
|
117 | console.log(global.process.argv);
|
118 | console.log(global.process.execPath);
|
119 | console.log('当前目录: ' + process.cwd());
|
120 | console.log(global.process.execPath);
|
121 | console.log(global.process.memoryUsage());
|
122 | setTimeout(function() {
|
123 | console.log(222222222);
|
124 | }, 1);
|
125 | var w = 0;
|
126 | //var ww = function(){if(w++<100){console.log(22);process.nextTick(ww);} };//证明nextTick并不一定超过setTimeout执行
|
127 | //ww();
|
128 | var i = 100;
|
129 | while (i--) {
|
130 | console.log(i);
|
131 | }
|
132 | //console.log(process);
|
133 | process.on('uncaughtException', function(err) {
|
134 | console.log(err);
|
135 | })
|
136 | process.stdout.write("Hello World!" + "\n");
|
137 |
|
138 | }
|
139 |
|
140 | const test6 = function() {
|
141 | var util = require('util');
|
142 | var V = require('./com/coooders/common/tool');
|
143 |
|
144 | console.log(new Date().sub('h', new Date().add('d', 1)));
|
145 | console.log(22);
|
146 | /*
|
147 | var father = function(){
|
148 | var _ = this,__ = {};
|
149 | __.abc = 22;
|
150 | _.abc = ()=>__.abc;
|
151 | _.bcd = 33;
|
152 | };
|
153 | father.prototype.test1 = function(){console.log(this.bcd);}
|
154 | var son = function(){this.b = 323;father.apply(this,[])};
|
155 | util.inherits(son,father);
|
156 | son.prototype.test2 = function(){console.log(this.b);}
|
157 | var son2 = function(){this.c = 444;son.call(this)};
|
158 | util.inherits(son2,son);
|
159 | son2.prototype.test3 = function(){console.log(this.c);};
|
160 | son2.test1 = son2.prototype.test1;
|
161 | son2.prototype.test1 = function(){console.log(this.c);son2.test1.apply(this);};
|
162 | (new son2()).test1();
|
163 | (new son()).test1();
|
164 | (new father()).test1();
|
165 | //可以实现直接的继承,但是私有方法和私有属性无法保存
|
166 | */
|
167 | }
|
168 | /*
|
169 | {
|
170 | var fs = require('fs');
|
171 | console.log(fs);
|
172 | fs.readdir("D:\\TDDOWNLOAD1\\",function(err,fss){
|
173 | fss.forEach(function(v){console.log(v);});
|
174 | });
|
175 | //结论 目前没有找到搜索在某个目录下所有文件的能力 递归搜索不清楚如何进行
|
176 | /*
|
177 | fs.unlink("D:\\*.torrent",function(err){
|
178 | if(err) console.log(err);
|
179 | else
|
180 | fs.readdir("D:\\TDDOWNLOAD1",function(err,fss){
|
181 | fss.forEach(function(v){console.log(v);});
|
182 | });
|
183 | })*/
|
184 | //结论 只能更新文件名 不能复制文件 可以同盘符移动文件
|
185 | /*
|
186 | fs.rename("D:\\1F5087B247C40AC71AE4AF9D97687D938FEE95EC.torrent1","C:\\1F5087B247C40AC71AE4AF9D97687D938FEE95EC.torrent1",function(err){
|
187 | if(err) console.log(err);
|
188 | });*/
|
189 | /*
|
190 | //fs.link("D:\\TDDOWNLOAD1\\1F5087B247C40AC71AE4AF9D97687D938FEE95EC.torrent1","c:\\abcd.tor",function(err){if(err)console.log(err);})
|
191 | //类似于同盘符复制
|
192 | fs.link("D:\\abcd.tor","D:\\abcd1.tor",function(err){
|
193 | if(err) console.log(err);
|
194 | });
|
195 | }*/
|
196 | /*
|
197 | const test8 = function(){
|
198 | var path = require('path');
|
199 | console.log(path.basename("D:\\TDDOWNLOAD1\\1F5087B247C40AC71AE4AF9D97687D938FEE95EC.torrent1"));
|
200 | console.log(path.dirname("D:\\TDDOWNLOAD1\\1F5087B247C40AC71AE4AF9D97687D938FEE95EC.torrent1"));
|
201 | console.log(path.extname("D:\\TDDOWNLOAD1\\1F5087B247C40AC71AE4AF9D97687D938FEE95EC.torrent1"));
|
202 | console.log(path.parse('D:\\TDDOWNLOAD1\\abcde\\1F5087B247C40AC71AE4AF9D97687D938FEE95EC.torrent1'));
|
203 | console.log(path.resolve("./main.js"))
|
204 | console.log(path.normalize(".././abc.js"));
|
205 | //console.log(process.versions);
|
206 | }
|
207 | const test9 = function(){
|
208 | var http = require('http');
|
209 | http.createServer(function(req,rep){
|
210 | rep.writeHead(200, {'Content-Type': 'text/html'});
|
211 | // 响应文件内容
|
212 | rep.write("Hello World");
|
213 | rep.end();
|
214 | }).listen(81,function(){console.log('server start');});
|
215 | http.request({host:'localhost',port:81,path:'/',method:'post'},function(resp){
|
216 | var sb = "";
|
217 | resp.on('data',function(abc){sb+=abc;});
|
218 | resp.on('end',function(){console.log(sb);})
|
219 | }).end();
|
220 | console.log(http);
|
221 | }
|
222 | */
|
223 | const test10 = function() {
|
224 | const M = require('./com/coooders/net/mime');
|
225 | console.log(M.get("abc.js"));
|
226 | console.log(M.MIME['mp4']);
|
227 | var tool = require('./com/coooders/common/tool');
|
228 | tool.isDebug = true;
|
229 |
|
230 | console.log(tool.isValid('222'));
|
231 | var s = tool.sb();
|
232 | s.append('22323232');
|
233 | s.append('111');
|
234 | console.log(s.toString());
|
235 | s.appendFormat('a:{a}', {
|
236 | a: 22
|
237 | });
|
238 | console.log(s.toString());
|
239 |
|
240 | //console.log(tool.isArray([]));
|
241 | /* 得到日期年月日等加数字后的日期 new Date().add('h',1)*/
|
242 | tool.each([1, 2, 3], function(v) {
|
243 | console.log(v);
|
244 | });
|
245 | tool.forC({
|
246 | a: 1,
|
247 | b: 2,
|
248 | c: 3
|
249 | }, function(k, v) {
|
250 | console.log(k + ":" + v);
|
251 | return true;
|
252 | });
|
253 | tool.forC({
|
254 | a: 1,
|
255 | b: 2,
|
256 | c: 3
|
257 | }, function(k, v, next) {
|
258 | console.log(k + ":" + v);
|
259 | if (next) next();
|
260 | });
|
261 |
|
262 | const I = require('./com/coooders/io/tool');
|
263 | console.log(I.execDir());
|
264 |
|
265 | var i = 100;
|
266 | //tool.whileC(function() { return i--; }, function(v, next) { console.log(v); if (next) next(); });
|
267 | tool.finalC(function(data, next) {
|
268 | tool.once(function() {
|
269 | console.log(10);
|
270 | next();
|
271 | }, 500);
|
272 | }, function(data, next) {
|
273 | tool.once(function() {
|
274 | console.log(20);
|
275 | if (next) next();
|
276 | }, 300);
|
277 | }, function(data, next) {
|
278 | tool.once(function() {
|
279 | console.log(12);
|
280 | if (next) next();
|
281 | }, 1);
|
282 | });
|
283 | const once = tool.once;
|
284 | tool.finalC(
|
285 | (data, call) => {
|
286 | once(() => {
|
287 | console.log(1);
|
288 | call();
|
289 | }, 400);
|
290 | },
|
291 | (data, call) => {
|
292 | once(() => {
|
293 | console.log(2);
|
294 | call();
|
295 | }, 200);
|
296 | },
|
297 | (data, call) => {
|
298 | once(() => {
|
299 | console.log(3);
|
300 | call();
|
301 | }, 300);
|
302 | },
|
303 | (data, call) => {
|
304 | once(() => {
|
305 | console.log(4);
|
306 | call();
|
307 | }, 500);
|
308 | },
|
309 | (data, call) => {
|
310 | once(() => {
|
311 | console.log(5);
|
312 | call();
|
313 | }, 100);
|
314 | }
|
315 | );
|
316 | console.log(6);
|
317 | tool.next(function(data, next) {
|
318 | tool.once(function() {
|
319 | console.log(11111);
|
320 | if (next) next();
|
321 | }, 500);
|
322 | //测试为true时中断循环
|
323 | return true;
|
324 | }, function(data, next) {
|
325 | tool.once(function() {
|
326 | console.log(22222);
|
327 | if (next) next();
|
328 | }, 300);
|
329 | }, function(data, next) {
|
330 | tool.once(function() {
|
331 | console.log(33333);
|
332 | if (next) next();
|
333 | }, 1);
|
334 | });
|
335 | console.log("abc".endWith('c'));
|
336 | console.log(JSON.stringify({
|
337 | a: 1,
|
338 | b: 2
|
339 | }));
|
340 | console.log(tool.hash(JSON.parse(JSON.stringify({
|
341 | a: 1,
|
342 | b: 2
|
343 | }))));
|
344 | console.log(tool.merge({
|
345 | a: 1,
|
346 | b: 2
|
347 | }, {
|
348 | c: 3
|
349 | }));
|
350 | var ss = function() {
|
351 | this.name = "1111";
|
352 | console.log(arguments)
|
353 | };
|
354 | var ss2 = function() {
|
355 | var _ = this,
|
356 | __ = {};
|
357 | tool.inherit.apply(_, [ss, [1, 2, 3]]);
|
358 | this.abc = "32222332";
|
359 | };
|
360 | var ss2 = eval('(new ss())');
|
361 | ss2 = tool.create2(ss, [1, 2, 3, 4]);
|
362 | console.log(ss2);
|
363 | /*
|
364 | var create2 = function(type,args){
|
365 | var ret = '(new '+type+'(';
|
366 | if(tool.isArray(args)){
|
367 | for(var i in args){
|
368 | ret+='args['+i+'],'
|
369 | }
|
370 | if(args.length>0){
|
371 | ret = ret.substr(0,ret.length-1);
|
372 | }
|
373 | }
|
374 | return eval(ret+'))');
|
375 | };*/
|
376 | //console.log(global.ss); 暂时无法使用
|
377 | //console.log(this.create2);
|
378 | var event = require('events');
|
379 | var ff = function() {
|
380 | event.EventEmitter.call(this);
|
381 | tool.applyCAE(this);
|
382 | this.write = function(ss) {
|
383 | this.emit('data', ss);
|
384 | this.callEvent('data', ss);
|
385 | };
|
386 | };
|
387 | require('util').inherits(ff, event.EventEmitter);
|
388 | //此为nodejs内部继承
|
389 | var f2 = tool.create(ff);
|
390 | //tool.inherit2(f2,ff,event.EventEmitter,[]);
|
391 | console.log(f2);
|
392 | /*
|
393 | var ss3 = tool.create.apply(this,[ss2,[1,2,3,4]]);
|
394 | //ss2 = tool.create(ss,[1,2,3,4]);
|
395 | //Object.create 不可用
|
396 | //console.log(encodeURIComponent("ddfefesefe"));
|
397 | var event = require('events');
|
398 | var ff = function(){
|
399 | event.EventEmitter.call(this);
|
400 | tool.applyCommandAndEvent(this);
|
401 | this.write = function(ss){this.emit('data',ss);this.callEvent('data',ss);};
|
402 | };
|
403 | require('util').inherits(ff,event.EventEmitter);
|
404 | //此为nodejs内部继承
|
405 | var f2 = tool.create(ff);
|
406 | //tool.inherit2(f2,ff,event.EventEmitter,[]);
|
407 | console.log(f2);
|
408 | //f2.on('data',function(data){console.log(data)});
|
409 | */
|
410 | f2.registEvent('data', function(data) {
|
411 | console.log(data)
|
412 | });
|
413 | f2.registCommand('abced', function(data) {
|
414 | console.log(data)
|
415 | });
|
416 | f2.write('data test');
|
417 | f2.write('data test');
|
418 | f2.callCommand('abced', ['ddd']);
|
419 | /*var ss = function(abc,func){
|
420 | func.apply(null,[abc]);
|
421 | };
|
422 | ss('3fjjeisieef',data=>{console.log(data);});
|
423 | */
|
424 | //console.log(require('url').parse("http://www.runoob.com/nodejs/nodejs-web-module.html?a=1&b=2"));
|
425 | /*var P = require('path');
|
426 | var tt = P.parse(P.resolve(P.normalize('./com/coooders/aaaaa/abc/')));
|
427 | //require('fs').mkdir('d:/a/b/c/d');
|
428 | console.log(tt);
|
429 | */
|
430 | //console.log(require('fs'));
|
431 | //I.moveFile('./com/test.js', './com1/test.js').then(() => console.log('move ok!'));
|
432 | /*
|
433 | I.moveDir('./com2', './com1').then(() => {
|
434 | console.log('复制成功');
|
435 | });
|
436 | */
|
437 | }
|
438 | const test11 = function() {
|
439 | //console.log(require('zlib'));
|
440 | var nettool = require('./com/coooders/net/tool');
|
441 |
|
442 | //nettool.upload("http://www.zc.com/Module/home/Index.html","D:\\TDDOWNLOAD1\\撤离科威特.mp3",(err,data)=>{});
|
443 | //console.log(require('url').parse('http://www.hengshuiac.org/Module/home/Index.html'));
|
444 | //nettool.post("http://www.hengshuiac.org/Module/home/Index.html").then(data => { console.log('完成' + data); });
|
445 | //console.log(' '.trim());
|
446 |
|
447 | var client = new nettool.WebClient();
|
448 | //client.get("http://admin.3vjia.com/3D/v2/default.aspx").then((data) => console.log(data));
|
449 | /*client.get("http://www.hengshuiac.org/Module/home/GetCheckCode.x?&_r=0.4258418398972825").then(function(data) {
|
450 | //console.log(client.cookies);
|
451 | client.get("http://www.hengshuiac.org/Module/home/Index.html").then(function(data) { console.log(client.cookies); });
|
452 | });*/
|
453 | //client.postJson("http://www.hengshuiac.org/Module/home/Index.html", { a: 1, b: 2 }).then(function(data) { console.log(client.cookies); });
|
454 | //client.download("http://www.hengshuiac.org/Module/home/GetCheckCode.x?&_r=0.4258418398972825", './mm.png').then(function(err, data) { console.log('下载完成'); });
|
455 | console.log('未测试');
|
456 | nettool.upload("http://www.hengshuiac.org/Module/admin/UploadFile.x?crossDomain=1", '/Users/baibing/Downloads/公章.jpg').then(function(data) {
|
457 | console.log('上传完成' + data);
|
458 | });
|
459 | }
|
460 | const test12 = function() {
|
461 | /*stream 测试学习
|
462 | V.ArrayStream = function(args){
|
463 | var _ = this,__={};
|
464 | stream.Readable.call(this,args);
|
465 | stream.Writeable.call(this,args);
|
466 | _.datas = [];
|
467 | };
|
468 | U.inherit(V.ArrayStream,stream.Readable);
|
469 | U.inherit(V.ArrayStream,stream.Writeable);
|
470 | V.ArrayStream.prototype._read = function () {
|
471 | var i = this._index++;
|
472 | if (i > this._max)
|
473 | this.push(null);
|
474 | else {
|
475 | var str = '' + i;
|
476 | var buf = new Buffer(str, 'ascii');
|
477 | this.push(buf);
|
478 | }
|
479 | }
|
480 | //console.log(require('stream').Duplex.prototype);
|
481 | var ss = [5,4,3,2,1]
|
482 | //console.log(ss.splice(0,10));
|
483 | //console.log(ss.length);
|
484 | console.log(new Array());
|
485 | var s = new Buffer(ss);
|
486 | console.log(s.toJSON().data);
|
487 | //console.log(require('zlib'));*/
|
488 | };
|
489 | const test13 = function() {
|
490 | var C = require('./com/coooders/io/config');
|
491 | var M = require('./com/coooders/bean/middler');
|
492 | var N = require('./com/coooders/db/ni');
|
493 | var V = require('./com/coooders/common/tool');
|
494 | let P = require('./com/coooders/collection/pool');
|
495 | var I = require('./com/coooders/io/tool');
|
496 |
|
497 | //I.createDir('/Users/baibing/a/b/c/d');
|
498 | //console.log(new P.pool());
|
499 | //console.log(require('/Users/baibing/work/cv_zc/gcl/com/coooders/io/log.js'));
|
500 | //C.getBaseConfigManager().then(conf => console.log(conf));
|
501 | C.getApplicationConfigManager().then(cm => {
|
502 | /*
|
503 | console.log(cm.getConfigValue('AppSettings', 'b'));
|
504 | var m = new M.Middler(cm);
|
505 |
|
506 | let v = m.getObjectByAppName('VESH.view', 'Logger');
|
507 | console.log(v);
|
508 | v.release(" test ");
|
509 | //console.log(v);
|
510 | v.error("我靠是真的吗? test ");
|
511 | V.watch();
|
512 | V.once(() => {
|
513 | v.release(" test 111");
|
514 | V.watch();
|
515 | console.log(new Date().toString('HH:mm:ss'));
|
516 | }, 4756);
|
517 | m.setObjectByAppName('VESH.view', 'Logger', v);
|
518 |
|
519 | C.getApplicationConfigManager().then((cm) => {});
|
520 | */
|
521 | });
|
522 | /*C.getBaseConfigManager((err,cm)=>{
|
523 | console.log(222);
|
524 | console.log(cm);
|
525 | })
|
526 |
|
527 |
|
528 | /*middler*/
|
529 | /*ni*/
|
530 | //var I = require('./com/coooders/io/log');
|
531 | //证明middler框架正式可用
|
532 | //证明slice复制可用 var ss = function(){console.log(Array.prototype.slice.apply(arguments,[0,arguments.length]));};
|
533 |
|
534 | const fa = class {
|
535 | constructor(a, b, c) {
|
536 | this.a = c;
|
537 | }
|
538 | test1() {
|
539 | console.log(this.a);
|
540 | }
|
541 | };
|
542 |
|
543 | const son = class extends fa {
|
544 | constructor(c) {
|
545 | super('aaa', 'bbb', c);
|
546 | }
|
547 | }
|
548 |
|
549 | console.log(new son());
|
550 | console.log(V.create(fa, ['aa', 'bb', '11']));
|
551 | console.log(V.create2(fa, ['aa', 'bb', '11']));
|
552 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
553 | //C.getApplicationConfigManager().then((cm) => {
|
554 | console.log(C.AppSettings(cm, 'b'));
|
555 | var m = new M.Middler(cm);
|
556 |
|
557 | const v = m.getObjectByAppName('VESH.view', 'Logger');
|
558 | //v.error('333 test ');
|
559 | //v.error("我靠是真的吗? test ");
|
560 | //V.watch();
|
561 | //V.once(()=>{v.release(" test 111");V.watch();console.log(new Date().toString('HH:mm:ss'));},4756);
|
562 | m.setObjectByAppName('VESH.view', 'Logger', v);
|
563 |
|
564 | /*
|
565 | console.log(m.getObjectByAppName('VESH.view','Logger2'));
|
566 | return;
|
567 | */
|
568 | /*
|
569 | const M2 = require('mysql');
|
570 | const conn = M2.createConnection({
|
571 | host: '192.168.1.116',
|
572 | user: 'root2',
|
573 | password: '111111',
|
574 | database: 'cv_zc',
|
575 | port: 3306,
|
576 | charset: 'UTF8_GENERAL_CI',
|
577 | connectTimeout: 60000
|
578 | });
|
579 | conn.connect(() => {
|
580 | console.log(333);
|
581 |
|
582 | });
|
583 | //conn.end();
|
584 |
|
585 | conn.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
|
586 | if (err) throw err;
|
587 | console.log('The solution is: ', rows[0].solution);
|
588 |
|
589 | });
|
590 | conn.end();
|
591 | * /
|
592 | var temp = m.getObjectByAppName('Ni', 'template1');
|
593 | console.log(temp);
|
594 | temp.excute('ajaxtest11', { limit1: 11 }).then((result) => {
|
595 | console.log(333);
|
596 | console.log(result);
|
597 | if (result.hasData())
|
598 | console.log(result.last()[0][0]);
|
599 | });
|
600 | const temp2 = m.getObjectByAppName("Ni", "template");
|
601 | temp2.excute('ajaxtest33', { data: 'ni test ' }).then(result => {
|
602 | console.log(555);
|
603 | console.log(result.last());
|
604 | });
|
605 |
|
606 | mongo mem decarator*/
|
607 | const res = new N.NiDataResult();
|
608 | res.add([
|
609 | [],
|
610 | null, [{
|
611 | affected: 0
|
612 | }, {}]
|
613 | ], 0);
|
614 | console.log('hasData', res.hasData());
|
615 | const temp = m.getObjectByAppName('Ni', 'template1');
|
616 | temp.excute('module.gettest', {
|
617 | id: '11',
|
618 | name: '2222'
|
619 | }).then(ret => {
|
620 | if (ret.hasData())
|
621 | console.log(ret.last());
|
622 | ret.clear();
|
623 | temp.excute('module.gettest', {
|
624 | id: '11',
|
625 | name: '2222'
|
626 | }).then(ret => {
|
627 | if (ret.hasData())
|
628 | console.log(ret.last());
|
629 | ret.clear();
|
630 | }).catch(e => {
|
631 | console.log(e.message);
|
632 | });
|
633 | }).catch(e => {
|
634 | console.log(e.message);
|
635 | });
|
636 | /*
|
637 | const temp = m.getObjectByAppName('Ni', 'template6');
|
638 | temp.excute('url.test', { args: { productSerialNo: '124', orderId: '222' } }).then(ret => {
|
639 | if (ret.hasData())
|
640 | console.log(ret.last()[0][0]);
|
641 | }).catch(e => {
|
642 | console.log(e.message);
|
643 | });
|
644 | /*const temp = m.getObjectByAppName('Ni', 'template2');
|
645 | temp.excute('ajaxtest22', { limit1: 11 }).then(ret => {
|
646 | console.log(ret);
|
647 | if (ret.hasData())
|
648 | console.log(ret.last()[0][0]);
|
649 | }).catch(e => {
|
650 | console.log(e.message);
|
651 | });
|
652 | //参数化 存储过程 out参数 缓存
|
653 | /*
|
654 | var temp = m.getObjectByAppName('Ni', 'template');
|
655 | V.next((data, next) => {
|
656 | temp.excute('ajaxtest77', { limit1: 10, a: 15 }).then(result => {
|
657 | console.log(result.last());
|
658 | next();
|
659 | });
|
660 | }, (data, next) => {
|
661 | temp.excute('ajaxtest44', { limit1: 10, a: 15, cacheValue: '3332' }).then(result => {
|
662 | console.log(result.last());
|
663 | next();
|
664 | });
|
665 | }, (data, next) => {
|
666 | temp.excute('ajaxtest66', { limit1: 10, a: 15, cacheValue: '3334' }).then(result => {
|
667 | console.log(result.last());
|
668 | next();
|
669 | });
|
670 | }, (data, next) => {
|
671 | temp.excute('ajaxtest55', { limit1: 10, a: 15 }).then(result => {
|
672 | console.log(result.last());
|
673 | next();
|
674 | m.setObjectByAppName('Ni', 'template', temp);
|
675 | console.log('end');
|
676 | });
|
677 | });
|
678 | /*
|
679 | var manager = m.getObjectByAppName('Ni','templatemanager');
|
680 | manager.excute('template','ajaxtest33',{limit1:2},(err,result)=>{
|
681 | if(result.hasData())
|
682 | console.log(result.last());
|
683 | });*/
|
684 | /*
|
685 | var no = require('./com/coooders/db/nosql');
|
686 | var sql = new no.NoSQLParser('?');
|
687 | //var ret = sql.parse('update abc<a> set a=?a where a>?a and b<?b and c=?d and d=?d or (d>=4 or not e=5) order by a desc skip 10 limit 10',{a:1,b:2,c:3,d:4});
|
688 | //var ret = sql.parse('insert into abc<a> values(?a)', { a: 1, b: 2, c: 3, d: 4 });
|
689 | //var ret = sql.parse('abc<a>.select(*).where(a>?a and b<?b and c=?d and d=?d and (a<?b))', { a: 1, b: 2, c: 3, d: 4 });
|
690 | //console.log(ret);
|
691 | //ar ret = sql.parse('abc<a>.update(a=?a,b=3).where(e=5 and c=?a).skip(10).order(a desc).limit(10)', { a: 1, b: 2, c: 3, d: 4 });
|
692 | //console.log(ret);
|
693 | //ret = sql.parse('abc<a>.select(*).where(e=?a)', { a: 1, e: 2 });
|
694 | //console.log(ret[0]);
|
695 | ret = sql.parse('delete from abc<a> where a>?a and b<?b and c=?d and d=?d or (d>=4 or not e=5) order by a desc skip 10 limit 10', { a: 4, b: 3, c: 2, d: 1 });
|
696 | console.log(ret[0]);*/
|
697 | });
|
698 | };
|
699 | const test14 = function() {
|
700 |
|
701 | var M1 = require('./com/coooders/module/tool');
|
702 | console.log(M1.tcd(22, 112));
|
703 | console.log(M1.gcd(22, 112));
|
704 | /*
|
705 | var CryptoJS = require('crypto-js');
|
706 | var JsonFormatter = {
|
707 | stringify: function (cipherParams) {
|
708 | // create json object with ciphertext
|
709 | console.log(cipherParams.ciphertext);
|
710 | var jsonObj = {
|
711 | ct: cipherParams.ciphertext.toString(CryptoJS.enc.Base64)
|
712 | };
|
713 |
|
714 | // optionally add iv and salt
|
715 | if (cipherParams.iv) {
|
716 | jsonObj.iv = cipherParams.iv.toString();
|
717 | }
|
718 | if (cipherParams.salt) {
|
719 | jsonObj.s = cipherParams.salt.toString();
|
720 | }
|
721 |
|
722 | // stringify json object
|
723 | return JSON.stringify(jsonObj);
|
724 | },
|
725 |
|
726 | parse: function (jsonStr) {
|
727 | // parse json string
|
728 | var jsonObj = JSON.parse(jsonStr);
|
729 |
|
730 | // extract ciphertext from json object, and create cipher params object
|
731 | var cipherParams = CryptoJS.lib.CipherParams.create({
|
732 | ciphertext: CryptoJS.enc.Base64.parse(jsonObj.ct)
|
733 | });
|
734 |
|
735 | // optionally extract iv and salt
|
736 | if (jsonObj.iv) {
|
737 | cipherParams.iv = CryptoJS.enc.Hex.parse(jsonObj.iv)
|
738 | }
|
739 | if (jsonObj.s) {
|
740 | cipherParams.salt = CryptoJS.enc.Hex.parse(jsonObj.s)
|
741 | }
|
742 |
|
743 | return cipherParams;
|
744 | }
|
745 | };
|
746 |
|
747 | var ss = new GCL.Module.DESXcrypt("dQ69muDQO5Xq2I0Q2278+ZTKq/JnecDk", "wjG3Vwmk34U=");
|
748 | var word = ss.Encrypt("abc");
|
749 | Console.WriteLine(word);//36E8tNE6Yzg= 36E8tNE6Yzg=
|
750 | CryptoJS.enc.Base64.parse('dQ69muDQO5Xq2I0Q2278+ZTKq/JnecDk')
|
751 | CryptoJS.enc.Base64.parse('wjG3Vwmk34U=')
|
752 |
|
753 | var data = CryptoJS.enc.Base64.parse('dQ69muDQO5Xq2I0Q2278+ZTKq/JnecDk');
|
754 | console.log(CryptoJS.enc.Base64.stringify(data));
|
755 | var encrypted = CryptoJS.algo.TripleDES.createEncryptor(CryptoJS.enc.Base64.parse('dQ69muDQO5Xq2I0Q2278+ZTKq/JnecDk'), { iv:CryptoJS.enc.Base64.parse('wjG3Vwmk34U='), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7});
|
756 | var decrypted = CryptoJS.algo.TripleDES.createDecryptor(CryptoJS.enc.Base64.parse('dQ69muDQO5Xq2I0Q2278+ZTKq/JnecDk'), { iv:CryptoJS.enc.Base64.parse('wjG3Vwmk34U='), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7});
|
757 | //encrypted.process("abc");
|
758 | //var encrypted = CryptoJS.TripleDES.encrypt(CryptoJS.enc.Utf8.parse('abc'), CryptoJS.enc.Base64.parse('dQ69muDQO5Xq2I0Q2278+ZTKq/JnecDk'), { iv:CryptoJS.enc.Base64.parse('wjG3Vwmk34U='), mode: CryptoJS.mode.CFB, padding: CryptoJS.pad.Pkcs7, format: JsonFormatter });
|
759 | var ret = encrypted.finalize(CryptoJS.enc.Utf8.parse("abc"));
|
760 | console.log(ret.toString(CryptoJS.enc.Base64));
|
761 | decrypted.process(CryptoJS.enc.Base64.parse(ret.toString(CryptoJS.enc.Base64)));
|
762 | console.log(decrypted.finalize().toString(CryptoJS.enc.Utf8));*/
|
763 | var enc = require('./com/coooders/module/des3xcrypt');
|
764 | var encrypt = new enc.des3xcrypt("9Xd4M/3bHkhdXXutImJiS4oPuV6UUxvy", "+e/runweeTA="); //new enc.des3xcrypt("dQ69muDQO5Xq2I0Q2278+ZTKq/JnecDk", "wjG3Vwmk34U=");
|
765 | console.log(encrypt.encrypt("abc"));
|
766 | console.log(encrypt.encrypt("abc"));
|
767 | console.log(encrypt.decrypt("7N1frV26vgE="));
|
768 | console.log(encrypt.decrypt("7N1frV26vgE="));
|
769 | console.log(enc.createKey());
|
770 | console.log(enc.createIV());
|
771 |
|
772 | /*资料较少暂时取消未找到des3-ECB 选项
|
773 | var crypto = require('crypto');
|
774 | var hash = crypto.createHash('sha1');
|
775 | console.log(hash.update('aadvdfd').digest('base64'));
|
776 | var cipher = crypto.createCipheriv('des3', new Buffer("dQ69muDQO5Xq2I0Q2278+ZTKq/JnecDk","base64"), new Buffer("wjG3Vwmk34U=","base64"));
|
777 | cipher.setAutoPadding(true);
|
778 | console.log(cipher.update("abc", "utf8", "base64")+cipher.final("base64"));
|
779 | */
|
780 | };
|
781 | const test15 = function() {
|
782 | /*
|
783 | let range = (n) => n > 0 ? range(n - 1).concat([n - 1]) : [];
|
784 | console.log(range(5));
|
785 | let c = function(lst, m) {
|
786 | if (m == 1) return lst;
|
787 | else {
|
788 | var ret = [];
|
789 | for (let i in lst) {
|
790 | var tlst = Array.prototype.slice.apply(lst, [0]);
|
791 | tlst.splice(i);
|
792 | for (let w of c(tlst, m - 1)) {
|
793 | //console.log(w);
|
794 | ret[ret.length] = [lst[i]].concat(w);
|
795 | }
|
796 | }
|
797 | return ret;
|
798 | }
|
799 | };
|
800 | /*
|
801 | 0 1 2
|
802 | 0 1 3
|
803 | 0 1 4
|
804 | 0 2 3
|
805 | 0 2 4
|
806 | 0 3 4
|
807 | 1 2 3
|
808 | 1 2 4
|
809 | 1 3 4
|
810 | 2 3 4
|
811 | * /
|
812 | let p = (lst, m) => {
|
813 | if (m == 1) return lst;
|
814 | else {
|
815 | var ret = [];
|
816 | for (let i in lst) {
|
817 | var tlst = Array.prototype.slice.apply(lst, [0]);
|
818 | tlst.splice(i, 1);
|
819 | for (let w of p(tlst, m - 1)) {
|
820 | //console.log(w);
|
821 | ret[ret.length] = [lst[i]].concat(w);
|
822 | }
|
823 | }
|
824 | return ret;
|
825 | }
|
826 | };
|
827 | console.log(c(range(5), 3));
|
828 | console.log(p(range(5), 3));
|
829 | */
|
830 | };
|
831 | const test19 = function() {
|
832 | const I = require('./com/coooders/io/log');
|
833 | console.log(new I.LogRecord().clone());
|
834 | }
|
835 | const test20 = function() {
|
836 | var C = require('./com/coooders/io/config');
|
837 | var M = require('./com/coooders/bean/middler');
|
838 | var V = require('./com/coooders/common/tool');
|
839 | let P = require('./com/coooders/collection/pool');
|
840 | var I = require('./com/coooders/io/tool');
|
841 | var M2 = require('./com/coooders/net/mime');
|
842 |
|
843 | //I.createDir('/Users/baibing/a/b/c/d');
|
844 | //console.log(new P.pool());
|
845 | //console.log(require('/Users/baibing/work/cv_zc/gcl/com/coooders/io/log.js'));
|
846 | //C.getBaseConfigManager().then(conf => console.log(conf));
|
847 | C.getApplicationConfigManager().then(cm => {
|
848 | var Middler = new M.Middler(cm);
|
849 | var temp = Middler.getObjectByAppName('Ni', 'template7');
|
850 | temp.excute('', {
|
851 | text2: '如上内容请引起注意:2232222', // text of the email
|
852 | from: 'system@mx.its-cn.com', //'26342049@qq.com', //'system@mx.its-cn.com', // sender of the format (address or name <address> or "name" <address>)
|
853 | to: 'baibing0004@sohu.com', // recipients (same format as above), multiple recipients are separated by a comma
|
854 | cc: '', // carbon copied recipients (same format as above)
|
855 | bcc: '', // blind carbon copied recipients (same format as above)
|
856 | subject: '白冰请注意情况2', // string subject of the email
|
857 | attachment: [{
|
858 | data: "<html><body>错误的信息:请注意消息格式!\r\n</body></html>",
|
859 | alternative: true
|
860 | },
|
861 | {
|
862 | path: "/Users/baibing/Downloads/福岛核辐射.jpg",
|
863 | type: M2.get("福岛核辐射2.jpg"),
|
864 | name: "福岛核辐射2.jpg"
|
865 | }
|
866 | ]
|
867 | // one attachment or array of attachments
|
868 | }).then(ret => {
|
869 | console.log(ret.last());
|
870 | Middler.setObjectByAppName('Ni', 'template7', temp);
|
871 | })
|
872 | });
|
873 | }
|
874 |
|
875 | const test21 = function() {
|
876 | var C = require('./com/coooders/module/cron');
|
877 | const c2 = new C.Cron('0/5 26,29,33 0 * * 2#2'); //26,29,33 0/5 2#1
|
878 | //todo 有重载
|
879 | var date = new Date();
|
880 | for (let i = 0; i < 10; i++) {
|
881 | date = c2.next(date);
|
882 | console.log(date.toString('yyyy-MM-dd HH:mm:ss'));
|
883 | }
|
884 | console.log('isEnd');
|
885 | }
|
886 | const test22 = function() {
|
887 | var V = require('./com/coooders/common/tool');
|
888 | console.log(V.merge({
|
889 | a: 1
|
890 | }, {
|
891 | b: null
|
892 | }, {
|
893 | c: 0
|
894 | }, {
|
895 | d: undefined
|
896 | }));
|
897 | };
|
898 | const test23 = function() {
|
899 | var C = require('./com/coooders/io/config');
|
900 | var M = require('./com/coooders/bean/middler');
|
901 | var N = require('./com/coooders/db/ni');
|
902 | var V = require('./com/coooders/common/tool');
|
903 | let P = require('./com/coooders/collection/pool');
|
904 | var I = require('./com/coooders/io/tool');
|
905 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
906 | const m = new M.Middler(cm);
|
907 | const temp = m.getObjectByAppName('Ni', 'template1');
|
908 | temp.excute('module.gettest2', {}).then(ret => {
|
909 | if (ret.hasData()) {
|
910 | console.log(ret.last());
|
911 | }
|
912 | console.log('ok');
|
913 | ret.clear();
|
914 | }).catch(e => {
|
915 | console.log(e.message);
|
916 | });
|
917 | });
|
918 | };
|
919 | const test24 = function() {
|
920 | var C = require('./com/coooders/io/config');
|
921 | var M = require('./com/coooders/bean/middler');
|
922 | var N = require('./com/coooders/db/ni');
|
923 | var V = require('./com/coooders/common/tool');
|
924 | let P = require('./com/coooders/collection/pool');
|
925 | var I = require('./com/coooders/io/tool');
|
926 | C.getApplicationConfigManagerFromDirSync('./Ni');
|
927 | // .then((cm) => {
|
928 | // const m = new M.Middler(cm);
|
929 | // console.log(m);
|
930 | // process.exit();
|
931 | // });
|
932 | };
|
933 |
|
934 | const test25 = function() {
|
935 | var C = require('./com/coooders/io/config');
|
936 | var M = require('./com/coooders/bean/middler');
|
937 | var N = require('./com/coooders/db/ni');
|
938 | var V = require('./com/coooders/common/tool');
|
939 | let P = require('./com/coooders/collection/pool');
|
940 | var I = require('./com/coooders/io/tool');
|
941 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
942 | const m = new M.Middler(cm);
|
943 | const temp = m.getObjectByAppName('Ni', 'template9');
|
944 | temp.excute('redishashselect', {
|
945 | "mv": "m",
|
946 | "aa": "aav"
|
947 | }).then(ret => {
|
948 | if (ret.hasData()) {
|
949 | console.log("ret", ret.last());
|
950 | }
|
951 | console.log('ok');
|
952 | ret.clear();
|
953 | }).catch(e => {
|
954 | console.log(e.message);
|
955 | });
|
956 | });
|
957 | };
|
958 |
|
959 | const test26 = function() {
|
960 | var C = require('./com/coooders/io/config');
|
961 | var M = require('./com/coooders/bean/middler');
|
962 | var N = require('./com/coooders/db/ni');
|
963 | var V = require('./com/coooders/common/tool');
|
964 | let P = require('./com/coooders/collection/pool');
|
965 | var I = require('./com/coooders/io/tool');
|
966 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
967 | const m = new M.Middler(cm);
|
968 | const temp = m.getObjectByAppName('Ni', 'template10');
|
969 | temp.excute('redisinsert', {
|
970 | "mv": "m",
|
971 | "aa": "aav",
|
972 | "bb": "bbv"
|
973 | }).then(ret => {
|
974 | if (ret.hasData()) {
|
975 | console.log(ret.last());
|
976 | }
|
977 | console.log('ok');
|
978 | ret.clear();
|
979 | }).catch(e => {
|
980 | console.log(e.message);
|
981 | });
|
982 | });
|
983 | };
|
984 | const test27 = function() {
|
985 | var C = require('./com/coooders/io/config');
|
986 | var M = require('./com/coooders/bean/middler');
|
987 | var N = require('./com/coooders/db/ni');
|
988 | var V = require('./com/coooders/common/tool');
|
989 | let P = require('./com/coooders/collection/pool');
|
990 | var I = require('./com/coooders/io/tool');
|
991 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
992 | const m = new M.Middler(cm);
|
993 | const temp = m.getObjectByAppName('Ni', 'template10');
|
994 | temp.excute('redisselect', {
|
995 | "mv": "m",
|
996 | "aa": "aav"
|
997 | }).then(ret => {
|
998 | if (ret.hasData()) {
|
999 | console.log("ret", ret.last());
|
1000 | }
|
1001 | console.log(ret);
|
1002 | console.log('ok');
|
1003 | ret.clear();
|
1004 | }).catch(e => {
|
1005 | console.log(e.message);
|
1006 | });
|
1007 | });
|
1008 | };
|
1009 |
|
1010 | const test28 = function() {
|
1011 | var C = require('./com/coooders/io/config');
|
1012 | var M = require('./com/coooders/bean/middler');
|
1013 | var N = require('./com/coooders/db/ni');
|
1014 | var V = require('./com/coooders/common/tool');
|
1015 | let P = require('./com/coooders/collection/pool');
|
1016 | var I = require('./com/coooders/io/tool');
|
1017 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
1018 | const m = new M.Middler(cm);
|
1019 | const temp = m.getObjectByAppName('Ni', 'template11');
|
1020 |
|
1021 |
|
1022 | var ret = temp.excute('soaptest', {
|
1023 | code: "378066960462",
|
1024 | imei: "646346484664645"
|
1025 |
|
1026 | });
|
1027 |
|
1028 | if (ret) {
|
1029 | console.log("ret", ret.last()[0]);
|
1030 | }
|
1031 |
|
1032 | // temp.excute('soaptest', {
|
1033 | // code: "378023249405",
|
1034 | // imei: "100100100100"
|
1035 |
|
1036 | // }).then(ret => {
|
1037 | // if (ret.hasData()) {
|
1038 | // console.log("ret", ret.last()[0]);
|
1039 | // // console.log(ret.last()[0]["CsoListModel"]);
|
1040 | // // console.log(ret.last()[0]["LogisticsVendors"]["LogisticsVendorModel"][0]);
|
1041 | // }
|
1042 | // ret.clear();
|
1043 | // }).catch(e => {
|
1044 | // console.log(e.message);
|
1045 | // });
|
1046 |
|
1047 | });
|
1048 | };
|
1049 |
|
1050 | const test29 = function() {
|
1051 | var C = require('./com/coooders/io/config');
|
1052 | var M = require('./com/coooders/bean/middler');
|
1053 | var N = require('./com/coooders/db/ni');
|
1054 | var V = require('./com/coooders/common/tool');
|
1055 | let P = require('./com/coooders/collection/pool');
|
1056 | var I = require('./com/coooders/io/tool');
|
1057 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
1058 | const m = new M.Middler(cm);
|
1059 | var d = new Date();
|
1060 | console.log(d.getMinutes(), d.getSeconds(), d.getMilliseconds());
|
1061 |
|
1062 | const temp = m.getObjectByAppName('Ni', 'template10');
|
1063 | temp.excute('redistransinsert', {
|
1064 | "mv": "m",
|
1065 | "aa": "aav",
|
1066 | "bb": "bbv",
|
1067 | "mv2": "m",
|
1068 | "aa2": "aav",
|
1069 | "bb2": "bbv"
|
1070 | }).then(ret => {
|
1071 | if (ret.hasData()) {
|
1072 | console.log(ret.last());
|
1073 | }
|
1074 | console.log('ok');
|
1075 | ret.clear();
|
1076 | }).catch(e => {
|
1077 | console.log(e.message);
|
1078 | });
|
1079 |
|
1080 | // temp.excute('redisinsert', {
|
1081 | // "mv": "m",
|
1082 | // "aa": "aav",
|
1083 | // "bb": "bbv"
|
1084 | // }).then(ret => {
|
1085 | // if (ret.hasData()) {
|
1086 | // console.log(ret.last());
|
1087 | // }
|
1088 | // console.log('ok');
|
1089 | // ret.clear();
|
1090 | // console.log(d.getMinutes(), d.getSeconds(), d.getMilliseconds());
|
1091 | // }).catch(e => {
|
1092 | // console.log(e.message);
|
1093 | // });
|
1094 |
|
1095 |
|
1096 | });
|
1097 | };
|
1098 |
|
1099 | const test30 = function() {
|
1100 | var C = require('./com/coooders/io/config');
|
1101 | var M = require('./com/coooders/bean/middler');
|
1102 | var N = require('./com/coooders/db/ni');
|
1103 | var V = require('./com/coooders/common/tool');
|
1104 | let P = require('./com/coooders/collection/pool');
|
1105 | var I = require('./com/coooders/io/tool');
|
1106 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
1107 | const m = new M.Middler(cm);
|
1108 | var d = new Date();
|
1109 | console.log(d.getMinutes(), d.getSeconds(), d.getMilliseconds());
|
1110 |
|
1111 | const temp = m.getObjectByAppName('Ni', 'template10');
|
1112 | temp.excute('redistransselect', {
|
1113 | "mv": "m",
|
1114 | "mv2": "m2",
|
1115 | }).then(ret => {
|
1116 | if (ret.hasData()) {
|
1117 | console.log(ret.last());
|
1118 | }
|
1119 | console.log('ok');
|
1120 | ret.clear();
|
1121 | }).catch(e => {
|
1122 | console.log(e.message);
|
1123 | });
|
1124 |
|
1125 | // temp.excute('redisinsert', {
|
1126 | // "mv": "m",
|
1127 | // "aa": "aav",
|
1128 | // "bb": "bbv"
|
1129 | // }).then(ret => {
|
1130 | // if (ret.hasData()) {
|
1131 | // console.log(ret.last());
|
1132 | // }
|
1133 | // console.log('ok');
|
1134 | // ret.clear();
|
1135 | // console.log(d.getMinutes(), d.getSeconds(), d.getMilliseconds());
|
1136 | // }).catch(e => {
|
1137 | // console.log(e.message);
|
1138 | // });
|
1139 |
|
1140 |
|
1141 | });
|
1142 | };
|
1143 |
|
1144 | //test23();
|
1145 | const test31 = function() {
|
1146 | var V = require('./index');
|
1147 | console.log(V);
|
1148 | console.log('&a=1&b=&'.trim('&'));
|
1149 | };
|
1150 | //test31();
|
1151 | const test32 = function() {
|
1152 | var V = require('./com/coooders/module/cron');
|
1153 | const c = new V.Cron('0 0 0,4 * * ?');
|
1154 | for (var i = 0, dt = new Date(); i < 4; i++) {
|
1155 | dt = c.next(dt);
|
1156 | console.log(dt.toString('yyyy-MM-dd HH:mm:ss'));
|
1157 |
|
1158 | }
|
1159 | };
|
1160 | const test33 = function() {
|
1161 | var V = require('./index');
|
1162 | //pri方式的确可以继承父类的私有方法,类似实现了protected关键词,但是限制同一个文件,且旧函数中仍然引用旧的对象。
|
1163 | new V.Net.test333().test();
|
1164 | };
|
1165 | const test34 = function() {
|
1166 | var V = require('./index');
|
1167 | //pri方式的确可以继承父类的私有方法,类似实现了protected关键词,但是限制同一个文件,且旧函数中仍然引用旧的对象。
|
1168 | V.Net.post('https://c1.blueblue.cc/api2/getProducts.string', {
|
1169 | "PageIndex": "0",
|
1170 | "PageSize": "10",
|
1171 | "status": "1",
|
1172 | "sessionID": "8900bd95f1340d1cd0a537249d835eb7"
|
1173 | }).then(function(ret) { console.log(ret); });
|
1174 | return false;
|
1175 | };
|
1176 |
|
1177 | const test35 = function() {
|
1178 | var V = require('./index');
|
1179 | const data = [];
|
1180 | for (var i = 0; i < 50000; i++) data[data.length] = i;
|
1181 | let count = data.length;
|
1182 | V.each(data, function(v, call) {
|
1183 | console.log(v);
|
1184 | count--;
|
1185 | //if (count == 2332) throw new Error('2222');
|
1186 | V.once(call, 100 * Math.random());
|
1187 | }, 1000).then(function() {
|
1188 | console.log(count);
|
1189 | }).catch(function(e) {
|
1190 | console.log(e.stack);
|
1191 | })
|
1192 | };
|
1193 | const test36 = function() {
|
1194 | var C = require('./com/coooders/io/config');
|
1195 | var M = require('./com/coooders/bean/middler');
|
1196 | var N = require('./com/coooders/db/ni');
|
1197 | var V = require('./com/coooders/common/tool');
|
1198 | let P = require('./com/coooders/collection/pool');
|
1199 | var I = require('./com/coooders/io/tool');
|
1200 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
1201 | const m = new M.Middler(cm);
|
1202 | /*const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1203 | temp.excute('redis.inserts', {
|
1204 | "key": "s_test2",
|
1205 | "value": V.toJsonString({id:(+new Date())})
|
1206 | }).then(ret => {
|
1207 | if (ret.hasData()) {
|
1208 | console.log("ret", ret.last());
|
1209 | }
|
1210 | console.log(ret);
|
1211 | console.log('ok');
|
1212 | ret.clear();
|
1213 | }).catch(e => {
|
1214 | console.log(e.message);
|
1215 | });*/
|
1216 | /*
|
1217 | const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1218 | temp.excute('redis.selects', {
|
1219 | "key": "test1",
|
1220 | "value": "test"
|
1221 | }).then(ret => {
|
1222 | if (ret.hasData()) {
|
1223 | console.log("ret", ret.last());
|
1224 | }
|
1225 | console.log(ret);
|
1226 | console.log('ok');
|
1227 | ret.clear();
|
1228 | }).catch(e => {
|
1229 | console.log(e.message);
|
1230 | });*/
|
1231 | /*const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1232 | temp.excute('redis.deletes', {
|
1233 | "key": "test2",
|
1234 | "value": "test"
|
1235 | }).then(ret => {
|
1236 | if (ret.hasData()) {
|
1237 | console.log("ret", ret.last());
|
1238 | }
|
1239 | console.log(ret);
|
1240 | console.log('ok');
|
1241 | ret.clear();
|
1242 | }).catch(e => {
|
1243 | console.log(e.message);
|
1244 | });*/
|
1245 | /*
|
1246 | const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1247 | temp.excute('redis.inserth', {
|
1248 | "key": "test3",
|
1249 | "value": V.toJsonString({ a: 44, b: 5, id: '356455' })
|
1250 | }).then(ret => {
|
1251 | if (ret.hasData()) {
|
1252 | console.log("ret", ret.last());
|
1253 | }
|
1254 | console.log('ok');
|
1255 | ret.clear();
|
1256 | }).catch(e => {
|
1257 | console.log(e.message);
|
1258 | });
|
1259 | temp.excute('redis.expire', {
|
1260 | "_datetime": 20000,
|
1261 | "datetime": 300000
|
1262 | }).then(ret => {
|
1263 | if (ret.hasData()) {
|
1264 | console.log("redis.expire", ret.last());
|
1265 | }
|
1266 | console.log('ok');
|
1267 | ret.clear();
|
1268 | }).catch(e => {
|
1269 | console.log(e.message);
|
1270 | });*/
|
1271 | // const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1272 |
|
1273 | // temp.excute('redis.getdbs', {
|
1274 | // "key": "htest2",
|
1275 | // "value": V.toJsonString({ a: "a", b: 5, id: '356455' })
|
1276 | // }).then(ret => {
|
1277 | // if (ret.hasData()) {
|
1278 | // console.log("ret", ret.last());
|
1279 | // }
|
1280 | // console.log(ret.single());
|
1281 | // console.log('ok');
|
1282 | // ret.clear();
|
1283 | // }).catch(e => {
|
1284 | // console.log(e.message);
|
1285 | // });
|
1286 | //const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1287 | /**
|
1288 | *
|
1289 | * @desc 扣减库存Lua脚本
|
1290 | * 库存(stock)-1:表示不限库存
|
1291 | * 库存(stock)0:表示没有库存
|
1292 | * 库存(stock)大于0:表示剩余库存
|
1293 | *
|
1294 | * @params 库存key
|
1295 | * @return
|
1296 | * 0:库存不足
|
1297 | * -1:库存未初始化
|
1298 | * 大于0:剩余库存(扣减之前剩余的库存)
|
1299 | * redis缓存的库存(value)是-1表示不限库存,直接返回1
|
1300 | */
|
1301 | // temp.excute('redis.hngcrby', {
|
1302 | // "ID": "htest2",
|
1303 | // "_value": 8
|
1304 | // }).then(ret => {
|
1305 | // if (ret.hasData()) {
|
1306 | // console.log("ret", ret.last());
|
1307 | // }
|
1308 | // console.log(ret.single());
|
1309 | // console.log('ok');
|
1310 | // ret.clear();
|
1311 | // }).catch(e => {
|
1312 | // console.log(e.message);
|
1313 | // });
|
1314 | /*
|
1315 | const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1316 | temp.excute('redis.deleteh', {
|
1317 | "key": "htest2",
|
1318 | "value": V.toJsonString({a:"aa",b:55,id:(+new Date())})
|
1319 | }).then(ret => {
|
1320 | if (ret.hasData()) {
|
1321 | console.log("ret", ret.last());
|
1322 | }
|
1323 | console.log(ret);
|
1324 | console.log('ok');
|
1325 | ret.clear();
|
1326 | }).catch(e => {
|
1327 | console.log(e.message);
|
1328 | });*/
|
1329 | const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1330 | temp.excute('redis.insertz', {
|
1331 | "key": V.toJsonString({ a: "aa", b: 11, id: (+new Date()) }),
|
1332 | "score": 0 //parseInt(Math.random() * 100)
|
1333 | }).then(ret => {
|
1334 | if (ret.hasData()) {
|
1335 | console.log("ret", ret.last());
|
1336 | }
|
1337 | console.log(ret);
|
1338 | console.log('1338 ok');
|
1339 | ret.clear();
|
1340 | }).catch(e => {
|
1341 | console.log(1341, e.message);
|
1342 | });
|
1343 |
|
1344 | /*
|
1345 | const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1346 | temp.excute('hkeys value from a<>', {
|
1347 | "key": V.toJsonString({ a: "aa", b: 55, id: (+new Date()) }),
|
1348 | "score": parseInt(Math.random() * 100),
|
1349 | "limit": 2
|
1350 | }).then(ret => {
|
1351 | if (ret.hasData()) {
|
1352 | console.log("ret", ret.last());
|
1353 | }
|
1354 | console.log(ret);
|
1355 | console.log('ok');
|
1356 | ret.clear();
|
1357 | }).catch(e => {
|
1358 | console.log(e.message);
|
1359 | });*/
|
1360 | temp.excute('redis.selectz', {
|
1361 | "key": V.toJsonString({ a: "aa", b: 55, id: (+new Date()) }),
|
1362 | "score": parseInt(Math.random() * 100),
|
1363 | "limits": 3
|
1364 | }).then(ret => {
|
1365 | if (ret.hasData()) {
|
1366 | console.log("ret", ret.single());
|
1367 | }
|
1368 | console.log('1369 ok');
|
1369 | ret.clear();
|
1370 | }).catch(e => {
|
1371 | console.log(1372, e.message);
|
1372 | });
|
1373 | //const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1374 | // temp.excute('redis.deletez', {
|
1375 | // "key": "{\"a\":\"aa\",\"b\":11,\"id\":1587991635544}",
|
1376 | // }).then(ret => {
|
1377 | // if (ret.hasData()) {
|
1378 | // console.log("ret", ret.last());
|
1379 | // }
|
1380 | // console.log(ret);
|
1381 | // console.log('ok');
|
1382 | // ret.clear();
|
1383 | // }).catch(e => {
|
1384 | // console.log(e.message);
|
1385 | // }); //
|
1386 | /*const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1387 | temp.excute('redis.insertl', {
|
1388 | "key": 'dsd'+parseInt((Math.random()*20)),
|
1389 | "score": 1,
|
1390 | "limits":-300
|
1391 | }).then(ret => {
|
1392 | if (ret.hasData()) {
|
1393 | console.log("ret", ret.last());
|
1394 | }
|
1395 | console.log(ret);
|
1396 | console.log('ok');
|
1397 | ret.clear();
|
1398 | }).catch(e => {
|
1399 | console.log(e.message);
|
1400 | });*/
|
1401 | /*const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1402 | temp.excute('redis.selectlpop', {
|
1403 | "key": 'dsd'+parseInt((Math.random()*20)),
|
1404 | "score": 1,
|
1405 | "limits":-300
|
1406 | }).then(ret => {
|
1407 | if (ret.hasData()) {
|
1408 | console.log("ret", ret.last());
|
1409 | }
|
1410 | console.log(ret);
|
1411 | console.log('ok');
|
1412 | ret.clear();
|
1413 | }).catch(e => {
|
1414 | console.log(e.message);
|
1415 | });*/
|
1416 | /*const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1417 | temp.excute('redis.deletel', {
|
1418 | "key": '{"key":"dsd14"}',
|
1419 | "score": 1,
|
1420 | "limits":-300
|
1421 | }).then(ret => {
|
1422 | if (ret.hasData()) {
|
1423 | console.log("ret", ret.last());
|
1424 | }
|
1425 | console.log(ret);
|
1426 | console.log('ok');
|
1427 | ret.clear();
|
1428 | }).catch(e => {
|
1429 | console.log(e.message);
|
1430 | });*/
|
1431 | });
|
1432 | };
|
1433 | const test37 = function() {
|
1434 | var C = require('./com/coooders/io/config');
|
1435 | var M = require('./com/coooders/bean/middler');
|
1436 | var N = require('./com/coooders/db/ni');
|
1437 | var V = require('./com/coooders/common/tool');
|
1438 | let P = require('./com/coooders/collection/pool');
|
1439 | var I = require('./com/coooders/io/tool');
|
1440 | C.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
1441 | const m = new M.Middler(cm);
|
1442 | const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1443 | temp.excute('hkeys from inserth<key>', { key1: '' }).then(ret => {
|
1444 | if (ret.hasData()) {
|
1445 | console.log("ret", ret.last());
|
1446 | }
|
1447 | console.log(ret.single());
|
1448 | console.log('ok');
|
1449 | ret.clear();
|
1450 | }).catch(e => {
|
1451 | console.log(e.message);
|
1452 | });
|
1453 | /*
|
1454 | const temp = m.getObjectByAppName('Ni', 'templateredis');
|
1455 | */
|
1456 | temp.excute('hgets from inserth<key>', { key1: '' }).then(ret => {
|
1457 | if (ret.hasData()) {
|
1458 | console.log("ret", ret.last());
|
1459 | }
|
1460 | console.log(ret.single());
|
1461 | console.log('ok');
|
1462 | ret.clear();
|
1463 | }).catch(e => {
|
1464 | console.log(e.message);
|
1465 | });
|
1466 |
|
1467 | console.log(Object.keys({ a: 1, b: 2 }));
|
1468 |
|
1469 | temp.excute('hmselect from bbb<key>', { key: 'a,aa,aaa' }).then(ret => {
|
1470 | if (ret.hasData()) {
|
1471 | console.log("ret", ret.last());
|
1472 | }
|
1473 | console.log(ret.single());
|
1474 | console.log('ok');
|
1475 | ret.clear();
|
1476 | }).catch(e => {
|
1477 | console.log(e.message);
|
1478 | });
|
1479 |
|
1480 | });
|
1481 | };
|
1482 |
|
1483 | const test38 = function() {
|
1484 | //dddd
|
1485 | //var F = require('fs');
|
1486 | var V = require('./index.js');
|
1487 | /*F.readFile('/Users/baibing/Downloads/004C003B3436510838313531/20190714161615_004C003B3436510838313531', function(e, v) {
|
1488 | if (e) console.log(e.stack);
|
1489 | else console.log(v.toString('utf8'));
|
1490 | });*/
|
1491 | var ss = new V.NoSQLParser();
|
1492 | console.log(V.toJsonString(ss.parse('select * from abc WHERE a=1 AND b=1 and c=2 or (d>4)', {})[0].WhereParam))
|
1493 | };
|
1494 | const test39 = function() {
|
1495 | //dddd
|
1496 | //var F = require('fs');
|
1497 | var V = require('./index.js');
|
1498 | V.getApplicationConfigManagerFromFile(['test.npcf', 'test2.npcf']).then((cm) => {
|
1499 | var m = new V.Middler(cm);
|
1500 | var temp = m.getObjectByAppName('Ni', 'templateredis');
|
1501 | temp.excute('hinsert into abc<ID>(ID,_value) values (?ID,?_value)', { ID: 111, _value: 0 }).then((result) => {
|
1502 | if (result.hasData())
|
1503 | console.log(result.last()[0][0]);
|
1504 | temp.excute('hincrease into abc<ID>(ID,_value) values (?ID,?_value)', { ID: 111, _value: 10 }).catch((e) => { console.log(e) });
|
1505 | });
|
1506 | });
|
1507 | };
|
1508 | const test40 = function() {
|
1509 | var V = require('./index.js');
|
1510 | //实现分布式事务
|
1511 | V.tnext({
|
1512 | g: function(data, next) {
|
1513 | console.log(1);
|
1514 | next();
|
1515 | },
|
1516 | r: function(data, next) {
|
1517 | console.log(21);
|
1518 | next();
|
1519 | }
|
1520 | }, {
|
1521 | g: function(data, next) {
|
1522 | console.log(2);
|
1523 | throw new Error(1526);
|
1524 | next('哈哈哈');
|
1525 | },
|
1526 | r: function(data, next) {
|
1527 | console.log(22);
|
1528 | next();
|
1529 | }
|
1530 | }, {
|
1531 | g: function(data, next) {
|
1532 | console.log(3);
|
1533 | throw new Error(1533);
|
1534 | },
|
1535 | r: function(data, next) {
|
1536 | console.log(23);
|
1537 | next();
|
1538 | }
|
1539 | }).catch(e => {
|
1540 | console.log(1514, e.message);
|
1541 | });
|
1542 | };
|
1543 |
|
1544 | const test41 = function() {
|
1545 | var V = require('./index.js');
|
1546 | V.each([1, 2, 3], function(v) {
|
1547 | V.each([v], (v2, call) => setTimeout(() => { console.log(v2), call(false); }, 500 * v2), true);
|
1548 | return false;
|
1549 | });
|
1550 | };
|
1551 | const test42 = function() {
|
1552 | var V = require('./index.js');
|
1553 | var client = new V.Net.WebClient();
|
1554 | var pro = {
|
1555 | ID: '2f874e097d5e11ea9a1a00163e308174',
|
1556 | key: 'wcmLn2cTh594PoNNGiuG9aQMo7lvFoa3',
|
1557 | iv: 'ukGTXXwK1rM=',
|
1558 | host: 'https://add-uat.elecadd.com',
|
1559 | getSession: '/api/login.string',
|
1560 | uploadfile: '/api/upload.string'
|
1561 | };
|
1562 | pro.crypt = new V.des3xcrypt(pro.key, pro.iv);
|
1563 | var n = 10;
|
1564 | V.whileC(() => n-- || undefined, function() {
|
1565 | return V.callback2(call => {
|
1566 | V.next(function(data, next) {
|
1567 | client.post(pro.host + pro.getSession, {
|
1568 | projectid: pro.ID,
|
1569 | token: pro.crypt.encrypt(V.toJsonString({
|
1570 | time: +new Date
|
1571 | }))
|
1572 | }).then(v => {
|
1573 | data.sessionID = V.json(v).sessionID;
|
1574 | next();
|
1575 | }).catch(next);
|
1576 | }, function(data, next) {
|
1577 | client.upload(pro.host + pro.uploadfile + '?sessionID=' + data.sessionID, '/Users/baibing/Downloads/48862b6bd9812d5320e7cc022fbcac86.webp').then(v => {
|
1578 | data.filepath = V.json(v).data.path;
|
1579 | next();
|
1580 | }).catch(e => console.log(e.message))
|
1581 | }, function(data, next) {
|
1582 | console.log(data);
|
1583 | call();
|
1584 | });
|
1585 | });
|
1586 | }, true);
|
1587 | //client.get('https://www.baidu.com').then(v => console.log(v));
|
1588 | };
|
1589 | const test43 = function() {
|
1590 | var V = require('./index.js');
|
1591 | var i = 10;
|
1592 | V.whileC(() => i-- || null, function() {
|
1593 | console.log(1596);
|
1594 | throw new Error(1597);
|
1595 | }).catch(e => {
|
1596 | console.log(1597);
|
1597 | });
|
1598 | };
|
1599 | test36(); |
\ | No newline at end of file |