正在显示
27 个修改的文件
包含
2502 行增加
和
1593 行删除
.dockerignore
0 → 100644
Dockerfile
0 → 100644
... | ... | @@ -35,17 +35,17 @@ var settings = IoC.create('igloo/settings'); |
35 | 35 | app.boot(function(err) { |
36 | 36 | |
37 | 37 | if (err) { |
38 | - logger.error(err.message); | |
38 | + logger.debug(err.message); | |
39 | 39 | |
40 | 40 | if (settings.showStack) { |
41 | - logger.error(err.stack); | |
41 | + logger.debug(err.stack); | |
42 | 42 | } |
43 | 43 | |
44 | 44 | process.exit(-1); |
45 | 45 | return; |
46 | 46 | } |
47 | 47 | |
48 | - logger.info('app booted'); | |
48 | + logger.debug('app booted'); | |
49 | 49 | |
50 | 50 | }); |
51 | 51 | ... | ... |
... | ... | @@ -2,10 +2,10 @@ |
2 | 2 | |
3 | 3 | var path = require('path'); |
4 | 4 | |
5 | -var parentDir = path.join(__dirname, '..'); | |
5 | +var parentDir = path.join(__dirname, '..', '..'); | |
6 | 6 | var appDir = path.join(parentDir, 'server'); |
7 | 7 | |
8 | -var pkg = require(path.join(parentDir, 'package')); | |
8 | +// var pkg = require(path.join(parentDir, 'package')); | |
9 | 9 | |
10 | 10 | var assetsDir = path.join(parentDir, 'build'); |
11 | 11 | var publicDir = path.join(assetsDir, 'public'); |
... | ... | @@ -18,6 +18,9 @@ exports = module.exports = function () { |
18 | 18 | |
19 | 19 | return { |
20 | 20 | defaults: { |
21 | + hostConfig: { | |
22 | + jincao:[ ], | |
23 | + }, | |
21 | 24 | basicAuth: { |
22 | 25 | enabled: false, |
23 | 26 | name: 'admin', |
... | ... | @@ -38,7 +41,7 @@ exports = module.exports = function () { |
38 | 41 | clientID: '', |
39 | 42 | clientSecret: '' |
40 | 43 | }, |
41 | - pkg: pkg, | |
44 | + // pkg: pkg, | |
42 | 45 | cache: false, |
43 | 46 | showStack: true, |
44 | 47 | assetsDir: assetsDir, |
... | ... | @@ -86,7 +89,7 @@ exports = module.exports = function () { |
86 | 89 | path: '/', |
87 | 90 | httpOnly: true, |
88 | 91 | secure: false, |
89 | - sameSite: 'strict', | |
92 | + // sameSite: 'strict', | |
90 | 93 | maxAge: maxAge |
91 | 94 | }, |
92 | 95 | resave: true, |
... | ... | @@ -112,7 +115,7 @@ exports = module.exports = function () { |
112 | 115 | }, |
113 | 116 | cookieParser: 'igloo-change-me', |
114 | 117 | csrf: { |
115 | - enabled: false, | |
118 | + enabled: true, | |
116 | 119 | options: { |
117 | 120 | cookie: { |
118 | 121 | maxAge: maxAge |
... | ... | @@ -133,10 +136,12 @@ exports = module.exports = function () { |
133 | 136 | redis: { |
134 | 137 | host: '192.168.2.70', |
135 | 138 | port: 38888, |
136 | - pass: 'Workai123', | |
137 | - maxAge: maxAge | |
139 | + pass: 'Q*Kr4?#Rg!', | |
140 | + maxAge: maxAge, | |
141 | + name: '' | |
138 | 142 | }, |
139 | 143 | output: { |
144 | + level: 'info', | |
140 | 145 | handleExceptions: false, |
141 | 146 | colorize: true, |
142 | 147 | prettyPrint: false |
... | ... | @@ -168,9 +173,9 @@ exports = module.exports = function () { |
168 | 173 | // url: 'http://154.8.229.55:20000/', |
169 | 174 | // url:'http://192.144.144.220:20000/', |
170 | 175 | //url:'http://127.0.0.1:20000/', |
171 | - url: 'http://47.110.250.177:20000', | |
176 | + url: 'http://47.110.250.177:7003/', | |
172 | 177 | // url:'http://140.143.196.80:20000/', |
173 | - ossUrl: 'http://192.168.2.72:20000/', | |
178 | + ossUrl: 'http://47.110.250.177:7003/', | |
174 | 179 | version: '/v1' |
175 | 180 | }, |
176 | 181 | prefix: '/', |
... | ... | @@ -203,7 +208,8 @@ exports = module.exports = function () { |
203 | 208 | prefix: 'igloo_production_test_develop', |
204 | 209 | host: '172.21.0.8', |
205 | 210 | port: 38888, |
206 | - pass: 'Workai123' | |
211 | + pass: 'Q*Kr4?#Rg!', | |
212 | + name: '' | |
207 | 213 | }, |
208 | 214 | logger: { |
209 | 215 | 'console': true, |
... | ... | @@ -240,6 +246,7 @@ exports = module.exports = function () { |
240 | 246 | host: '127.0.0.1', |
241 | 247 | port: 6379, |
242 | 248 | pass: '', |
249 | + name: '' | |
243 | 250 | } |
244 | 251 | }, |
245 | 252 | production: { |
... | ... | @@ -254,11 +261,22 @@ exports = module.exports = function () { |
254 | 261 | enabled: false, |
255 | 262 | }, |
256 | 263 | restful: { |
257 | - url: 'http://192.168.2.72:20000/', | |
258 | - ossUrl: 'http://192.168.2.72:20000/', | |
264 | + // url: 'http://192.168.2.72:20000/', | |
265 | + // ossUrl: 'http://192.168.2.72:20000/', | |
266 | + url: 'http://47.110.250.177:7003/', | |
267 | + ossUrl: 'http://47.110.250.177:7003/', | |
268 | + redirectMobileUrl: 'http://dev.workai.com.cn/authorization-code', | |
259 | 269 | version: '/v1', |
260 | - host: '192.168.2.72', | |
261 | - port: 20000 | |
270 | + // host: '192.168.2.72', | |
271 | + host: '47.110.250.177', | |
272 | + // port: 20000 | |
273 | + port: 7003 | |
274 | + }, | |
275 | + excellentRestful: { | |
276 | + url: 'http://47.110.250.177:8000/', | |
277 | + version: '/v1', | |
278 | + host: '47.110.250.177', | |
279 | + port: 8000 | |
262 | 280 | }, |
263 | 281 | server: { |
264 | 282 | host: '0.0.0.0', |
... | ... | @@ -279,17 +297,18 @@ exports = module.exports = function () { |
279 | 297 | } |
280 | 298 | }, |
281 | 299 | redis: { |
282 | - prefix: 'igloo_production', | |
283 | - host: '127.0.0.1', | |
284 | - port: 6379, | |
285 | - pass: 'Workai123' | |
300 | + prefix: 'igloo_production', | |
301 | + host:'redis', | |
302 | + port: 38888, | |
303 | + pass: 'Q*Kr4?#Rg!', | |
304 | + name: '' | |
286 | 305 | }, |
287 | 306 | csrf: { |
288 | 307 | enabled: true, |
289 | 308 | options: { |
290 | 309 | cookie: { |
291 | 310 | maxAge: maxAge, |
292 | - sameSite: 'strict', | |
311 | + // sameSite: 'strict', | |
293 | 312 | path: '/', |
294 | 313 | key: '_csrf', |
295 | 314 | httpOnly: true |
... | ... | @@ -297,6 +316,7 @@ exports = module.exports = function () { |
297 | 316 | } |
298 | 317 | }, |
299 | 318 | output: { |
319 | + level: 'info', | |
300 | 320 | colorize: false |
301 | 321 | }, |
302 | 322 | logger: { |
... | ... | @@ -337,7 +357,7 @@ exports = module.exports = function () { |
337 | 357 | prefix: 'igloo_production_recruitIterative', |
338 | 358 | host: '127.0.0.1', |
339 | 359 | port: 38888, |
340 | - pass: 'Workai123' | |
360 | + pass: 'Q*Kr4?#Rg!' | |
341 | 361 | }, |
342 | 362 | csrf: { |
343 | 363 | enabled: true, |
... | ... | @@ -372,6 +392,7 @@ exports = module.exports = function () { |
372 | 392 | // url: 'http://47.110.158.110:20000/', |
373 | 393 | url: 'http://47.110.250.177:20000/', |
374 | 394 | ossUrl: 'http://140.143.196.80:10001/v1/', |
395 | + redirectMobileUrl: 'http://dev.workai.com.cn/authorization-code', | |
375 | 396 | version: '/v1', |
376 | 397 | // host: '47.110.158.110', |
377 | 398 | host: '47.110.250.177', |
... | ... | @@ -385,9 +406,9 @@ exports = module.exports = function () { |
385 | 406 | }, |
386 | 407 | redis: { |
387 | 408 | prefix: 'igloo_production_hroRecruit', |
388 | - host: '127.0.0.1', | |
409 | + host: '10.95.222.102', | |
389 | 410 | port: 38888, |
390 | - pass: 'Workai123' | |
411 | + pass: 'Q*Kr4?#Rg!' | |
391 | 412 | }, |
392 | 413 | csrf: { |
393 | 414 | enabled: true, |
... | ... | @@ -406,7 +427,7 @@ exports = module.exports = function () { |
406 | 427 | requests: true, |
407 | 428 | mongo: false, |
408 | 429 | file: { |
409 | - filename: '/opt/work/hro/frontend/hro-tax/igloo.log', | |
430 | + filename: '/opt/work/hro/frontend/hro-recruit/igloo.log', | |
410 | 431 | timestamp: true |
411 | 432 | } |
412 | 433 | } |
... | ... | @@ -438,7 +459,7 @@ exports = module.exports = function () { |
438 | 459 | host: '172.26.212.124', //外服环境 |
439 | 460 | // host: '127.0.0.1', |
440 | 461 | port: 38888, |
441 | - pass: 'Workai123' | |
462 | + pass: 'Q*Kr4?#Rg!' | |
442 | 463 | }, |
443 | 464 | csrf: { |
444 | 465 | enabled: true, |
... | ... | @@ -471,13 +492,21 @@ exports = module.exports = function () { |
471 | 492 | }, |
472 | 493 | restful: { |
473 | 494 | // url: 'http://47.110.158.110:20000/', |
474 | - url: 'http://47.110.250.177:20000/', | |
495 | + // url: 'http://47.110.250.177:20000/', | |
496 | + url: 'http://39.104.52.206:20000/', | |
475 | 497 | ossUrl: 'http://140.143.196.80:10001/v1/', |
476 | 498 | version: '/v1', |
477 | 499 | // host: '47.110.158.110', |
478 | - host: '47.110.250.177', | |
500 | + // host: '47.110.250.177', | |
501 | + host: '39.104.52.206', | |
479 | 502 | port: 20000 |
480 | 503 | }, |
504 | + excellentRestful: { | |
505 | + url: 'http://39.104.52.206:8000/', | |
506 | + version: '/v1', | |
507 | + host: '39.104.52.206', | |
508 | + port: 8000 | |
509 | + }, | |
481 | 510 | server: { |
482 | 511 | host: '0.0.0.0', |
483 | 512 | env: 'production', |
... | ... | @@ -488,7 +517,8 @@ exports = module.exports = function () { |
488 | 517 | prefix: 'igloo_production_hroSalary', |
489 | 518 | host: '172.26.212.124', |
490 | 519 | port: 38888, |
491 | - pass: 'Workai123' | |
520 | + pass: 'Q*Kr4?#Rg!', | |
521 | + name: '' | |
492 | 522 | }, |
493 | 523 | csrf: { |
494 | 524 | enabled: true, |
... | ... | @@ -536,7 +566,7 @@ exports = module.exports = function () { |
536 | 566 | prefix: 'igloo_production_sipolicyIterative', |
537 | 567 | host: '127.0.0.1', |
538 | 568 | port: 38888, |
539 | - pass: 'Workai123' | |
569 | + pass: 'Q*Kr4?#Rg!' | |
540 | 570 | }, |
541 | 571 | logger: { |
542 | 572 | 'console': true, |
... | ... | @@ -571,7 +601,7 @@ exports = module.exports = function () { |
571 | 601 | prefix: 'igloo_production_hroSipolicy', |
572 | 602 | host: '127.0.0.1', |
573 | 603 | port: 38888, |
574 | - pass: 'Workai123' | |
604 | + pass: 'Q*Kr4?#Rg!' | |
575 | 605 | }, |
576 | 606 | logger: { |
577 | 607 | 'console': true, |
... | ... | @@ -591,13 +621,12 @@ exports = module.exports = function () { |
591 | 621 | enabled: false, |
592 | 622 | }, |
593 | 623 | restful: { |
594 | - url: 'http://47.110.158.110:20000/', | |
595 | - // url: 'http://47.110.250.177:20000/', | |
624 | + url: 'http://47.110.250.177:20000/', | |
596 | 625 | // url: 'http://39.104.52.206:20000/', |
597 | 626 | ossUrl: 'http://172.21.0.8:10001/v1/', |
598 | 627 | version: '/v1', |
599 | - host: '47.110.158.110', | |
600 | - // host: '47.110.250.177', | |
628 | + // host: '47.110.158.110', | |
629 | + host: '47.110.250.177', | |
601 | 630 | // host: '39.104.52.206', |
602 | 631 | port: 20000 |
603 | 632 | }, |
... | ... | @@ -610,10 +639,10 @@ exports = module.exports = function () { |
610 | 639 | }, |
611 | 640 | redis: { |
612 | 641 | prefix: 'igloo_production_settlemgmIterative', |
613 | - host: '127.0.0.1', | |
614 | - // host: '172.26.212.124', | |
642 | + // host: '127.0.0.1', | |
643 | + host: '172.26.212.124', | |
615 | 644 | port: 38888, |
616 | - pass: 'Workai123' | |
645 | + pass: 'Q*Kr4?#Rg!' | |
617 | 646 | |
618 | 647 | }, |
619 | 648 | logger: { |
... | ... | @@ -648,13 +677,15 @@ exports = module.exports = function () { |
648 | 677 | restful: { |
649 | 678 | // url: 'http://47.110.158.110:20000/', |
650 | 679 | // url: 'http://47.110.250.177:20000/', |
651 | - url: 'http://39.104.52.206:20000/', | |
680 | + url: 'http://47.110.250.177:9103/', | |
681 | + // url: 'http://39.104.52.206:20000/', | |
652 | 682 | ossUrl: 'http://140.143.196.80:10001/v1/', |
653 | 683 | version: '/v1', |
654 | 684 | // host: '47.110.158.110', |
655 | - // host: '47.110.250.177', | |
656 | - host: '39.104.52.206', | |
657 | - port: 20000 | |
685 | + host: '47.110.250.177', | |
686 | + // host: '39.104.52.206', | |
687 | + // port: 20000, | |
688 | + port: 9103, | |
658 | 689 | }, |
659 | 690 | server: { |
660 | 691 | host: '0.0.0.0', |
... | ... | @@ -664,17 +695,16 @@ exports = module.exports = function () { |
664 | 695 | }, |
665 | 696 | redis: { |
666 | 697 | prefix: 'igloo_production_hroSettlemgm', |
667 | - // host: '127.0.0.1', | |
668 | - host: '172.26.212.124', | |
698 | + host: '127.0.0.1', | |
669 | 699 | port: 38888, |
670 | - pass: 'Workai123' | |
700 | + pass: 'Q*Kr4?#Rg!' | |
671 | 701 | }, |
672 | 702 | logger: { |
673 | 703 | 'console': true, |
674 | 704 | requests: true, |
675 | 705 | mongo: false, |
676 | 706 | file: { |
677 | - filename: '/opt/work/hro/frontend/hro-settlemgm/igloo.log', | |
707 | + filename: '/opt/work/hro/frontend/hro/igloo.log', | |
678 | 708 | timestamp: true |
679 | 709 | } |
680 | 710 | }, |
... | ... | @@ -714,7 +744,7 @@ exports = module.exports = function () { |
714 | 744 | prefix: 'igloo_production_hroTemp', |
715 | 745 | host: '172.21.0.8', |
716 | 746 | port: 38888, |
717 | - pass: 'Workai123' | |
747 | + pass: 'Q*Kr4?#Rg!' | |
718 | 748 | }, |
719 | 749 | logger: { |
720 | 750 | 'console': true, |
... | ... | @@ -750,7 +780,7 @@ exports = module.exports = function () { |
750 | 780 | prefix: 'igloo_production_hroOddjobs', |
751 | 781 | host: '192.168.12.188', |
752 | 782 | port: 38888, |
753 | - pass: 'Workai123' | |
783 | + pass: 'Q*Kr4?#Rg!' | |
754 | 784 | }, |
755 | 785 | logger: { |
756 | 786 | 'console': true, | ... | ... |
boot/config.local.js
0 → 100644
1 | +/* | |
2 | + * @Descripttion: | |
3 | + * @version: | |
4 | + * @Author: sueRimn | |
5 | + * @Date: 2020-06-28 15:34:13 | |
6 | + * @LastEditors: genglw | |
7 | + * @LastEditTime: 2022-08-30 20:30:09 | |
8 | + */ | |
9 | + | |
10 | +// # local config (make sure it is ignored by git) | |
11 | +// | |
12 | +// This configuration file is specific to each developer's environment, | |
13 | +// and will merge on top of all other settings from ./config.js | |
14 | +// (but only will merge in development environment) | |
15 | +// | |
16 | +var maxAge = 60 * 60 * 1000 * 25; | |
17 | +exports = module.exports = function () { | |
18 | + return { | |
19 | + cache: false, | |
20 | + server: { | |
21 | + host: "0.0.0.0", | |
22 | + port: 3000, | |
23 | + }, | |
24 | + email: { | |
25 | + // <https://github.com/andris9/Nodemailer> | |
26 | + transport: { | |
27 | + service: "gmail", | |
28 | + auth: { | |
29 | + user: "user@gmail.com", | |
30 | + pass: "abc123", | |
31 | + }, | |
32 | + }, | |
33 | + }, | |
34 | + restful: { | |
35 | + url: 'http://47.110.250.177:9201/', | |
36 | + // url: 'http://47.110.250.177:7002/', | |
37 | + ossUrl: 'http://47.110.250.177:7003/', | |
38 | + version: '/v1', | |
39 | + host: '47.110.250.177', | |
40 | + // port: 7002, | |
41 | + port: 9201, | |
42 | + }, | |
43 | + excellentRestful: { | |
44 | + url: "http://47.110.250.177:8000/", | |
45 | + version: "/v1", | |
46 | + host: "47.110.250.177", | |
47 | + port: 8000, | |
48 | + }, | |
49 | + csrf: { | |
50 | + enabled: false, | |
51 | + options: { | |
52 | + cookie: { | |
53 | + maxAge: maxAge, | |
54 | + key: "_csrf", | |
55 | + path: "/", | |
56 | + httpOnly: true, | |
57 | + sameSite: "strict", | |
58 | + }, | |
59 | + ignoreMethods: ["HEAD", "OPTIONS", "GET"], | |
60 | + }, | |
61 | + }, | |
62 | + output: { | |
63 | + level: 'debug', | |
64 | + colorize: true, | |
65 | + prettyPrint: true | |
66 | + }, | |
67 | + liveReload: { | |
68 | + enabled: true, | |
69 | + port: 35729, | |
70 | + }, | |
71 | + }; | |
72 | +}; | |
73 | + | |
74 | +exports['@singleton'] = true; | ... | ... |
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | * @Author: sueRimn |
5 | 5 | * @Date: 2020-06-28 15:34:13 |
6 | 6 | * @LastEditors: genglw |
7 | - * @LastEditTime: 2021-12-23 14:56:59 | |
7 | + * @LastEditTime: 2022-08-30 20:30:09 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | // # local config (make sure it is ignored by git) |
... | ... | @@ -18,51 +18,56 @@ exports = module.exports = function () { |
18 | 18 | return { |
19 | 19 | cache: false, |
20 | 20 | server: { |
21 | - host: '0.0.0.0', | |
22 | - port: 3009 | |
21 | + host: "0.0.0.0", | |
22 | + port: 3000, | |
23 | 23 | }, |
24 | 24 | email: { |
25 | 25 | // <https://github.com/andris9/Nodemailer> |
26 | 26 | transport: { |
27 | - service: 'gmail', | |
27 | + service: "gmail", | |
28 | 28 | auth: { |
29 | - user: 'user@gmail.com', | |
30 | - pass: 'abc123' | |
31 | - } | |
32 | - } | |
29 | + user: "user@gmail.com", | |
30 | + pass: "abc123", | |
31 | + }, | |
32 | + }, | |
33 | 33 | }, |
34 | 34 | restful: { |
35 | - // url: 'http://118.178.181.180:20000/', | |
36 | - url: 'http://47.110.250.177:9201/', | |
37 | - // url: 'http://47.110.158.110:20000/', | |
38 | - // url:'http://120.27.220.60:20000/', | |
39 | - // url: 'http://39.104.52.206:20000/', | |
40 | - // url: 'http://47.99.189.12:20000/', | |
41 | - ossUrl: 'http://47.110.250.177:9201/', | |
35 | + // url: 'http://47.110.250.177:9201/', | |
36 | + url: 'http://47.110.250.177:7002/', | |
37 | + ossUrl: 'http://47.110.250.177:7003/', | |
42 | 38 | version: '/v1', |
43 | 39 | host: '47.110.250.177', |
44 | - // host: '47.110.158.110', | |
45 | - // host: '120.27.220.60', | |
46 | - // host: '39.104.52.206', | |
47 | - port: 9201 | |
40 | + port: 7002, | |
41 | + // port: 9201, | |
42 | + }, | |
43 | + excellentRestful: { | |
44 | + url: "http://47.110.250.177:8000/", | |
45 | + version: "/v1", | |
46 | + host: "47.110.250.177", | |
47 | + port: 8000, | |
48 | 48 | }, |
49 | 49 | csrf: { |
50 | - enabled: true, | |
50 | + enabled: false, | |
51 | 51 | options: { |
52 | 52 | cookie: { |
53 | 53 | maxAge: maxAge, |
54 | - key: '_csrf', | |
55 | - path: '/', | |
54 | + key: "_csrf", | |
55 | + path: "/", | |
56 | 56 | httpOnly: true, |
57 | - sameSite: 'strict', | |
57 | + sameSite: "strict", | |
58 | 58 | }, |
59 | - ignoreMethods: ['HEAD', 'OPTIONS', 'GET'] | |
60 | - } | |
59 | + ignoreMethods: ["HEAD", "OPTIONS", "GET"], | |
60 | + }, | |
61 | + }, | |
62 | + output: { | |
63 | + level: 'debug', | |
64 | + colorize: true, | |
65 | + prettyPrint: true | |
61 | 66 | }, |
62 | 67 | liveReload: { |
63 | 68 | enabled: true, |
64 | - port: 35729 | |
65 | - } | |
69 | + port: 35729, | |
70 | + }, | |
66 | 71 | }; |
67 | 72 | }; |
68 | 73 | ... | ... |
... | ... | @@ -13,7 +13,7 @@ exports = module.exports = function (logger, rest, settings) { |
13 | 13 | 'headers': { |
14 | 14 | "Accept": "application/json", |
15 | 15 | "Content-Type": "application/json", |
16 | - 'User-Agent': 'Request for Express' | |
16 | + 'Proxy-User-Agent': 'Request for Express' | |
17 | 17 | } |
18 | 18 | }; |
19 | 19 | } |
... | ... | @@ -27,10 +27,19 @@ exports = module.exports = function (logger, rest, settings) { |
27 | 27 | } |
28 | 28 | if (req.ip) { |
29 | 29 | options.headers['Client-Ip'] = req.ip |
30 | + } | |
31 | + if (req.headers['x-request-id']) { | |
32 | + options.headers['X-Request-Id'] = req.headers['x-request-id'] | |
30 | 33 | } |
31 | 34 | return options; |
32 | 35 | } |
33 | 36 | |
37 | + function addReqResOptions(options, req,res){ | |
38 | + options['req']=req; | |
39 | + options['res']=res; | |
40 | + return options; | |
41 | + } | |
42 | + | |
34 | 43 | function addParams(options, req) { |
35 | 44 | var postData = !req.body ? '' : JSON.stringify(req.body || {}); |
36 | 45 | // options.headers['Content-Length'] = postData.length; |
... | ... | @@ -54,7 +63,7 @@ exports = module.exports = function (logger, rest, settings) { |
54 | 63 | var tempParam = param.split("=") |
55 | 64 | tempParam[1] = urlencode.decode(tempParam[1], 'utf8'); |
56 | 65 | tempParam[1] = tempParam[1].replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); |
57 | - console.log(tempParam[1]); | |
66 | + logger.debug(tempParam[1]); | |
58 | 67 | if (i < (params.length - 1)) { |
59 | 68 | if (/[:&+/?%#=]/g.test(tempParam[1])) { |
60 | 69 | temp.push(tempParam[0] + "=" + encodeUrl(tempParam[1]) + "&"); |
... | ... | @@ -100,13 +109,13 @@ exports = module.exports = function (logger, rest, settings) { |
100 | 109 | if (settings.prefix && settings.prefix.length > 1) { |
101 | 110 | fullUrl = fullUrl.substring(settings.prefix.length - 1); |
102 | 111 | } |
103 | - var url = fullUrl.substring(4); | |
112 | + var url = fullUrl.substring(fullUrl.indexOf('/', 1)); | |
104 | 113 | return url; |
105 | 114 | } |
106 | 115 | |
107 | 116 | function searchService(services, name) { |
108 | 117 | if (services[name]) { |
109 | - console.log(services[name]); | |
118 | + logger.debug(services[name]); | |
110 | 119 | return false; |
111 | 120 | } else { |
112 | 121 | return true; |
... | ... | @@ -145,9 +154,10 @@ exports = module.exports = function (logger, rest, settings) { |
145 | 154 | var url = splitUrl(req.originalUrl); |
146 | 155 | var options = getOptions(url, 'GET'); |
147 | 156 | addToken(options, req); |
157 | + addReqResOptions(options, req,res); | |
148 | 158 | function _success(data, response) { |
149 | 159 | if (response.statusCode >= 400 || !data) { |
150 | - logger.error(options, data); | |
160 | + logger.debug(options, data); | |
151 | 161 | res.status(response.statusCode); |
152 | 162 | res.send(data); |
153 | 163 | } else { |
... | ... | @@ -155,7 +165,7 @@ exports = module.exports = function (logger, rest, settings) { |
155 | 165 | } |
156 | 166 | } |
157 | 167 | function _fail(err) { |
158 | - logger.error(options, err); | |
168 | + logger.debug(options, err); | |
159 | 169 | res.send(err); |
160 | 170 | } |
161 | 171 | rest.restClient(options, _success, _fail); |
... | ... | @@ -166,9 +176,10 @@ exports = module.exports = function (logger, rest, settings) { |
166 | 176 | var options = getOptions(url, 'POST'); |
167 | 177 | addToken(options, req); |
168 | 178 | addParams(options, req); |
179 | + addReqResOptions(options, req,res); | |
169 | 180 | function _success(data, response) { |
170 | 181 | if (response.statusCode >= 400) { |
171 | - logger.error(options, data); | |
182 | + logger.debug(options, data); | |
172 | 183 | res.status(response.statusCode); |
173 | 184 | res.send(data); |
174 | 185 | } else if (!data || 'null' == data || "null\n" == data || '{}' == data) { |
... | ... | @@ -181,7 +192,7 @@ exports = module.exports = function (logger, rest, settings) { |
181 | 192 | } |
182 | 193 | } |
183 | 194 | function _fail(err) { |
184 | - logger.error(options, err); | |
195 | + logger.debug(options, err); | |
185 | 196 | res.send(err); |
186 | 197 | } |
187 | 198 | rest.restClient(options, _success, _fail); |
... | ... | @@ -192,9 +203,10 @@ exports = module.exports = function (logger, rest, settings) { |
192 | 203 | var options = getOptions(url, 'PUT'); |
193 | 204 | addToken(options, req); |
194 | 205 | addParams(options, req); |
206 | + addReqResOptions(options, req,res); | |
195 | 207 | function _success(data, response) { |
196 | 208 | if (response.statusCode >= 400) { |
197 | - logger.error(options, data); | |
209 | + logger.debug(options, data); | |
198 | 210 | res.status(response.statusCode); |
199 | 211 | res.send(data); |
200 | 212 | } else if (!data || 'null' == data || "null\n" == data || '{}' == data) { |
... | ... | @@ -207,7 +219,7 @@ exports = module.exports = function (logger, rest, settings) { |
207 | 219 | } |
208 | 220 | } |
209 | 221 | function _fail(err) { |
210 | - logger.error(options, err); | |
222 | + logger.debug(options, err); | |
211 | 223 | res.send(err); |
212 | 224 | } |
213 | 225 | rest.restClient(options, _success, _fail); |
... | ... | @@ -218,9 +230,10 @@ exports = module.exports = function (logger, rest, settings) { |
218 | 230 | var options = getOptions(url, 'PATCH'); |
219 | 231 | addToken(options, req); |
220 | 232 | addParams(options, req); |
233 | + addReqResOptions(options, req,res); | |
221 | 234 | function _success(data, response) { |
222 | 235 | if (response.statusCode >= 400) { |
223 | - logger.error(options, data); | |
236 | + logger.debug(options, data); | |
224 | 237 | res.send(data); |
225 | 238 | } else if (!data) { |
226 | 239 | res.send({ |
... | ... | @@ -232,7 +245,7 @@ exports = module.exports = function (logger, rest, settings) { |
232 | 245 | } |
233 | 246 | } |
234 | 247 | function _fail(err) { |
235 | - logger.error(options, err); | |
248 | + logger.debug(options, err); | |
236 | 249 | res.send(err); |
237 | 250 | } |
238 | 251 | rest.restClient(options, _success, _fail); |
... | ... | @@ -243,9 +256,10 @@ exports = module.exports = function (logger, rest, settings) { |
243 | 256 | var options = getOptions(url, 'HEAD'); |
244 | 257 | addToken(options, req); |
245 | 258 | addParams(options, req); |
259 | + addReqResOptions(options, req,res); | |
246 | 260 | function _success(data, response) { |
247 | 261 | if (response.statusCode >= 400) { |
248 | - logger.error(options, data); | |
262 | + logger.debug(options, data); | |
249 | 263 | res.send(data); |
250 | 264 | } else if (!data) { |
251 | 265 | res.send({ |
... | ... | @@ -257,7 +271,7 @@ exports = module.exports = function (logger, rest, settings) { |
257 | 271 | } |
258 | 272 | } |
259 | 273 | function _fail(err) { |
260 | - logger.error(options, err); | |
274 | + logger.debug(options, err); | |
261 | 275 | res.send(err); |
262 | 276 | } |
263 | 277 | rest.restClient(options, _success, _fail); |
... | ... | @@ -269,9 +283,10 @@ exports = module.exports = function (logger, rest, settings) { |
269 | 283 | addToken(options, req); |
270 | 284 | addParams(options, req); |
271 | 285 | addContentLength(options); |
286 | + addReqResOptions(options, req,res); | |
272 | 287 | function _success(data, response) { |
273 | 288 | if (response.statusCode >= 400) { |
274 | - logger.error(options, data); | |
289 | + logger.debug(options, data); | |
275 | 290 | res.status(response.statusCode); |
276 | 291 | res.send(data); |
277 | 292 | } else if (!data || (data && !data.message)) { |
... | ... | @@ -285,7 +300,7 @@ exports = module.exports = function (logger, rest, settings) { |
285 | 300 | } |
286 | 301 | } |
287 | 302 | function _fail(err) { |
288 | - logger.error(options, err); | |
303 | + logger.debug(options, err); | |
289 | 304 | res.send(err); |
290 | 305 | } |
291 | 306 | rest.restClient(options, _success, _fail); | ... | ... |
1 | -const passport = require("passport"); | |
2 | -const urlencode = require("urlencode"); | |
3 | -const async = require("async"); | |
4 | -const crypto = require("crypto"); | |
5 | -const fs =require('fs') | |
6 | -const path = require("path"); | |
7 | - | |
8 | -exports = module.exports = function (logger, rest, settings) { | |
9 | - function index(req, res, next) { | |
10 | - logger.info(req); | |
11 | - // res.redirect("https://www.baidu.com"); | |
12 | - } | |
13 | - | |
14 | - function getImg(req, res, next) { | |
15 | - logger.info(req.url, "1231231231"); | |
16 | - const parentdir = path.resolve(__dirname, "..") | |
17 | - const paths = parentdir+'/build/public'+urlencode.decode(req.url, 'utf8') | |
18 | - fs.readFile(paths,function(err,data){ | |
19 | - console.log(err,data) | |
20 | - if (err) { | |
21 | - res.send('读取错误') | |
22 | - } else { | |
23 | - res.send(data) | |
24 | - } | |
25 | - }) | |
26 | - } | |
27 | - | |
28 | - function indexPrefix(req, res) { | |
29 | - // logger.info(req.csrfToken(),'req.cssadasdas'); | |
30 | - res.send({data:req.csrfToken()}) | |
31 | - // if (req.csrfToken) { | |
32 | - // if (settings.prefix && settings.prefix.length > 1) { | |
33 | - // res.redirect(settings.prefix.substring(0, settings.prefix.length - 1)); | |
34 | - // } else { | |
35 | - // res.render("index", { csrfToken: req.csrfToken() }); | |
36 | - // } | |
37 | - // } else res.render("index", { csrfToken: "" }); | |
38 | - } | |
39 | - | |
40 | - function productDes(req, res, next) { | |
41 | - if (req.csrfToken) | |
42 | - res.render("chat/new-chat", { csrfToken: req.csrfToken() }); | |
43 | - else res.render("chat/new-chat", { csrfToken: "" }); | |
44 | - } | |
45 | - | |
46 | - function recharge(req, res) { | |
47 | - var params = JSON.parse(urlencode.decode(req.query.params)); | |
48 | - console.log(params); | |
49 | - if (req.csrfToken) | |
50 | - res.render("recharge", { recharge: params, csrfToken: req.csrfToken() }); | |
51 | - else res.render("recharge", { recharge: params, csrfToken: "" }); | |
52 | - } | |
53 | - | |
54 | - function register(req, res, next) { | |
55 | - if (req.csrfToken) | |
56 | - res.render("newRegister", { csrfToken: req.csrfToken() }); | |
57 | - else res.render("newRegister", { csrfToken: "" }); | |
58 | - } | |
59 | - | |
60 | - function mobileRegister(req, res) { | |
61 | - if (req.csrfToken) | |
62 | - res.render("registerMobile", { csrfToken: req.csrfToken() }); | |
63 | - else res.render("registerMobile", { csrfToken: "" }); | |
64 | - } | |
65 | - | |
66 | - function mobileRegisterSuccess(req, res) { | |
67 | - if (req.csrfToken) | |
68 | - res.render("registerMobileSuccess", { csrfToken: req.csrfToken() }); | |
69 | - else res.render("registerMobileSuccess", { csrfToken: "" }); | |
70 | - } | |
71 | - | |
72 | - function signIn(req, res, next) { | |
73 | - // console.log(req); | |
74 | - if (req.csrfToken) res.render("newLogin", { csrfToken: req.csrfToken() }); | |
75 | - else res.render("newLogin", { csrfToken: "" }); | |
76 | - } | |
77 | - | |
78 | - function doLogin(req, res, next) { | |
79 | - passport.authenticate("local", function (err, user, info) { | |
80 | - console.log("doLogin:", err, user, info); | |
81 | - if (err) { | |
82 | - return next(err); | |
83 | - } | |
84 | - if (!user) { | |
85 | - return res.send(info); | |
86 | - } | |
87 | - req.logIn(user, function (err) { | |
88 | - if (err) { | |
89 | - return next(err); | |
90 | - } | |
91 | - return res.send({ | |
92 | - ok: "登录成功", | |
93 | - user_info: req.session.passport.user.user_info, | |
94 | - }); | |
95 | - }); | |
96 | - })(req, res, next); | |
97 | - } | |
98 | - | |
99 | - function signOut(req, res, next) { | |
100 | - if ( | |
101 | - req.session.passport && | |
102 | - req.session.passport.user && | |
103 | - req.session.passport.user.user_info && | |
104 | - req.session.passport.user.user_info.user | |
105 | - ) | |
106 | - logger.info( | |
107 | - req.session.passport.user.user_info.user, | |
108 | - "You have successfully logged out" | |
109 | - ); | |
110 | - req.logout(); | |
111 | - req.flash("success", "You have successfully logged out"); | |
112 | - res.redirect("/"); | |
113 | - } | |
114 | - | |
115 | - function smsCodes(req, res, next) { | |
116 | - rest.postJson({ | |
117 | - baseUrl: "url", | |
118 | - url: "auth/smscodes", | |
119 | - params: req.body, | |
120 | - callback: _cb, | |
121 | - req: req, | |
122 | - res: res, | |
123 | - options: {}, | |
124 | - excludeToken: true, | |
125 | - }); | |
126 | - function _cb(data, response) { | |
127 | - logger.info("back data:", data); | |
128 | - if (response.statusCode < 300) { | |
129 | - res.send({ code: 200, message: "发送成功" }); | |
130 | - } else { | |
131 | - res.send(data); | |
132 | - } | |
133 | - } | |
134 | - } | |
135 | - | |
136 | - function tenants(req, res, next) { | |
137 | - rest.register({ | |
138 | - baseUrl: "url", | |
139 | - url: "tenants", | |
140 | - params: req.body, | |
141 | - callback: _cb, | |
142 | - req: req, | |
143 | - res: res, | |
144 | - options: {}, | |
145 | - excludeToken: true, | |
146 | - }); | |
147 | - function _cb(data, response) { | |
148 | - logger.info("back data:", data); | |
149 | - res.send(data); | |
150 | - } | |
151 | - } | |
152 | - | |
153 | - function resetPass(req, res) { | |
154 | - rest.putJson({ | |
155 | - baseUrl: "url", | |
156 | - url: "auth/user", | |
157 | - params: { | |
158 | - user: req.body.user, | |
159 | - password: req.body.password, | |
160 | - again_password: req.body.again_password, | |
161 | - }, | |
162 | - callback: _cb, | |
163 | - req: req, | |
164 | - res: res, | |
165 | - options: {}, | |
166 | - }); | |
167 | - function _cb(data, response) { | |
168 | - logger.info("back data:", data); | |
169 | - res.send(data); | |
170 | - } | |
171 | - } | |
172 | - | |
173 | - function updatePassword(req, res) { | |
174 | - rest.patchJson({ | |
175 | - baseUrl: "url", | |
176 | - url: "users/" + req.body.userId, | |
177 | - params: { | |
178 | - password: req.body.password, | |
179 | - }, | |
180 | - callback: _cb, | |
181 | - req: req, | |
182 | - res: res, | |
183 | - options: {}, | |
184 | - }); | |
185 | - function _cb(data, response) { | |
186 | - logger.info("back data:", data); | |
187 | - res.send(data); | |
188 | - } | |
189 | - } | |
190 | - | |
191 | - function loadUserInfo(req, res) { | |
192 | - settings; | |
193 | - if (req.session.passport.user && req.session.passport.user.user_info) { | |
194 | - res.send({ | |
195 | - user_info: req.session.passport.user.user_info, | |
196 | - prefix: settings.prefix, | |
197 | - }); | |
198 | - } else { | |
199 | - res.send({ user_info: null, prefix: settings.prefix }); | |
200 | - } | |
201 | - } | |
202 | - | |
203 | - function getUploaderToken(req, res) { | |
204 | - rest.postJson({ | |
205 | - baseUrl: "ossUrl", | |
206 | - url: "inits", | |
207 | - params: req.body, | |
208 | - callback: _cb, | |
209 | - req: req, | |
210 | - res: res, | |
211 | - options: {}, | |
212 | - }); | |
213 | - function _cb(data, response) { | |
214 | - logger.info("back data:", data); | |
215 | - res.send(data); | |
216 | - } | |
217 | - } | |
218 | - | |
219 | - function getObjectTokenByID(req, res) { | |
220 | - rest.get({ | |
221 | - baseUrl: "ossUrl", | |
222 | - url: "objects/" + req.body.file_id, | |
223 | - params: {}, | |
224 | - callback: _cb, | |
225 | - req: req, | |
226 | - res: res, | |
227 | - options: {}, | |
228 | - }); | |
229 | - function _cb(data, response) { | |
230 | - logger.info("back data:", data); | |
231 | - res.send(data); | |
232 | - } | |
233 | - } | |
234 | - | |
235 | - function delOSSObject(req, res) { | |
236 | - rest.del({ | |
237 | - baseUrl: "ossUrl", | |
238 | - url: | |
239 | - "s3objects/" + | |
240 | - req.body.request_id + | |
241 | - "?bucket=" + | |
242 | - req.body.bucket + | |
243 | - "&file=" + | |
244 | - req.body.name, | |
245 | - params: {}, | |
246 | - callback: _cb, | |
247 | - req: req, | |
248 | - res: res, | |
249 | - options: {}, | |
250 | - }); | |
251 | - function _cb(data, response) { | |
252 | - logger.info("back data:", data); | |
253 | - console.log(response.statusCode); | |
254 | - if (response.statusCode < 300) { | |
255 | - res.send({ delete: "ok" }); | |
256 | - } | |
257 | - } | |
258 | - } | |
259 | - | |
260 | - function smsVerification(req, res) { | |
261 | - rest.postJson({ | |
262 | - baseUrl: "url", | |
263 | - url: "auth/sms_verification", | |
264 | - params: req.body, | |
265 | - callback: _cb, | |
266 | - req: req, | |
267 | - res: res, | |
268 | - options: {}, | |
269 | - excludeToken: true, | |
270 | - }); | |
271 | - function _cb(data, response) { | |
272 | - logger.info("back data:", data); | |
273 | - if (response.statusCode < 300) { | |
274 | - res.send({ code: 200, message: "发送成功" }); | |
275 | - } else { | |
276 | - res.send({ | |
277 | - code: response.statusCode, | |
278 | - message: data.message, | |
279 | - errors: data.errors, | |
280 | - }); | |
281 | - } | |
282 | - } | |
283 | - } | |
284 | - | |
285 | - function healthMonitor(res) { | |
286 | - res.statusCode = 200; | |
287 | - return res.send("status ok"); | |
288 | - } | |
289 | - | |
290 | - function updateUserRoles(req, res) { | |
291 | - rest.putJson({ | |
292 | - baseUrl: "url", | |
293 | - url: "user_roles/" + req.body.user_id, | |
294 | - params: req.body.roles, | |
295 | - callback: _cb, | |
296 | - req: req, | |
297 | - res: res, | |
298 | - options: {}, | |
299 | - }); | |
300 | - function _cb(data, response) { | |
301 | - logger.info("back data:", data); | |
302 | - if (response.statusCode < 300) { | |
303 | - res.send({ back: "ok" }); | |
304 | - } else { | |
305 | - res.send(data); | |
306 | - } | |
307 | - } | |
308 | - } | |
309 | - | |
310 | - function getRoles(req, res) { | |
311 | - rest.get({ | |
312 | - baseUrl: "url", | |
313 | - url: "roles", | |
314 | - params: {}, | |
315 | - callback: _cb, | |
316 | - req: req, | |
317 | - res: res, | |
318 | - options: {}, | |
319 | - }); | |
320 | - function _cb(data, response) { | |
321 | - logger.info("back data:", data); | |
322 | - res.send(data); | |
323 | - } | |
324 | - } | |
325 | - | |
326 | - function getUserRoles(req, res) { | |
327 | - rest.get({ | |
328 | - baseUrl: "url", | |
329 | - url: | |
330 | - "user_roles?user=" + | |
331 | - urlencode(req.body.user) + | |
332 | - "&limit=" + | |
333 | - req.body.limit + | |
334 | - "&offset=" + | |
335 | - req.body.offset, | |
336 | - params: {}, | |
337 | - callback: _cb, | |
338 | - req: req, | |
339 | - res: res, | |
340 | - options: {}, | |
341 | - }); | |
342 | - function _cb(data, response) { | |
343 | - logger.info("back data:", data); | |
344 | - res.send(data); | |
345 | - } | |
346 | - } | |
347 | - | |
348 | - function getTenant(req, res) { | |
349 | - rest.get({ | |
350 | - baseUrl: "url", | |
351 | - url: "tenants/" + req.body.tenant_id, | |
352 | - params: {}, | |
353 | - callback: _cb, | |
354 | - req: req, | |
355 | - res: res, | |
356 | - options: {}, | |
357 | - }); | |
358 | - function _cb(data, response) { | |
359 | - logger.info("back data:", data); | |
360 | - res.send(data); | |
361 | - } | |
362 | - } | |
363 | - | |
364 | - function updateTenant(req, res) { | |
365 | - rest.putJson({ | |
366 | - baseUrl: "url", | |
367 | - url: "tenants/" + req.body.tenant_id, | |
368 | - params: req.body.tenant, | |
369 | - callback: _cb, | |
370 | - req: req, | |
371 | - res: res, | |
372 | - options: {}, | |
373 | - }); | |
374 | - function _cb(data, response) { | |
375 | - logger.info("back data:", data); | |
376 | - res.send(data); | |
377 | - } | |
378 | - } | |
379 | - | |
380 | - function offer(req, res) { | |
381 | - rest.get({ | |
382 | - baseUrl: "hrUrl", | |
383 | - url: | |
384 | - "offers/" + req.params.requestId + "?tenant_id=" + req.query.tenant_id, | |
385 | - params: {}, | |
386 | - callback: _cb, | |
387 | - req: req, | |
388 | - res: res, | |
389 | - options: {}, | |
390 | - excludeToken: true, | |
391 | - }); | |
392 | - function _cb(data, response) { | |
393 | - logger.info("back data:", data); | |
394 | - //res.send(data); | |
395 | - console.log(data); | |
396 | - data["offerId"] = req.params.requestId; | |
397 | - data["tenantId"] = req.query.tenant_id; | |
398 | - res.render("offer", data); | |
399 | - } | |
400 | - } | |
401 | - | |
402 | - function onboardStatus(req, res) { | |
403 | - rest.get({ | |
404 | - baseUrl: "hrUrl", | |
405 | - url: "onboard-status", | |
406 | - params: {}, | |
407 | - callback: _cb, | |
408 | - req: req, | |
409 | - res: res, | |
410 | - options: {}, | |
411 | - useUrl: true, | |
412 | - }); | |
413 | - function _cb(data, response) { | |
414 | - logger.info("back data:", data); | |
415 | - res.send(data); | |
416 | - } | |
417 | - } | |
418 | - | |
419 | - function dowloadApp(req, res) { | |
420 | - var mobileAgent = req.headers["user-agent"].toLowerCase(); | |
421 | - var agent = { | |
422 | - android: | |
423 | - mobileAgent.indexOf("android") > -1 || mobileAgent.indexOf("Adr") > -1, | |
424 | - iPhone: mobileAgent.indexOf("iphone") > -1, | |
425 | - iPad: mobileAgent.indexOf("ipad") > -1, | |
426 | - }; | |
427 | - if (agent.iPhone || agent.iPad) { | |
428 | - res.redirect( | |
429 | - 301, | |
430 | - "https://itunes.apple.com/cn/app/%E8%96%AA%E5%91%97/id1140779439?l=en&mt=8" | |
431 | - ); | |
432 | - } else if (agent.android) { | |
433 | - res.redirect( | |
434 | - 301, | |
435 | - "http://krhrimg.oss-cn-beijing.aliyuncs.com/appdownload/production/android/krhr-android.apk" | |
436 | - ); | |
437 | - } else { | |
438 | - res.redirect( | |
439 | - 301, | |
440 | - "http://krhrimg.oss-cn-beijing.aliyuncs.com/appdownload/production/android/krhr-android.apk" | |
441 | - ); | |
442 | - } | |
443 | - } | |
444 | - | |
445 | - function softwareLicense(res) { | |
446 | - res.render("softwareLicense"); | |
447 | - } | |
448 | - | |
449 | - function changePassForRegister(req, res) { | |
450 | - var options = { | |
451 | - baseUrl: "url", | |
452 | - url: "users/" + req.body.user_id, | |
453 | - params: { | |
454 | - password: req.body.password, | |
455 | - }, | |
456 | - callback: _cb, | |
457 | - req: req, | |
458 | - res: res, | |
459 | - options: {}, | |
460 | - }; | |
461 | - if (req.body.access_token) { | |
462 | - console.log("@@@!!!!!!!!!!!!!!!!"); | |
463 | - options.options = { | |
464 | - accessToken: req.body.access_token, | |
465 | - }; | |
466 | - options["excludeToken"] = true; | |
467 | - } | |
468 | - rest.patchJson(options); | |
469 | - function _cb(data, response) { | |
470 | - logger.info("back data:", data); | |
471 | - res.send(data); | |
472 | - } | |
473 | - } | |
474 | - | |
475 | - function changeTenant(req, res) { | |
476 | - var params = { | |
477 | - grant_type: "refresh_token", | |
478 | - scope: "global_access:tenant_admin,tenant:" + req.body.id, | |
479 | - refresh_token: req.session.passport.user.refreshToken, | |
480 | - }; | |
481 | - req.session.passport.user.token = ""; | |
482 | - rest.postJson({ | |
483 | - baseUrl: "url", | |
484 | - url: | |
485 | - settings.restful.url + | |
486 | - "uaa" + | |
487 | - settings.restful.version + | |
488 | - "/auth/tokens", | |
489 | - useUrl: true, | |
490 | - params: params, | |
491 | - callback: _cb, | |
492 | - req: req, | |
493 | - res: res, | |
494 | - options: {}, | |
495 | - excludeToken: true, | |
496 | - }); | |
497 | - function _cb(data, response) { | |
498 | - console.log(data); | |
499 | - logger.info("back data:", data); | |
500 | - if (response.statusCode < 300) { | |
501 | - req.session.passport.user.token = data.access_token; | |
502 | - req.session.passport.user.refreshToken = data.refresh_token; | |
503 | - req.session.passport.user.user_info = { | |
504 | - user: data.user, | |
505 | - perms: [], | |
506 | - tenant: data.tenant, | |
507 | - scope: data.scope, | |
508 | - oss: req.session.passport.user.user_info.oss, | |
509 | - }; | |
510 | - req.session.save(function () { | |
511 | - rest.get({ | |
512 | - baseUrl: "url", | |
513 | - url: | |
514 | - settings.restful.url + | |
515 | - "uaa" + | |
516 | - settings.restful.version + | |
517 | - "/perms/detail", | |
518 | - useUrl: true, | |
519 | - params: {}, | |
520 | - callback: _scb, | |
521 | - req: req, | |
522 | - res: res, | |
523 | - options: {}, | |
524 | - }); | |
525 | - }); | |
526 | - } else { | |
527 | - res.send({ | |
528 | - code: response.statusCode, | |
529 | - message: data.message, | |
530 | - initialize_done: "n", | |
531 | - }); | |
532 | - } | |
533 | - } | |
534 | - function _scb(data1, response) { | |
535 | - if (response.statusCode < 300 && data1.items) { | |
536 | - req.session.passport.user.user_info.perms = data1.items; | |
537 | - req.session.save(function () { | |
538 | - // res.send({"code":200,"message":"切换租户成功"}); | |
539 | - rest.get({ | |
540 | - baseUrl: "url", | |
541 | - url: | |
542 | - settings.restful.url + | |
543 | - "filemeta" + | |
544 | - settings.restful.version + | |
545 | - "/config", | |
546 | - useUrl: true, | |
547 | - params: {}, | |
548 | - callback: _scb1, | |
549 | - req: req, | |
550 | - res: res, | |
551 | - options: {}, | |
552 | - }); | |
553 | - }); | |
554 | - } else { | |
555 | - res.send({ code: response.statusCode, message: data1.message }); | |
556 | - } | |
557 | - } | |
558 | - function _scb1(data2, response) { | |
559 | - if (response.statusCode < 300 && data2 && data2.bucket) { | |
560 | - req.session.passport.user.user_info.oss = data2; | |
561 | - req.session.save(function () { | |
562 | - res.send({ code: 200, message: "切换租户成功" }); | |
563 | - }); | |
564 | - } else { | |
565 | - res.send({ code: 200, message: "切换租户失败" }); | |
566 | - } | |
567 | - } | |
568 | - } | |
569 | - | |
570 | - function sendRejectOffer(req, res) { | |
571 | - rest.get({ | |
572 | - baseUrl: "hrUrl", | |
573 | - url: req.body.url, //传一个参数 | |
574 | - params: {}, | |
575 | - callback: _cb, | |
576 | - req: req, | |
577 | - res: res, | |
578 | - options: {}, | |
579 | - excludeToken: true, | |
580 | - useUrl: true, | |
581 | - }); | |
582 | - function _cb(data, response) { | |
583 | - logger.info("back data:", data); | |
584 | - if (response.statusCode < 300) { | |
585 | - res.send({ action: "ok" }); | |
586 | - } else { | |
587 | - res.send(data); | |
588 | - } | |
589 | - } | |
590 | - } | |
591 | - | |
592 | - function acceptOffer(req, res) { | |
593 | - rest.get({ | |
594 | - baseUrl: "hrUrl", | |
595 | - url: req.body.url, //传一个参数 | |
596 | - params: {}, | |
597 | - callback: _cb, | |
598 | - req: req, | |
599 | - res: res, | |
600 | - options: {}, | |
601 | - excludeToken: true, | |
602 | - useUrl: true, | |
603 | - }); | |
604 | - function _cb(data, response) { | |
605 | - logger.info("back data:", data); | |
606 | - if (response.statusCode < 300) { | |
607 | - res.send({ action: "ok" }); | |
608 | - } else { | |
609 | - res.send(data); | |
610 | - } | |
611 | - } | |
612 | - } | |
613 | - | |
614 | - function imTokens(req, res) { | |
615 | - rest.post({ | |
616 | - url: "auth/im_tokens", | |
617 | - params: req.body, | |
618 | - callback: _cb, | |
619 | - req: req, | |
620 | - res: res, | |
621 | - options: {}, | |
622 | - }); | |
623 | - function _cb(data, response) { | |
624 | - logger.info("back data:", data); | |
625 | - res.send(data); | |
626 | - } | |
627 | - } | |
628 | - | |
629 | - function listChannels(req, res) { | |
630 | - rest.get({ | |
631 | - baseUrl: "chatUrl", | |
632 | - url: "channels?page_size=10&page=0&status=active", | |
633 | - params: req.body, | |
634 | - callback: _cb, | |
635 | - req: req, | |
636 | - res: res, | |
637 | - options: {}, | |
638 | - }); | |
639 | - function _cb(data, response) { | |
640 | - logger.info("back data:", data); | |
641 | - res.send(data); | |
642 | - } | |
643 | - } | |
644 | - | |
645 | - function filemeta(req, res) { | |
646 | - var fullPath = | |
647 | - settings.restful.url + | |
648 | - "filemeta" + | |
649 | - settings.restful.version + | |
650 | - "/object-redirect"; | |
651 | - fullPath = | |
652 | - fullPath + | |
653 | - "?" + | |
654 | - "bucket=" + | |
655 | - req.query.bucket + | |
656 | - "&object=" + | |
657 | - encodeURIComponent(req.query.object); | |
658 | - console.info("fullPath::::::", fullPath); | |
659 | - var options = { | |
660 | - service_catalog: "", | |
661 | - url: fullPath, | |
662 | - useUrl: true, | |
663 | - params: req.body, | |
664 | - callback: _cb, | |
665 | - req: req, | |
666 | - res: res, | |
667 | - options: {}, | |
668 | - }; | |
669 | - rest.get(options); | |
670 | - function _cb(data, response) { | |
671 | - if (data && data.download_url) { | |
672 | - if (req.query.type && "json" == req.query.type) { | |
673 | - res.send(data); | |
674 | - } else { | |
675 | - var url = data.download_url; | |
676 | - let path = url.split("?")[0]; | |
677 | - let pathArray = path.split("/"); | |
678 | - let result = []; | |
679 | - for (var i = 0; i < pathArray.length; i++) { | |
680 | - if (i == pathArray.length - 1) { | |
681 | - result.push(encodeURIComponent(pathArray[i])); | |
682 | - } else { | |
683 | - result.push(pathArray[i]); | |
684 | - } | |
685 | - } | |
686 | - let result1 = result.join("/"); | |
687 | - if (url.indexOf("?") !== -1) { | |
688 | - result1 += "?" + url.split("?")[1]; | |
689 | - } | |
690 | - if (req.query.result_callback) { | |
691 | - res.send(data); | |
692 | - } else { | |
693 | - res.redirect(301, result1); | |
694 | - } | |
695 | - } | |
696 | - } else { | |
697 | - res.send(data); | |
698 | - } | |
699 | - } | |
700 | - } | |
701 | - | |
702 | - function getCustomerQrcode(req, res) { | |
703 | - var fullPath = | |
704 | - settings.restful.url + | |
705 | - "crm" + | |
706 | - settings.restful.version + | |
707 | - "/customers/" + | |
708 | - req.query.id + | |
709 | - "/qrcode"; | |
710 | - var options = { | |
711 | - service_catalog: "", | |
712 | - url: fullPath, | |
713 | - useUrl: true, | |
714 | - params: req.body, | |
715 | - callback: _cb, | |
716 | - req: req, | |
717 | - res: res, | |
718 | - options: {}, | |
719 | - }; | |
720 | - rest.get(options); | |
721 | - function _cb(data, response) { | |
722 | - if (data && data.url_path) { | |
723 | - res.redirect(301, data.url_path); | |
724 | - } else { | |
725 | - res.send(data); | |
726 | - } | |
727 | - } | |
728 | - } | |
729 | - | |
730 | - function getPositionQrcode(req, res) { | |
731 | - var fullPath = | |
732 | - settings.restful.url + | |
733 | - "recruit" + | |
734 | - settings.restful.version + | |
735 | - "/positions/" + | |
736 | - req.query.id + | |
737 | - "/qrcode"; | |
738 | - var options = { | |
739 | - service_catalog: "", | |
740 | - url: fullPath, | |
741 | - useUrl: true, | |
742 | - params: req.body, | |
743 | - callback: _cb, | |
744 | - req: req, | |
745 | - res: res, | |
746 | - options: {}, | |
747 | - }; | |
748 | - rest.get(options); | |
749 | - function _cb(data, response) { | |
750 | - if (data && data.url_path) { | |
751 | - res.redirect(301, data.url_path); | |
752 | - } else { | |
753 | - res.send(data); | |
754 | - } | |
755 | - } | |
756 | - } | |
757 | - | |
758 | - function getOSSConfig(req, res) { | |
759 | - var fullPath = | |
760 | - settings.restful.url + "filemeta" + settings.restful.version + "/config"; | |
761 | - var options = { | |
762 | - service_catalog: "", | |
763 | - url: fullPath, | |
764 | - useUrl: true, | |
765 | - params: req.body, | |
766 | - callback: _cb, | |
767 | - req: req, | |
768 | - res: res, | |
769 | - options: {}, | |
770 | - }; | |
771 | - rest.get(options); | |
772 | - function _cb(data, response) { | |
773 | - if (data && data.bucket) { | |
774 | - req.session.passport.user.user_info.oss = data; | |
775 | - req.session.save(function () { | |
776 | - res.send({ code: 200, message: "oss配置加载成功" }); | |
777 | - }); | |
778 | - } else { | |
779 | - res.send({ code: 200, message: "oss配置加载失败" }); | |
780 | - } | |
781 | - } | |
782 | - } | |
783 | - | |
784 | - function weidianTempLate(req, res) { | |
785 | - const { params } = req; | |
786 | - var fullPath = | |
787 | - settings.restful.url + "socialwork/internal/minishop/" + params.id; | |
788 | - var options = { | |
789 | - service_catalog: "", | |
790 | - url: fullPath, | |
791 | - useUrl: true, | |
792 | - params: req.body, | |
793 | - callback: _cb, | |
794 | - req: req, | |
795 | - res: res, | |
796 | - options: {}, | |
797 | - excludeToken: true, | |
798 | - }; | |
799 | - rest.get(options); | |
800 | - function _cb(data, response) { | |
801 | - logger.info("back data:", data); | |
802 | - if (response.statusCode < 300) { | |
803 | - const { shop_logo = [], shop_name = "", shop_comment = "" } = data; | |
804 | - let imgUrl = ""; | |
805 | - if (shop_logo.length > 0) { | |
806 | - imgUrl = "http://oss.workai.com.cn/public/" + shop_logo[0].object; | |
807 | - } | |
808 | - res.render("template/weiDian", { | |
809 | - imgUrl: imgUrl, | |
810 | - shop_name: shop_name, | |
811 | - shop_comment: shop_comment, | |
812 | - }); | |
813 | - } else { | |
814 | - res.render("template/weiDian"); | |
815 | - } | |
816 | - } | |
817 | - } | |
818 | - | |
819 | - function workaiSecurityOAuth(req, res) { | |
820 | - var params = req.query; | |
821 | - if (params.authorization_code) { | |
822 | - var passport = { | |
823 | - user: { | |
824 | - refreshToken: "", | |
825 | - token: "", | |
826 | - service_catalog: {}, | |
827 | - user_info: {}, | |
828 | - err: null, | |
829 | - }, | |
830 | - }; | |
831 | - async.waterfall( | |
832 | - [ | |
833 | - function (callback) { | |
834 | - //第三方登录 | |
835 | - var tempParams = { | |
836 | - grant_type: "authorization_code_v1", | |
837 | - code: params.authorization_code, | |
838 | - }; | |
839 | - // var tempParams={ | |
840 | - // "grant_type":"password", | |
841 | - // "username":"18510929499", | |
842 | - // "scope":"global_access:tenant_admin", | |
843 | - // "password":"a123456" | |
844 | - // }; | |
845 | - logger.info( | |
846 | - "Third login", | |
847 | - settings.restful.url + "uaa/v1/auth/tokens", | |
848 | - tempParams | |
849 | - ); | |
850 | - rest.restful | |
851 | - .postJson( | |
852 | - settings.restful.url + "uaa/v1/auth/tokens", | |
853 | - tempParams, | |
854 | - { | |
855 | - headers: { | |
856 | - "Content-Type": "application/json", | |
857 | - Accept: "application/json", | |
858 | - }, | |
859 | - } | |
860 | - ) | |
861 | - .on("success", function (data) { | |
862 | - logger.info("Third login json data:", data); | |
863 | - if (data.access_token) { | |
864 | - var scopes = data.scope.split(","); | |
865 | - passport.user.token = data.access_token; | |
866 | - passport.user.refreshToken = data.refresh_token; | |
867 | - passport.user.user_info = data.user || {}; | |
868 | - passport.user.tenant_info = data.tenant; | |
869 | - passport.user.customer_info = data.customer; | |
870 | - passport.user.user_info.perms = data.perms; | |
871 | - passport.user.type = data.user.type; | |
872 | - passport.user.real_auth_status = data.user.real_auth_status; | |
873 | - passport.user.credential_status = data.user.credential_status; | |
874 | - passport.user.user_info.scope = scopes[0]; | |
875 | - callback(null, data); | |
876 | - } else { | |
877 | - var err = new Error("Third login err"); | |
878 | - passport.user.err = data.message; | |
879 | - callback(err, data); | |
880 | - } | |
881 | - }) | |
882 | - .on("error", function (err, response) { | |
883 | - logger.error("Third login error", err); | |
884 | - var err = new Error("Third login err"); | |
885 | - callback(err, response); | |
886 | - }) | |
887 | - .on("fail", function (data, response) { | |
888 | - logger.error("Third login fail", data); | |
889 | - callback(data, response); | |
890 | - }); | |
891 | - }, | |
892 | - function (data, callback) { | |
893 | - //获取机构列表 | |
894 | - var tempHead = {}; | |
895 | - var ip = req.ip.match(/\d+\.\d+\.\d+\.\d+/)[0]; | |
896 | - var user_agent = req.headers["user-agent"] || ""; | |
897 | - tempHead["SXClientIP"] = ip; | |
898 | - tempHead["User-Agent"] = user_agent; | |
899 | - logger.info( | |
900 | - "Third login tenants", | |
901 | - settings.restful.url + "uaa/v1/tenants?all=true", | |
902 | - { accessToken: data.access_token, headers: tempHead } | |
903 | - ); | |
904 | - rest.restful | |
905 | - .get(settings.restful.url + "uaa/v1/tenants?all=true", { | |
906 | - accessToken: data.access_token, | |
907 | - headers: tempHead, | |
908 | - }) | |
909 | - .on("success", function (data1) { | |
910 | - logger.info("Third login tenants list:", data1); | |
911 | - if (data1 && data1.items && data1.items.length > 0) { | |
912 | - callback(null, data1.items); | |
913 | - } else { | |
914 | - var err = new Error("Third login tenants list err"); | |
915 | - passport.user.err = data.message; | |
916 | - callback(err, data); | |
917 | - } | |
918 | - }) | |
919 | - .on("error", function (err, response) { | |
920 | - var err = new Error("Third login tenants list err"); | |
921 | - callback(err, response); | |
922 | - }) | |
923 | - .on("fail", function (data, response) { | |
924 | - callback(data, response); | |
925 | - }); | |
926 | - }, | |
927 | - function (data, callback) { | |
928 | - //刷新token | |
929 | - if (data && data.length == 1) { | |
930 | - var params = { | |
931 | - grant_type: "refresh_token", | |
932 | - scope: "global_access:tenant_admin,tenant:" + data[0].id, | |
933 | - refresh_token: passport.user.refreshToken, | |
934 | - }; | |
935 | - passport.user.token = ""; | |
936 | - logger.info( | |
937 | - "Third login tokens", | |
938 | - settings.restful.url + "uaa/v1/auth/tokens", | |
939 | - params | |
940 | - ); | |
941 | - rest.restful | |
942 | - .postJson(settings.restful.url + "uaa/v1/auth/tokens", params, { | |
943 | - headers: { | |
944 | - "Content-Type": "application/json", | |
945 | - Accept: "application/json", | |
946 | - }, | |
947 | - }) | |
948 | - .on("success", function (data2) { | |
949 | - logger.info("Third login json data2:", data2); | |
950 | - if (data2.access_token) { | |
951 | - var scopes = data2.scope.split(","); | |
952 | - passport.user.token = data2.access_token; | |
953 | - passport.user.refreshToken = data2.refresh_token; | |
954 | - passport.user.user_info = data2.user || {}; | |
955 | - passport.user.tenant_info = data2.tenant; | |
956 | - passport.user.customer_info = data2.customer; | |
957 | - passport.user.user_info.perms = data2.perms; | |
958 | - passport.user.type = data2.user.type; | |
959 | - passport.user.real_auth_status = | |
960 | - data2.user.real_auth_status; | |
961 | - passport.user.credential_status = | |
962 | - data2.user.credential_status; | |
963 | - passport.user.user_info.scope = scopes[0]; | |
964 | - passport.user.user_info.tenant = data2.tenant; | |
965 | - passport.user.user_info.user = { | |
966 | - credential_status: data2.credential_status, | |
967 | - id: data2.id, | |
968 | - is_root: data2.is_root, | |
969 | - mobile: data2.mobile, | |
970 | - name: data2.name, | |
971 | - real_auth_status: data2.real_auth_status, | |
972 | - status: data2.status, | |
973 | - type: data2.type, | |
974 | - wx_open_id: data2.wx_open_id, | |
975 | - }; | |
976 | - callback(null, data2); | |
977 | - } else { | |
978 | - var err = new Error("Third login err"); | |
979 | - passport.user.err = data2.message; | |
980 | - callback(err, data2); | |
981 | - } | |
982 | - }) | |
983 | - .on("error", function (err, response) { | |
984 | - logger.error("Third login error", err); | |
985 | - var err = new Error("Third login err"); | |
986 | - callback(err, response); | |
987 | - }) | |
988 | - .on("fail", function (data2, response) { | |
989 | - logger.error("Third login fail", data2); | |
990 | - callback(data2, response); | |
991 | - }); | |
992 | - } else if (data && data.length > 1) { | |
993 | - // #/login/choose-tenant | |
994 | - callback(null, data); | |
995 | - } else { | |
996 | - var err = new Error("Third login tenants list item error"); | |
997 | - callback(err, data); | |
998 | - } | |
999 | - }, | |
1000 | - ], | |
1001 | - function (err, result) { | |
1002 | - if (err) { | |
1003 | - //登陆失败跳转失败页 | |
1004 | - res.render("loginerr", { err: err }); | |
1005 | - } else if (result instanceof Array && result.length > 1) { | |
1006 | - //登陆成功跳转选择机构页 | |
1007 | - req.session.passport = passport; | |
1008 | - req.session.save(function () { | |
1009 | - res.redirect(301, settings.prefix + "#login/choose-tenant"); | |
1010 | - }); | |
1011 | - } else { | |
1012 | - req.session.passport = passport; | |
1013 | - req.session.save(function () { | |
1014 | - rest.get({ | |
1015 | - baseUrl: "url", | |
1016 | - url: | |
1017 | - settings.restful.url + | |
1018 | - "uaa" + | |
1019 | - settings.restful.version + | |
1020 | - "/perms/detail", | |
1021 | - useUrl: true, | |
1022 | - params: {}, | |
1023 | - callback: _scb, | |
1024 | - req: req, | |
1025 | - res: res, | |
1026 | - options: {}, | |
1027 | - }); | |
1028 | - }); | |
1029 | - function _scb(data1, response) { | |
1030 | - if (response.statusCode < 300 && data1.items) { | |
1031 | - req.session.passport.user.user_info.perms = data1.items; | |
1032 | - req.session.save(function () { | |
1033 | - if (params.redirect_page) { | |
1034 | - res.redirect( | |
1035 | - 301, | |
1036 | - settings.prefix + "#" + params.redirect_page | |
1037 | - ); //登陆成功跳转首页 | |
1038 | - } else { | |
1039 | - res.redirect(301, settings.prefix + "#container/home"); //登陆成功跳转首页 | |
1040 | - } | |
1041 | - }); | |
1042 | - } else { | |
1043 | - if (params.redirect_page) { | |
1044 | - res.redirect( | |
1045 | - 301, | |
1046 | - settings.prefix + "#" + params.redirect_page | |
1047 | - ); //登陆成功跳转首页 | |
1048 | - } else { | |
1049 | - res.redirect(301, settings.prefix + "#container/home"); //登陆成功跳转首页 | |
1050 | - } | |
1051 | - } | |
1052 | - } | |
1053 | - } | |
1054 | - } | |
1055 | - ); | |
1056 | - } | |
1057 | - } | |
1058 | - | |
1059 | - function getTastLink(req, res) { | |
1060 | - var url = crypto.createHash("md5").update(req.body.id).digest("hex"); | |
1061 | - if (settings.prefix && settings.prefix.length > 1) { | |
1062 | - res.send( | |
1063 | - req.protocol + | |
1064 | - "://" + | |
1065 | - req.get("host") + | |
1066 | - settings.prefix.substring(0, settings.prefix.length - 1) + | |
1067 | - "/socialwork/freedom-jobs/emps/" + | |
1068 | - req.body.id + | |
1069 | - "/" + | |
1070 | - url | |
1071 | - ); | |
1072 | - } else { | |
1073 | - res.send({ | |
1074 | - url: | |
1075 | - req.protocol + | |
1076 | - "://" + | |
1077 | - req.get("host") + | |
1078 | - "/socialwork/freedom-jobs/emps/" + | |
1079 | - req.body.id + | |
1080 | - "/" + | |
1081 | - url, | |
1082 | - }); | |
1083 | - } | |
1084 | - } | |
1085 | - | |
1086 | - function freedomJobsEmp(req, res) { | |
1087 | - var id = req.params.id; | |
1088 | - // var url = crypto.createHash('md5').update(id).digest('hex'); | |
1089 | - if (false) { | |
1090 | - //验证未通过verification != url | |
1091 | - if (settings.prefix && settings.prefix.length > 1) { | |
1092 | - res.redirect(settings.prefix.substring(0, settings.prefix.length - 1)); | |
1093 | - } else { | |
1094 | - res.redirect("/"); | |
1095 | - } | |
1096 | - } else { | |
1097 | - //验证通过跳转,获取token存到session里 | |
1098 | - var passport = { | |
1099 | - user: { | |
1100 | - refreshToken: "", | |
1101 | - token: "", | |
1102 | - service_catalog: {}, | |
1103 | - user_info: {}, | |
1104 | - err: null, | |
1105 | - }, | |
1106 | - }; | |
1107 | - var tempParams = { | |
1108 | - grant_type: "client_credential", | |
1109 | - client_id: "340161778618994688", //多宝鱼环境 | |
1110 | - client_secret: "0f8c30aa3d15332652f62c3eaf22fdea", | |
1111 | - }; | |
1112 | - rest.restful | |
1113 | - .postJson(settings.restful.url + "uaa/v1/auth/tokens", tempParams, { | |
1114 | - headers: { | |
1115 | - "Content-Type": "application/json", | |
1116 | - Accept: "application/json", | |
1117 | - }, | |
1118 | - }) | |
1119 | - .on("success", function (data) { | |
1120 | - if (data.access_token) { | |
1121 | - var scopes = data.scope.split(","); | |
1122 | - passport.user.token = data.access_token; | |
1123 | - passport.user.refreshToken = data.refresh_token; | |
1124 | - passport.user.user_info = data.user; | |
1125 | - passport.user.tenant_info = data.tenant; | |
1126 | - passport.user.customer_info = data.customer; | |
1127 | - passport.user.user_info.perms = data.perms; | |
1128 | - passport.user.type = data.user.type; | |
1129 | - passport.user.real_auth_status = data.user.real_auth_status; | |
1130 | - passport.user.credential_status = data.user.credential_status; | |
1131 | - passport.user.user_info.scope = scopes[0]; | |
1132 | - req.session.passport = passport; | |
1133 | - req.session.save(function () { | |
1134 | - if (settings.prefix && settings.prefix.length > 1) { | |
1135 | - res.redirect( | |
1136 | - 301, | |
1137 | - settings.prefix.substring(0, settings.prefix.length - 1) + | |
1138 | - "/#task_assign/" + | |
1139 | - id | |
1140 | - ); | |
1141 | - } else { | |
1142 | - res.redirect(301, "/#task_assign/" + id); | |
1143 | - } | |
1144 | - }); | |
1145 | - } else { | |
1146 | - passport.user.err = data.message; | |
1147 | - } | |
1148 | - }) | |
1149 | - .on("error", function (err, response) { | |
1150 | - logger.error("Third login error", err); | |
1151 | - var err = new Error("Third login err"); | |
1152 | - callback(err, response); | |
1153 | - }) | |
1154 | - .on("fail", function (data) { | |
1155 | - logger.error("Third login fail", data); | |
1156 | - }); | |
1157 | - } | |
1158 | - } | |
1159 | - | |
1160 | - function getShortToken(req, res) { | |
1161 | - var params = { | |
1162 | - grant_type: "refresh_token", | |
1163 | - scope: req.session.passport.user.scope, | |
1164 | - refresh_token: req.session.passport.user.refreshToken, | |
1165 | - }; | |
1166 | - logger.info("getShortToken:", params); | |
1167 | - rest.postJson({ | |
1168 | - baseUrl: "url", | |
1169 | - url: | |
1170 | - settings.restful.url + | |
1171 | - "uaa" + | |
1172 | - settings.restful.version + | |
1173 | - "/auth/tokens", | |
1174 | - useUrl: true, | |
1175 | - params: params, | |
1176 | - callback: _cb, | |
1177 | - req: req, | |
1178 | - res: res, | |
1179 | - options: {}, | |
1180 | - excludeToken: true, | |
1181 | - }); | |
1182 | - function _cb(data, response) { | |
1183 | - console.log(data); | |
1184 | - logger.info("back data:", data); | |
1185 | - res.send({ code: response.statusCode, access_token: data.access_token }); | |
1186 | - } | |
1187 | - } | |
1188 | - | |
1189 | - return { | |
1190 | - index: index, | |
1191 | - indexPrefix, | |
1192 | - register: register, | |
1193 | - signIn: signIn, | |
1194 | - doLogin: doLogin, | |
1195 | - signOut: signOut, | |
1196 | - smsCodes: smsCodes, | |
1197 | - tenants: tenants, | |
1198 | - productDes: productDes, | |
1199 | - resetPass: resetPass, | |
1200 | - updatePassword: updatePassword, | |
1201 | - loadUserInfo: loadUserInfo, | |
1202 | - getUploaderToken: getUploaderToken, | |
1203 | - getObjectTokenByID, | |
1204 | - delOSSObject: delOSSObject, | |
1205 | - healthMonitor, | |
1206 | - smsVerification, | |
1207 | - updateUserRoles, | |
1208 | - getRoles, | |
1209 | - getUserRoles, | |
1210 | - getTenant, | |
1211 | - updateTenant, | |
1212 | - offer, | |
1213 | - onboardStatus, | |
1214 | - dowloadApp, | |
1215 | - mobileRegister, | |
1216 | - mobileRegisterSuccess, | |
1217 | - softwareLicense, | |
1218 | - recharge, | |
1219 | - changePassForRegister, | |
1220 | - changeTenant, | |
1221 | - sendRejectOffer, | |
1222 | - acceptOffer, | |
1223 | - imTokens, | |
1224 | - listChannels, | |
1225 | - filemeta, | |
1226 | - getCustomerQrcode, | |
1227 | - getPositionQrcode, | |
1228 | - getOSSConfig, | |
1229 | - weidianTempLate, | |
1230 | - workaiSecurityOAuth, | |
1231 | - getTastLink, | |
1232 | - freedomJobsEmp, | |
1233 | - getShortToken, | |
1234 | - getImg | |
1235 | - }; | |
1 | +var passport = require('passport'); | |
2 | +var clientRest = require('restler'); | |
3 | +var urlencode = require('urlencode'); | |
4 | +var async = require('async'); | |
5 | +var crypto = require('crypto'); | |
6 | + | |
7 | +exports = module.exports = function (logger, rest, redis, settings) { | |
8 | + function index(req, res, next) { | |
9 | + logger.debug(req.user); | |
10 | + if (req.csrfToken) { | |
11 | + res.render('index', { 'csrfToken': req.csrfToken() }); | |
12 | + } else | |
13 | + res.render('index', { 'csrfToken': '' }); | |
14 | + } | |
15 | + | |
16 | + function indexPrefix(req, res, next) { | |
17 | + logger.debug(req.user); | |
18 | + if (req.csrfToken) { | |
19 | + if (settings.prefix && settings.prefix.length > 1) { | |
20 | + res.redirect(settings.prefix.substring(0, settings.prefix.length - 1)); | |
21 | + } else { | |
22 | + res.render('index', { 'csrfToken': req.csrfToken() }); | |
23 | + } | |
24 | + } else | |
25 | + res.render('index', { 'csrfToken': '' }); | |
26 | + } | |
27 | + | |
28 | + function productDes(req, res, next) { | |
29 | + if (req.csrfToken) | |
30 | + res.render('chat/new-chat', { 'csrfToken': req.csrfToken() }); | |
31 | + else | |
32 | + res.render('chat/new-chat', { 'csrfToken': '' }); | |
33 | + } | |
34 | + | |
35 | + function recharge(req, res, next) { | |
36 | + | |
37 | + var params = JSON.parse(urlencode.decode(req.query.params)); | |
38 | + logger.debug(params); | |
39 | + if (req.csrfToken) | |
40 | + res.render('recharge', { 'recharge': params, 'csrfToken': req.csrfToken() }); | |
41 | + else | |
42 | + res.render('recharge', { 'recharge': params, 'csrfToken': '' }); | |
43 | + | |
44 | + } | |
45 | + | |
46 | + function register(req, res, next) { | |
47 | + if (req.csrfToken) | |
48 | + res.render('newRegister', { 'csrfToken': req.csrfToken() }); | |
49 | + else | |
50 | + res.render('newRegister', { 'csrfToken': '' }); | |
51 | + } | |
52 | + | |
53 | + function mobileRegister(req, res, next) { | |
54 | + if (req.csrfToken) | |
55 | + res.render('registerMobile', { 'csrfToken': req.csrfToken() }); | |
56 | + else | |
57 | + res.render('registerMobile', { 'csrfToken': '' }); | |
58 | + } | |
59 | + | |
60 | + function mobileRegisterSuccess(req, res, next) { | |
61 | + if (req.csrfToken) | |
62 | + res.render('registerMobileSuccess', { 'csrfToken': req.csrfToken() }); | |
63 | + else | |
64 | + res.render('registerMobileSuccess', { 'csrfToken': '' }); | |
65 | + } | |
66 | + | |
67 | + function signIn(req, res, next) { | |
68 | + // console.log(req); | |
69 | + if (req.csrfToken) | |
70 | + res.render('newLogin', { 'csrfToken': req.csrfToken() }); | |
71 | + else | |
72 | + res.render('newLogin', { 'csrfToken': '' }); | |
73 | + | |
74 | + } | |
75 | + | |
76 | + function doLogin(req, res, next) { | |
77 | + passport.authenticate('local', function (err, user, info) { | |
78 | + logger.debug("doLogin:", err, user, info) | |
79 | + if (err) { return next(err); } | |
80 | + if (!user) { return res.send(info); } | |
81 | + req.logIn(user, function (err) { | |
82 | + if (err) { return next(err); } | |
83 | + return res.send({ 'ok': '登录成功', user_info: req.session.passport.user.user_info }); | |
84 | + }); | |
85 | + })(req, res, next); | |
86 | + } | |
87 | + | |
88 | + function refreshToken (req, res, next) { | |
89 | + var timer = null; | |
90 | + const count = req.session.refreshTokenCount||0; | |
91 | + if(count>3){ | |
92 | + res.send({ | |
93 | + code:500, | |
94 | + message:'失败' | |
95 | + }) | |
96 | + timer = setTimeout(()=>{ | |
97 | + req.session.refreshTokenCount=0 | |
98 | + clearTimeout(timer) | |
99 | + },1000*60*5) | |
100 | + return | |
101 | + } | |
102 | + var tempParams = { | |
103 | + "grant_type": "refresh_token", | |
104 | + "username": req.session.passport.user.user_info.user.mobile, | |
105 | + refresh_token:req.session.passport.user.refreshToken, | |
106 | + "scope": "global_access:tenant_admin", | |
107 | + }; | |
108 | + var url = rest.getBaseUrl('auth/tokens', 'uaa'); | |
109 | + var headers = rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req); | |
110 | + rest.restful.postJson(url, tempParams, { | |
111 | + headers: headers | |
112 | + }).on('success',function(data,response){ | |
113 | + req.session.passport.user.token = data.access_token; | |
114 | + req.session.refreshTokenCount = count+1; | |
115 | + res.send({code:200,message:'成功'}) | |
116 | + rest.proxyLog(data,response,req,{headers,'data':tempParams,url}) | |
117 | + }) | |
118 | + } | |
119 | + | |
120 | + function signOut(req, res, next) { | |
121 | + if (req.session.passport && req.session.passport.user && req.session.passport.user.user_info && req.session.passport.user.user_info.user) | |
122 | + logger.debug(req.session.passport.user.user_info.user, 'You have successfully logged out'); | |
123 | + req.logout(); | |
124 | + req.flash('success', 'You have successfully logged out'); | |
125 | + res.redirect('/'); | |
126 | + } | |
127 | + | |
128 | + function smsCodes(req, res, next) { | |
129 | + rest.postJson({ | |
130 | + 'baseUrl': 'url', | |
131 | + 'url': 'auth/smscodes', | |
132 | + 'params': req.body, | |
133 | + 'callback': _cb, | |
134 | + 'req': req, | |
135 | + 'res': res, | |
136 | + 'options': {}, | |
137 | + 'excludeToken': true | |
138 | + }) | |
139 | + function _cb(data, response) { | |
140 | + logger.debug("back data:", data); | |
141 | + if (response.statusCode < 300) { | |
142 | + res.send({ "code": 200, "message": "发送成功" }); | |
143 | + } else { | |
144 | + res.send(data); | |
145 | + } | |
146 | + }; | |
147 | + } | |
148 | + | |
149 | + function tenants(req, res, next) { | |
150 | + rest.register({ | |
151 | + 'baseUrl': 'url', | |
152 | + 'url': 'tenants', | |
153 | + 'params': req.body, | |
154 | + 'callback': _cb, | |
155 | + 'req': req, | |
156 | + 'res': res, | |
157 | + 'options': {}, | |
158 | + 'excludeToken': true | |
159 | + }); | |
160 | + function _cb(data, response) { | |
161 | + logger.debug("back data:", data); | |
162 | + res.send(data); | |
163 | + }; | |
164 | + } | |
165 | + | |
166 | + function resetPass(req, res) { | |
167 | + rest.putJson({ | |
168 | + 'baseUrl': 'url', | |
169 | + 'url': 'auth/user', | |
170 | + 'params': { | |
171 | + 'user': req.body.user, | |
172 | + 'password': req.body.password, | |
173 | + 'again_password': req.body.again_password | |
174 | + }, | |
175 | + 'callback': _cb, | |
176 | + 'req': req, | |
177 | + 'res': res, | |
178 | + 'options': {} | |
179 | + }) | |
180 | + function _cb(data, response) { | |
181 | + logger.debug("back data:", data); | |
182 | + res.send(data); | |
183 | + }; | |
184 | + } | |
185 | + | |
186 | + function updatePassword(req, res) { | |
187 | + rest.patchJson({ | |
188 | + 'baseUrl': 'url', | |
189 | + 'url': 'users/' + req.body.userId, | |
190 | + 'params': { | |
191 | + 'password': req.body.password | |
192 | + }, | |
193 | + 'callback': _cb, | |
194 | + 'req': req, | |
195 | + 'res': res, | |
196 | + 'options': {} | |
197 | + }) | |
198 | + function _cb(data, response) { | |
199 | + logger.debug("back data:", data); | |
200 | + res.send(data); | |
201 | + }; | |
202 | + } | |
203 | + | |
204 | + | |
205 | + function loadUserInfo(req, res,next) { | |
206 | + | |
207 | + if (req.session.passport.user && req.session.passport.user.user_info) { | |
208 | + logger.debug("loadUserInfo:", req.session.passport.user.user_info); | |
209 | + if(req.body.id){ | |
210 | + var params = { | |
211 | + grant_type: 'refresh_token', | |
212 | + scope: 'global_access:tenant_admin,tenant:' + req.body.id, | |
213 | + refresh_token: req.session.passport.user.refreshToken | |
214 | + } | |
215 | + // req.session.passport.user.token = ''; | |
216 | + rest.postJson({ | |
217 | + 'baseUrl': 'url', | |
218 | + 'url': settings.restful.url + 'uaa' + settings.restful.version + '/auth/tokens', | |
219 | + 'useUrl': true, | |
220 | + 'params': params, | |
221 | + 'callback': _cb, | |
222 | + 'req': req, | |
223 | + 'res': res, | |
224 | + 'options': {}, | |
225 | + 'excludeToken': true | |
226 | + }) | |
227 | + function _cb(data, response) { | |
228 | + logger.debug("changeTenant,tokens......:", data); | |
229 | + if (response.statusCode < 300) { | |
230 | + req.session.passport.user.token = data.access_token; | |
231 | + req.session.passport.user.refreshToken = data.refresh_token; | |
232 | + req.session.passport.user.user_info = { | |
233 | + 'user': data.user, | |
234 | + 'perms': req.session.passport.user.user_info.perms, | |
235 | + 'tenant': data.tenant, | |
236 | + 'scope': data.scope, | |
237 | + 'oss': req.session.passport.user.user_info.oss, | |
238 | + }; | |
239 | + req.session.save(function (err) { | |
240 | + rest.get({ | |
241 | + 'baseUrl': 'url', | |
242 | + 'url': settings.restful.url + 'uaa' + settings.restful.version + '/perms/detail', | |
243 | + 'useUrl': true, | |
244 | + 'params': {}, | |
245 | + 'callback': _scb, | |
246 | + 'req': req, | |
247 | + 'res': res, | |
248 | + 'options': {} | |
249 | + }); | |
250 | + }) | |
251 | + } else { | |
252 | + res.send({ "code": response.statusCode, "message": data.message, initialize_done: "n" }); | |
253 | + } | |
254 | + }; | |
255 | + function _scb(data1, response) { | |
256 | + if (response.statusCode < 300 && data1.items) { | |
257 | + logger.debug("perms......:", data1.items); | |
258 | + //判断是否存在优学乐业菜单 | |
259 | + if (data1.items.length > 0) { | |
260 | + let yxly_list = data1.items.filter((item, index) => { return item.module == 'yxly' }); | |
261 | + if (yxly_list.length > 0) { | |
262 | + loadYxlyToken(req, res); | |
263 | + } | |
264 | + } | |
265 | + | |
266 | + req.session.passport.user.user_info.perms = data1.items; | |
267 | + req.session.save(function (err) { | |
268 | + rest.get({ | |
269 | + 'baseUrl': 'url', | |
270 | + 'url': settings.restful.url + 'filemeta' + settings.restful.version + '/config', | |
271 | + 'useUrl': true, | |
272 | + 'params': {}, | |
273 | + 'callback': _scb1, | |
274 | + 'req': req, | |
275 | + 'res': res, | |
276 | + 'options': {} | |
277 | + }); | |
278 | + }) | |
279 | + } else { | |
280 | + res.send({ "code": response.statusCode, "message": data1.message }); | |
281 | + } | |
282 | + } | |
283 | + function _scb1(data2, response) { | |
284 | + if (response.statusCode < 300 && data2 && data2.bucket) { | |
285 | + req.session.passport.user.user_info.oss = data2; | |
286 | + req.session.save(function (err) { | |
287 | + res.send({ user_info: req.session.passport.user.user_info, prefix: settings.prefix }); | |
288 | + }); | |
289 | + } else { | |
290 | + res.send({ "code": 200, "message": "切换租户失败" }); | |
291 | + } | |
292 | + } | |
293 | + }else { | |
294 | + res.send({ user_info: req.session.passport.user.user_info, prefix: settings.prefix }); | |
295 | + } | |
296 | + } else { | |
297 | + res.send({ user_info: null, prefix: settings.prefix }); | |
298 | + } | |
299 | + } | |
300 | + | |
301 | + function getUploaderToken(req, res) { | |
302 | + rest.postJson({ | |
303 | + 'baseUrl': 'ossUrl', | |
304 | + 'url': 'inits', | |
305 | + 'params': req.body, | |
306 | + 'callback': _cb, | |
307 | + 'req': req, | |
308 | + 'res': res, | |
309 | + 'options': {} | |
310 | + }) | |
311 | + function _cb(data, response) { | |
312 | + logger.debug("back data:", data); | |
313 | + res.send(data); | |
314 | + }; | |
315 | + } | |
316 | + | |
317 | + function getObjectTokenByID(req, res) { | |
318 | + rest.get({ | |
319 | + 'baseUrl': 'ossUrl', | |
320 | + 'url': 'objects/' + req.body.file_id, | |
321 | + 'params': {}, | |
322 | + 'callback': _cb, | |
323 | + 'req': req, | |
324 | + 'res': res, | |
325 | + 'options': {} | |
326 | + }) | |
327 | + function _cb(data, response) { | |
328 | + logger.debug("back data:", data); | |
329 | + res.send(data); | |
330 | + }; | |
331 | + } | |
332 | + | |
333 | + function delOSSObject(req, res) { | |
334 | + rest.del({ | |
335 | + 'baseUrl': 'ossUrl', | |
336 | + 'url': 's3objects/' + req.body.request_id + '?bucket=' + req.body.bucket + '&file=' + req.body.name, | |
337 | + 'params': {}, | |
338 | + 'callback': _cb, | |
339 | + 'req': req, | |
340 | + 'res': res, | |
341 | + 'options': {} | |
342 | + }) | |
343 | + function _cb(data, response) { | |
344 | + logger.debug("back data:", data); | |
345 | + logger.debug(response.statusCode) | |
346 | + if (response.statusCode < 300) { | |
347 | + res.send({ 'delete': 'ok' }); | |
348 | + } | |
349 | + }; | |
350 | + } | |
351 | + | |
352 | + function smsVerification(req, res, next) { | |
353 | + rest.postJson({ | |
354 | + 'baseUrl': 'url', | |
355 | + 'url': 'auth/sms_verification', | |
356 | + 'params': req.body, | |
357 | + 'callback': _cb, | |
358 | + 'req': req, | |
359 | + 'res': res, | |
360 | + 'options': {}, | |
361 | + 'excludeToken': true | |
362 | + }) | |
363 | + function _cb(data, response) { | |
364 | + logger.debug("back data:", data); | |
365 | + if (response.statusCode < 300) { | |
366 | + res.send({ "code": 200, "message": "发送成功" }); | |
367 | + } else { | |
368 | + res.send({ "code": response.statusCode, "message": data.message, 'errors': data.errors }); | |
369 | + } | |
370 | + }; | |
371 | + } | |
372 | + | |
373 | + function healthMonitor(req, res) { | |
374 | + res.statusCode = 200; | |
375 | + return res.send('status ok'); | |
376 | + } | |
377 | + | |
378 | + | |
379 | + function updateUserRoles(req, res) { | |
380 | + rest.putJson({ | |
381 | + 'baseUrl': 'url', | |
382 | + 'url': 'user_roles/' + req.body.user_id, | |
383 | + 'params': req.body.roles, | |
384 | + 'callback': _cb, | |
385 | + 'req': req, | |
386 | + 'res': res, | |
387 | + 'options': {} | |
388 | + }) | |
389 | + function _cb(data, response) { | |
390 | + logger.debug("back data:", data); | |
391 | + if (response.statusCode < 300) { | |
392 | + res.send({ 'back': 'ok' }); | |
393 | + } else { | |
394 | + res.send(data); | |
395 | + } | |
396 | + }; | |
397 | + } | |
398 | + | |
399 | + function getRoles(req, res, next) { | |
400 | + rest.get({ | |
401 | + 'baseUrl': 'url', | |
402 | + 'url': 'roles', | |
403 | + 'params': {}, | |
404 | + 'callback': _cb, | |
405 | + 'req': req, | |
406 | + 'res': res, | |
407 | + 'options': {} | |
408 | + }) | |
409 | + function _cb(data, response) { | |
410 | + logger.debug("back data:", data); | |
411 | + res.send(data); | |
412 | + }; | |
413 | + } | |
414 | + | |
415 | + | |
416 | + function getUserRoles(req, res, next) { | |
417 | + rest.get({ | |
418 | + 'baseUrl': 'url', | |
419 | + 'url': 'user_roles?user=' + urlencode(req.body.user) + '&limit=' + req.body.limit + '&offset=' + req.body.offset, | |
420 | + 'params': {}, | |
421 | + 'callback': _cb, | |
422 | + 'req': req, | |
423 | + 'res': res, | |
424 | + 'options': {} | |
425 | + }) | |
426 | + function _cb(data, response) { | |
427 | + logger.debug("back data:", data); | |
428 | + res.send(data); | |
429 | + }; | |
430 | + } | |
431 | + | |
432 | + function getTenant(req, res) { | |
433 | + rest.get({ | |
434 | + 'baseUrl': 'url', | |
435 | + 'url': 'tenants/' + req.body.tenant_id, | |
436 | + 'params': {}, | |
437 | + 'callback': _cb, | |
438 | + 'req': req, | |
439 | + 'res': res, | |
440 | + 'options': {} | |
441 | + }) | |
442 | + function _cb(data, response) { | |
443 | + logger.debug("back data:", data); | |
444 | + res.send(data); | |
445 | + }; | |
446 | + } | |
447 | + | |
448 | + function updateTenant(req, res) { | |
449 | + rest.putJson({ | |
450 | + 'baseUrl': 'url', | |
451 | + 'url': 'tenants/' + req.body.tenant_id, | |
452 | + 'params': req.body.tenant, | |
453 | + 'callback': _cb, | |
454 | + 'req': req, | |
455 | + 'res': res, | |
456 | + 'options': {} | |
457 | + }) | |
458 | + function _cb(data, response) { | |
459 | + logger.debug("back data:", data); | |
460 | + res.send(data); | |
461 | + }; | |
462 | + } | |
463 | + | |
464 | + function offer(req, res) { | |
465 | + rest.get({ | |
466 | + 'baseUrl': 'hrUrl', | |
467 | + 'url': 'offers/' + req.params.requestId + '?tenant_id=' + req.query.tenant_id, | |
468 | + 'params': {}, | |
469 | + 'callback': _cb, | |
470 | + 'req': req, | |
471 | + 'res': res, | |
472 | + 'options': {}, | |
473 | + 'excludeToken': true | |
474 | + }) | |
475 | + function _cb(data, response) { | |
476 | + logger.debug(data); | |
477 | + data['offerId'] = req.params.requestId; | |
478 | + data['tenantId'] = req.query.tenant_id; | |
479 | + res.render('offer', data); | |
480 | + }; | |
481 | + } | |
482 | + | |
483 | + function onboardStatus(req, res) { | |
484 | + rest.get({ | |
485 | + 'baseUrl': 'hrUrl', | |
486 | + 'url': 'onboard-status', | |
487 | + 'params': {}, | |
488 | + 'callback': _cb, | |
489 | + 'req': req, | |
490 | + 'res': res, | |
491 | + 'options': {}, | |
492 | + 'useUrl': true | |
493 | + }) | |
494 | + function _cb(data, response) { | |
495 | + logger.debug("back data:", data); | |
496 | + res.send(data); | |
497 | + }; | |
498 | + } | |
499 | + | |
500 | + function dowloadApp(req, res) { | |
501 | + var mobileAgent = req.headers['user-agent'].toLowerCase(); | |
502 | + var agent = { | |
503 | + android: mobileAgent.indexOf('android') > -1 || mobileAgent.indexOf('Adr') > -1, | |
504 | + iPhone: mobileAgent.indexOf('iphone') > -1, | |
505 | + iPad: mobileAgent.indexOf('ipad') > -1 | |
506 | + } | |
507 | + if (agent.iPhone || agent.iPad) { | |
508 | + res.redirect(301, 'https://itunes.apple.com/cn/app/%E8%96%AA%E5%91%97/id1140779439?l=en&mt=8'); | |
509 | + } else if (agent.android) { | |
510 | + res.redirect(301, 'http://krhrimg.oss-cn-beijing.aliyuncs.com/appdownload/production/android/krhr-android.apk'); | |
511 | + } else { | |
512 | + res.redirect(301, 'http://krhrimg.oss-cn-beijing.aliyuncs.com/appdownload/production/android/krhr-android.apk'); | |
513 | + } | |
514 | + } | |
515 | + | |
516 | + function softwareLicense(req, res, next) { | |
517 | + res.render('softwareLicense'); | |
518 | + } | |
519 | + | |
520 | + function changePassForRegister(req, res, next) { | |
521 | + var options = { | |
522 | + 'baseUrl': 'url', | |
523 | + 'url': 'users/' + req.body.user_id, | |
524 | + 'params': { | |
525 | + 'password': req.body.password | |
526 | + }, | |
527 | + 'callback': _cb, | |
528 | + 'req': req, | |
529 | + 'res': res, | |
530 | + 'options': {} | |
531 | + }; | |
532 | + if (req.body.access_token) { | |
533 | + options.options = { | |
534 | + "accessToken": req.body.access_token | |
535 | + }; | |
536 | + options['excludeToken'] = true; | |
537 | + } | |
538 | + rest.patchJson(options) | |
539 | + function _cb(data, response) { | |
540 | + logger.debug("back data:", data); | |
541 | + res.send(data); | |
542 | + }; | |
543 | + } | |
544 | + | |
545 | + function changeTenant(req, res, next) { | |
546 | + var params = { | |
547 | + grant_type: 'refresh_token', | |
548 | + scope: 'global_access:tenant_admin,tenant:' + req.body.id, | |
549 | + refresh_token: req.session.passport.user.refreshToken | |
550 | + } | |
551 | + req.session.passport.user.token = ''; | |
552 | + rest.postJson({ | |
553 | + 'baseUrl': 'url', | |
554 | + 'url': settings.restful.url + 'uaa' + settings.restful.version + '/auth/tokens', | |
555 | + 'useUrl': true, | |
556 | + 'params': params, | |
557 | + 'callback': _cb, | |
558 | + 'req': req, | |
559 | + 'res': res, | |
560 | + 'options': {}, | |
561 | + 'excludeToken': true | |
562 | + }) | |
563 | + function _cb(data, response) { | |
564 | + logger.debug("changeTenant,tokens......:", data); | |
565 | + if (response.statusCode < 300) { | |
566 | + req.session.passport.user.token = data.access_token; | |
567 | + req.session.passport.user.refreshToken = data.refresh_token; | |
568 | + req.session.passport.user.user_info = { | |
569 | + 'user': data.user, | |
570 | + 'perms': [], | |
571 | + 'tenant': data.tenant, | |
572 | + 'scope': data.scope, | |
573 | + 'oss': req.session.passport.user.user_info.oss, | |
574 | + }; | |
575 | + req.session.save(function (err) { | |
576 | + rest.get({ | |
577 | + 'baseUrl': 'url', | |
578 | + 'url': settings.restful.url + 'uaa' + settings.restful.version + '/perms/detail', | |
579 | + 'useUrl': true, | |
580 | + 'params': {}, | |
581 | + 'callback': _scb, | |
582 | + 'req': req, | |
583 | + 'res': res, | |
584 | + 'options': {} | |
585 | + }); | |
586 | + }) | |
587 | + } else { | |
588 | + res.send({ "code": response.statusCode, "message": data.message, initialize_done: "n" }); | |
589 | + } | |
590 | + }; | |
591 | + function _scb(data1, response) { | |
592 | + if (response.statusCode < 300 && data1.items) { | |
593 | + logger.debug("perms......:", data1.items); | |
594 | + //判断是否存在优学乐业菜单 | |
595 | + if (data1.items.length > 0) { | |
596 | + let yxly_list = data1.items.filter((item, index) => { return item.module == 'yxly' }); | |
597 | + if (yxly_list.length > 0) { | |
598 | + loadYxlyToken(req, res); | |
599 | + } | |
600 | + } | |
601 | + | |
602 | + req.session.passport.user.user_info.perms = data1.items; | |
603 | + req.session.save(function (err) { | |
604 | + rest.get({ | |
605 | + 'baseUrl': 'url', | |
606 | + 'url': settings.restful.url + 'filemeta' + settings.restful.version + '/config', | |
607 | + 'useUrl': true, | |
608 | + 'params': {}, | |
609 | + 'callback': _scb1, | |
610 | + 'req': req, | |
611 | + 'res': res, | |
612 | + 'options': {} | |
613 | + }); | |
614 | + }) | |
615 | + } else { | |
616 | + res.send({ "code": response.statusCode, "message": data1.message }); | |
617 | + } | |
618 | + } | |
619 | + function _scb1(data2, response) { | |
620 | + if (response.statusCode < 300 && data2 && data2.bucket) { | |
621 | + req.session.passport.user.user_info.oss = data2; | |
622 | + req.session.save(function (err) { | |
623 | + res.send({ "code": 200, "message": "切换租户成功" }); | |
624 | + }); | |
625 | + } else { | |
626 | + res.send({ "code": 200, "message": "切换租户失败" }); | |
627 | + } | |
628 | + } | |
629 | + } | |
630 | + | |
631 | + | |
632 | + function sendRejectOffer(req, res) { | |
633 | + rest.get({ | |
634 | + 'baseUrl': 'hrUrl', | |
635 | + 'url': req.body.url, //传一个参数 | |
636 | + 'params': {}, | |
637 | + 'callback': _cb, | |
638 | + 'req': req, | |
639 | + 'res': res, | |
640 | + 'options': {}, | |
641 | + 'excludeToken': true, | |
642 | + 'useUrl': true | |
643 | + }); | |
644 | + function _cb(data, response) { | |
645 | + logger.debug("back data:", data); | |
646 | + if (response.statusCode < 300) { | |
647 | + res.send({ 'action': 'ok' }); | |
648 | + } else { | |
649 | + res.send(data); | |
650 | + } | |
651 | + }; | |
652 | + } | |
653 | + | |
654 | + function acceptOffer(req, res) { | |
655 | + rest.get({ | |
656 | + 'baseUrl': 'hrUrl', | |
657 | + 'url': req.body.url, //传一个参数 | |
658 | + 'params': {}, | |
659 | + 'callback': _cb, | |
660 | + 'req': req, | |
661 | + 'res': res, | |
662 | + 'options': {}, | |
663 | + 'excludeToken': true, | |
664 | + 'useUrl': true | |
665 | + }); | |
666 | + function _cb(data, response) { | |
667 | + logger.debug("back data:", data); | |
668 | + if (response.statusCode < 300) { | |
669 | + res.send({ 'action': 'ok' }); | |
670 | + } else { | |
671 | + res.send(data); | |
672 | + } | |
673 | + }; | |
674 | + } | |
675 | + | |
676 | + function imTokens(req, res) { | |
677 | + rest.post({ | |
678 | + 'url': 'auth/im_tokens', | |
679 | + 'params': req.body, | |
680 | + 'callback': _cb, | |
681 | + 'req': req, | |
682 | + 'res': res, | |
683 | + 'options': {} | |
684 | + }); | |
685 | + function _cb(data, response) { | |
686 | + logger.debug("back data:", data); | |
687 | + res.send(data); | |
688 | + }; | |
689 | + } | |
690 | + | |
691 | + function listChannels(req, res, next) { | |
692 | + rest.get({ | |
693 | + 'baseUrl': 'chatUrl', | |
694 | + 'url': 'channels?page_size=10&page=0&status=active', | |
695 | + 'params': req.body, | |
696 | + 'callback': _cb, | |
697 | + 'req': req, | |
698 | + 'res': res, | |
699 | + 'options': {} | |
700 | + }) | |
701 | + function _cb(data, response) { | |
702 | + logger.debug("back data:", data); | |
703 | + res.send(data); | |
704 | + }; | |
705 | + } | |
706 | + | |
707 | + function filemeta(req, res, next) { | |
708 | + var fullPath = settings.restful.url + 'filemeta' + settings.restful.version + '/object-redirect'; | |
709 | + fullPath = fullPath + "?" + "bucket=" + req.query.bucket + "&object=" + encodeURIComponent(req.query.object); | |
710 | + console.info('fullPath::::::', fullPath); | |
711 | + var options = { | |
712 | + 'service_catalog': '', | |
713 | + 'url': fullPath, | |
714 | + 'useUrl': true, | |
715 | + 'params': req.body, | |
716 | + 'callback': _cb, | |
717 | + 'req': req, | |
718 | + 'res': res, | |
719 | + 'options': {} | |
720 | + }; | |
721 | + rest.get(options); | |
722 | + function _cb(data, response) { | |
723 | + if (data && data.download_url) { | |
724 | + if (req.query.type && 'json' == req.query.type) { | |
725 | + res.send(data); | |
726 | + } else { | |
727 | + var url = data.download_url; | |
728 | + let path = url.split('?')[0]; | |
729 | + let pathArray = path.split('/'); | |
730 | + let result = []; | |
731 | + for (var i = 0; i < pathArray.length; i++) { | |
732 | + if (i == pathArray.length - 1) { | |
733 | + result.push(encodeURIComponent(pathArray[i])); | |
734 | + } else { | |
735 | + result.push(pathArray[i]); | |
736 | + } | |
737 | + } | |
738 | + let result1 = result.join('/'); | |
739 | + if (url.indexOf('?') !== -1) { | |
740 | + result1 += '?' + url.split('?')[1]; | |
741 | + } | |
742 | + if (req.query.result_callback) { | |
743 | + res.send(data); | |
744 | + } else { | |
745 | + res.redirect(301, result1); | |
746 | + } | |
747 | + } | |
748 | + } else { | |
749 | + res.send(data); | |
750 | + } | |
751 | + } | |
752 | + } | |
753 | + | |
754 | + | |
755 | + function getCustomerQrcode(req, res, next) { | |
756 | + var fullPath = settings.restful.url + 'crm' + settings.restful.version + '/customers/' + req.query.id + '/qrcode'; | |
757 | + var options = { | |
758 | + 'service_catalog': '', | |
759 | + 'url': fullPath, | |
760 | + 'useUrl': true, | |
761 | + 'params': req.body, | |
762 | + 'callback': _cb, | |
763 | + 'req': req, | |
764 | + 'res': res, | |
765 | + 'options': {} | |
766 | + }; | |
767 | + rest.get(options); | |
768 | + function _cb(data, response) { | |
769 | + if (data && data.url_path) { | |
770 | + res.redirect(301, data.url_path); | |
771 | + } else { | |
772 | + res.send(data); | |
773 | + } | |
774 | + } | |
775 | + } | |
776 | + | |
777 | + function getPositionQrcode(req, res, next) { | |
778 | + var fullPath = settings.restful.url + 'recruit' + settings.restful.version + '/positions/' + req.query.id + '/qrcode'; | |
779 | + var options = { | |
780 | + 'service_catalog': '', | |
781 | + 'url': fullPath, | |
782 | + 'useUrl': true, | |
783 | + 'params': req.body, | |
784 | + 'callback': _cb, | |
785 | + 'req': req, | |
786 | + 'res': res, | |
787 | + 'options': {} | |
788 | + }; | |
789 | + rest.get(options); | |
790 | + function _cb(data, response) { | |
791 | + if (data && data.url_path) { | |
792 | + res.redirect(301, data.url_path); | |
793 | + } else { | |
794 | + res.send(data); | |
795 | + } | |
796 | + } | |
797 | + } | |
798 | + | |
799 | + function getOSSConfig(req, res, next) { | |
800 | + var fullPath = settings.restful.url + 'filemeta' + settings.restful.version + '/config'; | |
801 | + var options = { | |
802 | + 'service_catalog': '', | |
803 | + 'url': fullPath, | |
804 | + 'useUrl': true, | |
805 | + 'params': req.body, | |
806 | + 'callback': _cb, | |
807 | + 'req': req, | |
808 | + 'res': res, | |
809 | + 'options': {} | |
810 | + }; | |
811 | + rest.get(options); | |
812 | + function _cb(data, response) { | |
813 | + if (data && data.bucket) { | |
814 | + req.session.passport.user.user_info.oss = data; | |
815 | + req.session.save(function (err) { | |
816 | + res.send({ "code": 200, "message": "oss配置加载成功" }); | |
817 | + }); | |
818 | + } else { | |
819 | + res.send({ "code": 200, "message": "oss配置加载失败" }); | |
820 | + } | |
821 | + } | |
822 | + } | |
823 | + | |
824 | + function weidianTempLate(req, res, next) { | |
825 | + const { params } = req; | |
826 | + var fullPath = settings.restful.url + 'socialwork/internal/minishop/' + params.id; | |
827 | + var options = { | |
828 | + 'service_catalog': '', | |
829 | + 'url': fullPath, | |
830 | + 'useUrl': true, | |
831 | + 'params': req.body, | |
832 | + 'callback': _cb, | |
833 | + 'req': req, | |
834 | + 'res': res, | |
835 | + 'options': {}, | |
836 | + 'excludeToken': true, | |
837 | + }; | |
838 | + rest.get(options); | |
839 | + function _cb(data, response) { | |
840 | + logger.debug("back data:", data); | |
841 | + if (response.statusCode < 300) { | |
842 | + const { shop_logo = [], shop_name = '', shop_comment = '' } = data; | |
843 | + let imgUrl = ''; | |
844 | + if (shop_logo.length > 0) { | |
845 | + imgUrl = 'http://oss.workai.com.cn/public/' + shop_logo[0].object; | |
846 | + } | |
847 | + res.render('template/weiDian', { | |
848 | + imgUrl: imgUrl, | |
849 | + shop_name: shop_name, | |
850 | + shop_comment: shop_comment, | |
851 | + }) | |
852 | + } else { | |
853 | + res.render('template/weiDian') | |
854 | + } | |
855 | + }; | |
856 | + | |
857 | + } | |
858 | + | |
859 | + | |
860 | + function workaiSecurityOAuth(req, res, next) { | |
861 | + var params = req.query; | |
862 | + if (params.authorization_code) { | |
863 | + var passport = { | |
864 | + user: { | |
865 | + refreshToken: "", | |
866 | + token: "", | |
867 | + service_catalog: {}, | |
868 | + user_info: {}, | |
869 | + err: null | |
870 | + } | |
871 | + }; | |
872 | + async.waterfall([ | |
873 | + function (callback) {//第三方登录 | |
874 | + var tempParams = { | |
875 | + "grant_type": 'authorization_code_v1', | |
876 | + "code": params.authorization_code | |
877 | + }; | |
878 | + // var tempParams={ | |
879 | + // "grant_type":"password", | |
880 | + // "username":"18510929499", | |
881 | + // "scope":"global_access:tenant_admin", | |
882 | + // "password":"a123456" | |
883 | + // }; | |
884 | + logger.debug("Third login", settings.restful.url + 'uaa/v1/auth/tokens', tempParams); | |
885 | + rest.restful.postJson(settings.restful.url + 'uaa/v1/auth/tokens', tempParams, { | |
886 | + headers: rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req) | |
887 | + }) | |
888 | + .on('success', function (data, response) { | |
889 | + logger.debug("Third login json data:", data); | |
890 | + if (data.access_token) { | |
891 | + var scopes = data.scope.split(","); | |
892 | + passport.user.token = data.access_token; | |
893 | + passport.user.refreshToken = data.refresh_token; | |
894 | + passport.user.user_info = data.user || {}; | |
895 | + passport.user.tenant_info = data.tenant; | |
896 | + passport.user.customer_info = data.customer; | |
897 | + passport.user.user_info.perms = data.perms; | |
898 | + passport.user.type = data.user.type; | |
899 | + passport.user.real_auth_status = data.user.real_auth_status; | |
900 | + passport.user.credential_status = data.user.credential_status; | |
901 | + passport.user.user_info.scope = scopes[0]; | |
902 | + callback(null, data) | |
903 | + } else { | |
904 | + var err = new Error('Third login err'); | |
905 | + passport.user.err = data.message; | |
906 | + callback(err, data); | |
907 | + } | |
908 | + rest.proxyLog(data,response,req,{headers:rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req),'data':tempParams,url:settings.restful.url + 'uaa/v1/auth/tokens'}) | |
909 | + }).on('error', function (err, response) { | |
910 | + logger.debug("Third login error", err); | |
911 | + var err = new Error('Third login err'); | |
912 | + callback(err, response); | |
913 | + rest.proxyLog(err,response,req,{headers:rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req),'data':tempParams,url:settings.restful.url + 'uaa/v1/auth/tokens'}) | |
914 | + }).on('fail', function (data, response) { | |
915 | + logger.debug("Third login fail", data); | |
916 | + var err = new Error('Third login err'); | |
917 | + callback(data, response); | |
918 | + rest.proxyLog(data,response,req,{headers:rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req),'data':tempParams,url:settings.restful.url + 'uaa/v1/auth/tokens'}) | |
919 | + }); | |
920 | + }, function (data, callback) { //获取机构列表 | |
921 | + var tempHead = {}; | |
922 | + var ip = req.ip.match(/\d+\.\d+\.\d+\.\d+/)[0]; | |
923 | + var user_agent = req.headers['user-agent'] || ''; | |
924 | + tempHead['SXClientIP'] = ip; | |
925 | + tempHead['User-Agent'] = user_agent; | |
926 | + logger.debug("Third login tenants", settings.restful.url + 'uaa/v1/tenants?all=true', { accessToken: data.access_token, headers: tempHead }); | |
927 | + rest.restful.get(settings.restful.url + 'uaa/v1/tenants?all=true', { accessToken: data.access_token, headers: rest.addHeaders(tempHead,req) }) | |
928 | + .on('success', function (data1, response) { | |
929 | + logger.debug("Third login tenants list:", data1); | |
930 | + if (data1 && data1.items && data1.items.length > 0) { | |
931 | + callback(null, data1.items) | |
932 | + } else { | |
933 | + var err = new Error('Third login tenants list err'); | |
934 | + passport.user.err = data.message; | |
935 | + callback(err, data); | |
936 | + } | |
937 | + rest.proxyLog(data1,response,req,{headers:rest.addHeaders(tempHead,req),'data':{},url:settings.restful.url + 'uaa/v1/tenants?all=true'}) | |
938 | + }).on('error', function (err, response) { | |
939 | + var err = new Error('Third login tenants list err'); | |
940 | + callback(err, response); | |
941 | + rest.proxyLog(err,response,req,{headers:rest.addHeaders(tempHead,req),'data':{},url:settings.restful.url + 'uaa/v1/tenants?all=true'}) | |
942 | + }).on('fail', function (data, response) { | |
943 | + var err = new Error('Third login tenants list fail'); | |
944 | + callback(data, response); | |
945 | + rest.proxyLog(data,response,req,{headers:rest.addHeaders(tempHead,req),'data':{},url:settings.restful.url + 'uaa/v1/tenants?all=true'}) | |
946 | + }); | |
947 | + }, function (data, callback) { //刷新token | |
948 | + if (data && data.length == 1) { | |
949 | + var params = { | |
950 | + grant_type: 'refresh_token', | |
951 | + scope: 'global_access:tenant_admin,tenant:' + data[0].id, | |
952 | + refresh_token: passport.user.refreshToken | |
953 | + } | |
954 | + passport.user.token = ''; | |
955 | + logger.debug("Third login tokens", settings.restful.url + 'uaa/v1/auth/tokens', params); | |
956 | + rest.restful.postJson(settings.restful.url + 'uaa/v1/auth/tokens', params, { | |
957 | + headers: rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req) | |
958 | + }) | |
959 | + .on('success', function (data2, response) { | |
960 | + logger.debug("Third login json data2:", data2); | |
961 | + if (data2.access_token) { | |
962 | + var scopes = data2.scope.split(","); | |
963 | + passport.user.token = data2.access_token; | |
964 | + passport.user.refreshToken = data2.refresh_token; | |
965 | + passport.user.user_info = data2.user || {}; | |
966 | + passport.user.tenant_info = data2.tenant; | |
967 | + passport.user.customer_info = data2.customer; | |
968 | + passport.user.user_info.perms = data2.perms; | |
969 | + passport.user.type = data2.user.type; | |
970 | + passport.user.real_auth_status = data2.user.real_auth_status; | |
971 | + passport.user.credential_status = data2.user.credential_status; | |
972 | + passport.user.user_info.scope = scopes[0]; | |
973 | + passport.user.user_info.tenant = data2.tenant; | |
974 | + passport.user.user_info.user = { | |
975 | + credential_status: data2.credential_status, | |
976 | + id: data2.id, | |
977 | + is_root: data2.is_root, | |
978 | + mobile: data2.mobile, | |
979 | + name: data2.name, | |
980 | + real_auth_status: data2.real_auth_status, | |
981 | + status: data2.status, | |
982 | + type: data2.type, | |
983 | + wx_open_id: data2.wx_open_id | |
984 | + }; | |
985 | + callback(null, data2) | |
986 | + } else { | |
987 | + var err = new Error('Third login err'); | |
988 | + passport.user.err = data2.message; | |
989 | + callback(err, data2); | |
990 | + } | |
991 | + rest.proxyLog(data2,response,req,{headers: rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req),'data':params,url:settings.restful.url + 'uaa/v1/auth/tokens'}) | |
992 | + }).on('error', function (err, response) { | |
993 | + logger.debug("Third login error", err); | |
994 | + var err = new Error('Third login err'); | |
995 | + callback(err, response); | |
996 | + rest.proxyLog(err,response,req,{headers: rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req),'data':params,url:settings.restful.url + 'uaa/v1/auth/tokens'}) | |
997 | + }).on('fail', function (data2, response) { | |
998 | + logger.debug("Third login fail", data2); | |
999 | + var err = new Error('Third login err'); | |
1000 | + callback(data2, response); | |
1001 | + rest.proxyLog(data2,response,req,{headers: rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req),'data':params,url:settings.restful.url + 'uaa/v1/auth/tokens'}) | |
1002 | + }); | |
1003 | + } else if (data && data.length > 1) {// #/login/choose-tenant | |
1004 | + callback(null, data) | |
1005 | + } else { | |
1006 | + var err = new Error('Third login tenants list item error'); | |
1007 | + callback(err, data); | |
1008 | + } | |
1009 | + }], function (err, result) { | |
1010 | + if (err) {//登陆失败跳转失败页 | |
1011 | + res.render('loginerr', { 'err': err }); | |
1012 | + } else if (result instanceof Array && result.length > 1) {//登陆成功跳转选择机构页 | |
1013 | + req.session.passport = passport; | |
1014 | + req.session.save(function (err) { | |
1015 | + res.redirect(301, settings.prefix + '#login/choose-tenant'); | |
1016 | + }); | |
1017 | + } else { | |
1018 | + req.session.passport = passport; | |
1019 | + req.session.save(function (err) { | |
1020 | + rest.get({ | |
1021 | + 'baseUrl': 'url', | |
1022 | + 'url': settings.restful.url + 'uaa' + settings.restful.version + '/perms/detail', | |
1023 | + 'useUrl': true, | |
1024 | + 'params': {}, | |
1025 | + 'callback': _scb, | |
1026 | + 'req': req, | |
1027 | + 'res': res, | |
1028 | + 'options': {} | |
1029 | + }); | |
1030 | + }); | |
1031 | + function _scb(data1, response) { | |
1032 | + if (response.statusCode < 300 && data1.items) { | |
1033 | + req.session.passport.user.user_info.perms = data1.items; | |
1034 | + req.session.save(function (err) { | |
1035 | + if (params.redirect_page) { | |
1036 | + res.redirect(301, settings.prefix + '#' + params.redirect_page); //登陆成功跳转首页 | |
1037 | + } else { | |
1038 | + res.redirect(301, settings.prefix + '#container/home'); //登陆成功跳转首页 | |
1039 | + } | |
1040 | + }) | |
1041 | + } else { | |
1042 | + if (params.redirect_page) { | |
1043 | + res.redirect(301, settings.prefix + '#' + params.redirect_page); //登陆成功跳转首页 | |
1044 | + } else { | |
1045 | + res.redirect(301, settings.prefix + '#container/home'); //登陆成功跳转首页 | |
1046 | + } | |
1047 | + } | |
1048 | + } | |
1049 | + } | |
1050 | + }); | |
1051 | + } | |
1052 | + | |
1053 | + } | |
1054 | + | |
1055 | + function getTastLink(req, res, next) { | |
1056 | + var url = crypto.createHash('md5').update(req.body.id).digest('hex'); | |
1057 | + if (settings.prefix && settings.prefix.length > 1) { | |
1058 | + res.send(req.protocol + '://' + req.get('host') + settings.prefix.substring(0, settings.prefix.length - 1) + "/socialwork/freedom-jobs/emps/" + req.body.id + "/" + url); | |
1059 | + } else { | |
1060 | + res.send({ 'url': req.protocol + '://' + req.get('host') + "/socialwork/freedom-jobs/emps/" + req.body.id + "/" + url }); | |
1061 | + } | |
1062 | + } | |
1063 | + | |
1064 | + function freedomJobsEmp(req, res, next) { | |
1065 | + var id = req.params.id; | |
1066 | + var verification = req.params.verification; | |
1067 | + // var url = crypto.createHash('md5').update(id).digest('hex'); | |
1068 | + if (false) {//验证未通过verification != url | |
1069 | + if (settings.prefix && settings.prefix.length > 1) { | |
1070 | + res.redirect(settings.prefix.substring(0, settings.prefix.length - 1)); | |
1071 | + } else { | |
1072 | + res.redirect('/'); | |
1073 | + } | |
1074 | + } else {//验证通过跳转,获取token存到session里 | |
1075 | + var passport = { | |
1076 | + user: { | |
1077 | + refreshToken: "", | |
1078 | + token: "", | |
1079 | + service_catalog: {}, | |
1080 | + user_info: {}, | |
1081 | + err: null | |
1082 | + } | |
1083 | + }; | |
1084 | + var tempParams = { | |
1085 | + "grant_type": "client_credential", | |
1086 | + "client_id": "340161778618994688",//多宝鱼环境 | |
1087 | + "client_secret": "0f8c30aa3d15332652f62c3eaf22fdea" | |
1088 | + }; | |
1089 | + rest.restful.postJson(settings.restful.url + 'uaa/v1/auth/tokens', tempParams, { | |
1090 | + headers:rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req) | |
1091 | + }).on('success', function (data, response) { | |
1092 | + if (data.access_token) { | |
1093 | + var scopes = data.scope.split(","); | |
1094 | + passport.user.token = data.access_token; | |
1095 | + passport.user.refreshToken = data.refresh_token; | |
1096 | + passport.user.user_info = data.user; | |
1097 | + passport.user.tenant_info = data.tenant; | |
1098 | + passport.user.customer_info = data.customer; | |
1099 | + passport.user.user_info.perms = data.perms; | |
1100 | + passport.user.type = data.user.type; | |
1101 | + passport.user.real_auth_status = data.user.real_auth_status; | |
1102 | + passport.user.credential_status = data.user.credential_status; | |
1103 | + passport.user.user_info.scope = scopes[0]; | |
1104 | + req.session.passport = passport; | |
1105 | + req.session.save(function (err) { | |
1106 | + if (settings.prefix && settings.prefix.length > 1) { | |
1107 | + res.redirect(301, settings.prefix.substring(0, settings.prefix.length - 1) + '/#task_assign/' + id); | |
1108 | + } else { | |
1109 | + res.redirect(301, '/#task_assign/' + id); | |
1110 | + } | |
1111 | + }); | |
1112 | + } else { | |
1113 | + var err = new Error('Third login err'); | |
1114 | + passport.user.err = data.message; | |
1115 | + } | |
1116 | + rest.proxyLog(data,response,req,{headers: rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req),'data':tempParams,url:settings.restful.url + 'uaa/v1/auth/tokens'}) | |
1117 | + }).on('error', function (err, response) { | |
1118 | + logger.debug("Third login error", err); | |
1119 | + var err = new Error('Third login err'); | |
1120 | + callback(err, response); | |
1121 | + rest.proxyLog(err,response,req,{headers: rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req),'data':tempParams,url:settings.restful.url + 'uaa/v1/auth/tokens'}) | |
1122 | + }).on('fail', function (data, response) { | |
1123 | + logger.debug("Third login fail", data); | |
1124 | + var err = new Error('Third login err'); | |
1125 | + rest.proxyLog(err,response,req,{headers: rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req),'data':tempParams,url:settings.restful.url + 'uaa/v1/auth/tokens'}) | |
1126 | + }); | |
1127 | + } | |
1128 | + | |
1129 | + } | |
1130 | + | |
1131 | + function getShortToken(req, res, next) { | |
1132 | + var params = { | |
1133 | + grant_type: 'refresh_token', | |
1134 | + scope: req.session.passport.user.scope, | |
1135 | + refresh_token: req.session.passport.user.refreshToken | |
1136 | + } | |
1137 | + logger.debug("getShortToken:", params); | |
1138 | + rest.postJson({ | |
1139 | + 'baseUrl': 'url', | |
1140 | + 'url': settings.restful.url + 'uaa' + settings.restful.version + '/auth/tokens', | |
1141 | + 'useUrl': true, | |
1142 | + 'params': params, | |
1143 | + 'callback': _cb, | |
1144 | + 'req': req, | |
1145 | + 'res': res, | |
1146 | + 'options': {}, | |
1147 | + 'excludeToken': true | |
1148 | + }) | |
1149 | + function _cb(data, response) { | |
1150 | + logger.debug("back data:", data); | |
1151 | + res.send({ "code": response.statusCode, "access_token": data.access_token }); | |
1152 | + }; | |
1153 | + } | |
1154 | + | |
1155 | + function loadYxlyToken(req, res) { | |
1156 | + let hroToken = ''; | |
1157 | + if (req.session.passport && req.session.passport.user && req.session.passport.user && req.session.passport.user.token) { | |
1158 | + hroToken = req.session.passport.user.token; | |
1159 | + } | |
1160 | + let params = { | |
1161 | + way: 'tenant', | |
1162 | + tenantToken: hroToken, | |
1163 | + }; | |
1164 | + | |
1165 | + rest.postJson({ | |
1166 | + 'baseUrl': 'url', | |
1167 | + 'url': settings.excellentRestful.url + 'auth' + settings.excellentRestful.version + '/login', | |
1168 | + 'useUrl': true, | |
1169 | + 'params': params, | |
1170 | + 'callback': _cb, | |
1171 | + 'req': req, | |
1172 | + 'res': res, | |
1173 | + 'options': {}, | |
1174 | + 'headers': { | |
1175 | + "Accept": "application/json", | |
1176 | + "Content-Type": "application/json", | |
1177 | + 'User-Agent': 'Request for Express', | |
1178 | + 'Authorization': 'Basic d29ya2FpOjEyMzQ1Ng==' | |
1179 | + }, | |
1180 | + 'excludeToken': true | |
1181 | + }); | |
1182 | + | |
1183 | + function _cb(result, response) { | |
1184 | + | |
1185 | + if (response.statusCode < 300 && result && result.data) { | |
1186 | + let key = `${req.session.passport.user.user_info.user.id}_yxly_token`; | |
1187 | + redis.set(key, result.data.access_token); | |
1188 | + logger.debug("loadYxlyToken......", key, result.data.access_token); | |
1189 | + } else { | |
1190 | + // res.send({ "code": 200, "message": "切换租户失败" }); | |
1191 | + } | |
1192 | + } | |
1193 | + } | |
1194 | + | |
1195 | + function redirectContract(req, res) { | |
1196 | + logger.warn("00000000000......",req.path); | |
1197 | + let deviceArray = ['android', 'Android', 'iPhone', 'windows phone']; | |
1198 | + let userAgent = req.headers['user-agent']; | |
1199 | + logger.warn("user-agent......", userAgent); | |
1200 | + | |
1201 | + let isMobile = false; | |
1202 | + deviceArray.map((item, index) => { | |
1203 | + if (userAgent.indexOf(item) > 0) { | |
1204 | + isMobile = true; | |
1205 | + } | |
1206 | + }) | |
1207 | + | |
1208 | + logger.warn("isMobile......", isMobile); | |
1209 | + logger.warn("req.session......", req.session); | |
1210 | + | |
1211 | + if (isMobile) { | |
1212 | + logger.warn("44444444......", settings.restful); | |
1213 | + logger.warn("req.query......", req.query); | |
1214 | + | |
1215 | + return res.redirect(301, `${settings.restful.redirectMobileUrl}?state=contracts&code=${req.query.code}&scope=${req.query.scope}`); | |
1216 | + | |
1217 | + | |
1218 | + } else { | |
1219 | + | |
1220 | + // return res.redirect(`/#/main/labor-contract/manage`); | |
1221 | + return res.redirect(`https://www.baidu.com`); | |
1222 | + | |
1223 | + // logger.warn("req.session......", req.session); | |
1224 | + // if(req.session.passport && req.session.passport.user && req.session.passport.user.user_info && req.session.passport.user.user_info.user) { | |
1225 | + // logger.warn("11111111......"); | |
1226 | + // return res.redirect(`/#/main/labor-contract/manage`); | |
1227 | + // } else { | |
1228 | + // logger.warn("22222222......"); | |
1229 | + // return res.redirect(`/#/`); | |
1230 | + // } | |
1231 | + } | |
1232 | + } | |
1233 | + | |
1234 | + return { | |
1235 | + refreshToken:refreshToken, | |
1236 | + index: index, | |
1237 | + indexPrefix, | |
1238 | + register: register, | |
1239 | + signIn: signIn, | |
1240 | + doLogin: doLogin, | |
1241 | + signOut: signOut, | |
1242 | + smsCodes: smsCodes, | |
1243 | + tenants: tenants, | |
1244 | + productDes: productDes, | |
1245 | + resetPass: resetPass, | |
1246 | + updatePassword: updatePassword, | |
1247 | + loadUserInfo: loadUserInfo, | |
1248 | + getUploaderToken: getUploaderToken, | |
1249 | + getObjectTokenByID, | |
1250 | + delOSSObject: delOSSObject, | |
1251 | + healthMonitor, | |
1252 | + smsVerification, | |
1253 | + updateUserRoles, | |
1254 | + getRoles, | |
1255 | + getUserRoles, | |
1256 | + getTenant, | |
1257 | + updateTenant, | |
1258 | + offer, | |
1259 | + onboardStatus, | |
1260 | + dowloadApp, | |
1261 | + mobileRegister, | |
1262 | + mobileRegisterSuccess, | |
1263 | + softwareLicense, | |
1264 | + recharge, | |
1265 | + changePassForRegister, | |
1266 | + changeTenant, | |
1267 | + sendRejectOffer, | |
1268 | + acceptOffer, | |
1269 | + imTokens, | |
1270 | + listChannels, | |
1271 | + filemeta, | |
1272 | + getCustomerQrcode, | |
1273 | + getPositionQrcode, | |
1274 | + getOSSConfig, | |
1275 | + weidianTempLate, | |
1276 | + workaiSecurityOAuth, | |
1277 | + getTastLink, | |
1278 | + freedomJobsEmp, | |
1279 | + getShortToken, | |
1280 | + loadYxlyToken, | |
1281 | + redirectContract, | |
1282 | + }; | |
1236 | 1283 | }; |
1237 | 1284 | |
1238 | -exports["@singleton"] = true; | |
1239 | -exports["@require"] = ["igloo/logger", "utils/rest", "igloo/settings"]; | |
1285 | +exports['@singleton'] = true; | |
1286 | +exports['@require'] = ['igloo/logger', 'utils/rest', 'utils/redis', 'igloo/settings']; | ... | ... |
... | ... | @@ -13,7 +13,7 @@ exports=module.exports=function(logger,rest,settings){ |
13 | 13 | var tempParam=param.split("=") |
14 | 14 | tempParam[1]=urlencode.decode(tempParam[1], 'utf8'); |
15 | 15 | tempParam[1]=tempParam[1].replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); |
16 | - console.log(tempParam[1]); | |
16 | + logger.debug(tempParam[1]); | |
17 | 17 | if(i<(params.length-1)){ |
18 | 18 | if(/[:&+/?%#=]/g.test(tempParam[1])){ |
19 | 19 | temp.push(tempParam[0]+"="+encodeUrl(tempParam[1])+"&"); |
... | ... | @@ -65,7 +65,7 @@ exports=module.exports=function(logger,rest,settings){ |
65 | 65 | |
66 | 66 | function searchService(services,name){ |
67 | 67 | if(services[name]){ |
68 | - console.log(services[name]); | |
68 | + logger.debug(services[name]); | |
69 | 69 | return false; |
70 | 70 | }else{ |
71 | 71 | return true; |
... | ... | @@ -124,7 +124,7 @@ exports=module.exports=function(logger,rest,settings){ |
124 | 124 | rest.get(options); |
125 | 125 | } |
126 | 126 | function _cb(data,response){ |
127 | - logger.info('back data:',data); | |
127 | + logger.debug('back data:',data); | |
128 | 128 | if(response.statusCode<300&&!data){ |
129 | 129 | res.send({ |
130 | 130 | code:200, |
... | ... | @@ -158,7 +158,7 @@ exports=module.exports=function(logger,rest,settings){ |
158 | 158 | } |
159 | 159 | } |
160 | 160 | function _cb(data,response){ |
161 | - logger.info('back data:',data); | |
161 | + logger.debug('back data:',data); | |
162 | 162 | if(response.statusCode<300&&!data){ |
163 | 163 | res.send({ |
164 | 164 | code:200, |
... | ... | @@ -192,7 +192,7 @@ exports=module.exports=function(logger,rest,settings){ |
192 | 192 | } |
193 | 193 | } |
194 | 194 | function _cb(data,response){ |
195 | - logger.info('back data:',data); | |
195 | + logger.debug('back data:',data); | |
196 | 196 | if(response.statusCode<300&&!data){ |
197 | 197 | res.send({ |
198 | 198 | code:200, |
... | ... | @@ -226,7 +226,7 @@ exports=module.exports=function(logger,rest,settings){ |
226 | 226 | } |
227 | 227 | } |
228 | 228 | function _cb(data,response){ |
229 | - logger.info('back data:',data); | |
229 | + logger.debug('back data:',data); | |
230 | 230 | res.send(data); |
231 | 231 | } |
232 | 232 | } |
... | ... | @@ -249,7 +249,7 @@ exports=module.exports=function(logger,rest,settings){ |
249 | 249 | rest.get(options); |
250 | 250 | } |
251 | 251 | function _cb(data,response){ |
252 | - logger.info('back data:',data); | |
252 | + logger.debug('back data:',data); | |
253 | 253 | res.send(data); |
254 | 254 | } |
255 | 255 | } |
... | ... | @@ -272,7 +272,7 @@ exports=module.exports=function(logger,rest,settings){ |
272 | 272 | rest.del(options); |
273 | 273 | } |
274 | 274 | function _cb(data,response){ |
275 | - logger.info('back data:',data); | |
275 | + logger.debug('back data:',data); | |
276 | 276 | if(response.statusCode<300){ |
277 | 277 | res.send({'action':'delete',"message":"删除成功"}); |
278 | 278 | }else{ | ... | ... |
controllers/config.js
0 → 100644
1 | +exports = module.exports = function (logger, settings) { | |
2 | + function getHost(req, res, next) { | |
3 | + logger.info('getHost'); | |
4 | + const { hostConfig } = settings; | |
5 | + return res.send({ | |
6 | + data: hostConfig, | |
7 | + }); | |
8 | + } | |
9 | + | |
10 | + return { | |
11 | + getHost, | |
12 | + }; | |
13 | + }; | |
14 | + | |
15 | + exports["@singleton"] = true; | |
16 | + exports["@require"] = ["igloo/logger", "igloo/settings"]; | |
17 | + | |
\ No newline at end of file | ... | ... |
controllers/excellent.js
0 → 100644
1 | +var urlencode = require('urlencode'); | |
2 | + | |
3 | +exports = module.exports = function (logger, rest, redis, settings) { | |
4 | + function getOptions(url, type) { | |
5 | + var catalog = url.substring(1, url.indexOf('/', 1)); | |
6 | + var pathUrl = url.substring(url.indexOf('/', 1)); | |
7 | + var fullPath = '/' + catalog + settings.excellentRestful.version + pathUrl; | |
8 | + return { | |
9 | + 'host': settings.excellentRestful.host, //后台请求地址 | |
10 | + 'port': settings.excellentRestful.port, | |
11 | + 'path': fullPath, | |
12 | + 'method': type, | |
13 | + 'agent': false, | |
14 | + 'headers': { | |
15 | + "Accept": "application/json", | |
16 | + "Content-Type": "application/json", | |
17 | + 'Proxy-User-Agent': 'Request for Express' | |
18 | + } | |
19 | + }; | |
20 | + } | |
21 | + | |
22 | + async function addToken(options, req) { | |
23 | + if (req.session.passport && req.session.passport.user && req.session.passport.user && req.session.passport.user.user_info) { | |
24 | + const yxly_token = await redis.get(`${req.session.passport.user.user_info.user.id}_yxly_token`) | |
25 | + if (yxly_token) { | |
26 | + options.headers['Authorization'] = yxly_token ? `Bearer ${yxly_token}` : ''; | |
27 | + } | |
28 | + } | |
29 | + | |
30 | + if (req.headers['device-id']) { | |
31 | + options.headers['Device-Id'] = req.headers['device-id'] | |
32 | + } | |
33 | + if (req.ip) { | |
34 | + options.headers['Client-Ip'] = req.ip | |
35 | + } | |
36 | + if (req.headers['x-request-id']) { | |
37 | + options.headers['X-Request-Id'] = req.headers['x-request-id'] | |
38 | + } | |
39 | + if(req.headers['user-agent'] ){ | |
40 | + options.headers['User-Agent'] = req.headers['user-agent'] | |
41 | + } | |
42 | + | |
43 | + return options; | |
44 | + } | |
45 | + | |
46 | + function addReqResOptions(options, req,res){ | |
47 | + options['req']=req; | |
48 | + options['res']=res; | |
49 | + return options; | |
50 | + } | |
51 | + | |
52 | + function addParams(options, req) { | |
53 | + var postData = !req.body ? '' : JSON.stringify(req.body || {}); | |
54 | + // options.headers['Content-Length'] = postData.length; | |
55 | + options.params = postData; | |
56 | + } | |
57 | + | |
58 | + function addContentLength(options) { | |
59 | + if (options.params) { | |
60 | + options.headers['Content-Length'] = options.params.length; | |
61 | + } | |
62 | + } | |
63 | + | |
64 | + function encodeUrl(url) { | |
65 | + return urlencode(url); | |
66 | + } | |
67 | + | |
68 | + function encodePamars(params) { | |
69 | + var temp = []; | |
70 | + for (var i = 0; i < params.length; i++) { | |
71 | + var param = params[i]; | |
72 | + var tempParam = param.split("=") | |
73 | + tempParam[1] = urlencode.decode(tempParam[1], 'utf8'); | |
74 | + tempParam[1] = tempParam[1].replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); | |
75 | + | |
76 | + if (i < (params.length - 1)) { | |
77 | + if (/[:&+/?%#=]/g.test(tempParam[1])) { | |
78 | + temp.push(tempParam[0] + "=" + encodeUrl(tempParam[1]) + "&"); | |
79 | + } else { | |
80 | + temp.push(tempParam[0] + "=" + tempParam[1] + "&"); | |
81 | + } | |
82 | + } else { | |
83 | + if (/[:&+/?%#=]/g.test(tempParam[1])) { | |
84 | + temp.push(tempParam[0] + "=" + encodeUrl(tempParam[1])); | |
85 | + } else { | |
86 | + temp.push(tempParam[0] + "=" + tempParam[1]); | |
87 | + } | |
88 | + } | |
89 | + } | |
90 | + return temp.join(""); | |
91 | + } | |
92 | + | |
93 | + function handlePamars(url) { | |
94 | + var tempUrl = url; | |
95 | + // if(url.indexOf("?")!=-1){ | |
96 | + // var temp=url.split("?"); | |
97 | + // var params=""; | |
98 | + // if(temp[1]&&temp[1].indexOf("&")!=-1){ | |
99 | + // params=encodePamars(temp[1].split("&")); | |
100 | + // }else{ | |
101 | + // params=encodePamars([temp[1]]); | |
102 | + // } | |
103 | + // return temp[0]+"?"+params; | |
104 | + // }else { | |
105 | + // return tempUrl; | |
106 | + // } | |
107 | + return tempUrl; | |
108 | + } | |
109 | + | |
110 | + function splitServiceFromUrl(url) { | |
111 | + var catalog = url.substring(1, url.indexOf('/', 1)); | |
112 | + var pathUrl = url.substring(url.indexOf('/', 1)); | |
113 | + var fullPath = settings.restful.url + catalog + settings.restful.version + pathUrl; | |
114 | + return fullPath | |
115 | + } | |
116 | + | |
117 | + function splitUrl(fullUrl) { | |
118 | + if (settings.prefix && settings.prefix.length > 1) { | |
119 | + fullUrl = fullUrl.substring(settings.prefix.length - 1); | |
120 | + } | |
121 | + var url = fullUrl.substring(fullUrl.indexOf('/', 1)); | |
122 | + return url; | |
123 | + } | |
124 | + | |
125 | + function searchService(services, name) { | |
126 | + if (services[name]) { | |
127 | + | |
128 | + return false; | |
129 | + } else { | |
130 | + return true; | |
131 | + } | |
132 | + } | |
133 | + | |
134 | + function checkReq(req, res) { | |
135 | + var flag = true; | |
136 | + // if(flag&&req.headers&&!req.headers['service-catalog']){ | |
137 | + // res.status(400); | |
138 | + // res.send({"errors":{},"message":"缺少必要请求参数,服务目录名称是必填项"}); | |
139 | + // flag=false; | |
140 | + // } | |
141 | + // if(flag&&req.session.passport&&req.session.passport.user&&!req.session.passport.user.service_catalog){ | |
142 | + // res.status(404); | |
143 | + // res.send({"errors":{},"message":"服务目录未加载,请重新登录"}); | |
144 | + // flag=false; | |
145 | + // } | |
146 | + // if(flag&&searchService(req.session.passport.user.service_catalog,req.headers['service-catalog'])){ | |
147 | + // res.status(404); | |
148 | + // res.send({"errors":{},"message":"服务目录未查询到请求服务,请确认参数正确"}); | |
149 | + // flag=false; | |
150 | + // } | |
151 | + return flag; | |
152 | + } | |
153 | + | |
154 | + function checkJson(req) { | |
155 | + if (req.headers && req.headers['content-type'] == 'application/json') { | |
156 | + return true; | |
157 | + } else { | |
158 | + return false; | |
159 | + } | |
160 | + } | |
161 | + | |
162 | + async function get(req, res, next) { | |
163 | + var url = splitUrl(req.originalUrl); | |
164 | + var options = getOptions(url, 'GET'); | |
165 | + await addToken(options, req); | |
166 | + addReqResOptions(options, req,res); | |
167 | + function _success(data, response) { | |
168 | + if (response.statusCode >= 400 || !data) { | |
169 | + logger.debug(options, data); | |
170 | + res.status(response.statusCode); | |
171 | + res.send(data); | |
172 | + } else { | |
173 | + res.send(data); | |
174 | + } | |
175 | + } | |
176 | + function _fail(err) { | |
177 | + logger.debug(options, err); | |
178 | + res.send(err); | |
179 | + } | |
180 | + rest.restClient(options, _success, _fail); | |
181 | + } | |
182 | + | |
183 | + async function post(req, res, next) { | |
184 | + var url = splitUrl(req.originalUrl); | |
185 | + var options = getOptions(url, 'POST'); | |
186 | + await addToken(options, req); | |
187 | + addReqResOptions(options, req,res); | |
188 | + addParams(options, req); | |
189 | + function _success(data, response) { | |
190 | + if (response.statusCode >= 400) { | |
191 | + logger.debug(options, data); | |
192 | + res.status(response.statusCode); | |
193 | + res.send(data); | |
194 | + } else if (!data || 'null' == data || "null\n" == data || '{}' == data) { | |
195 | + res.send({ | |
196 | + code: 200, | |
197 | + message: '操作成功!' | |
198 | + }); | |
199 | + } else { | |
200 | + res.send(data); | |
201 | + } | |
202 | + } | |
203 | + function _fail(err) { | |
204 | + logger.debug(options, err); | |
205 | + res.send(err); | |
206 | + } | |
207 | + rest.restClient(options, _success, _fail); | |
208 | + } | |
209 | + | |
210 | + async function put(req, res, next) { | |
211 | + var url = splitUrl(req.originalUrl); | |
212 | + var options = getOptions(url, 'PUT'); | |
213 | + await addToken(options, req); | |
214 | + addReqResOptions(options, req,res); | |
215 | + addParams(options, req); | |
216 | + function _success(data, response) { | |
217 | + if (response.statusCode >= 400) { | |
218 | + logger.debug(options, data); | |
219 | + res.status(response.statusCode); | |
220 | + res.send(data); | |
221 | + } else if (!data || 'null' == data || "null\n" == data || '{}' == data) { | |
222 | + res.send({ | |
223 | + code: 200, | |
224 | + message: '操作成功!' | |
225 | + }); | |
226 | + } else { | |
227 | + res.send(data); | |
228 | + } | |
229 | + } | |
230 | + function _fail(err) { | |
231 | + logger.debug(options, err); | |
232 | + res.send(err); | |
233 | + } | |
234 | + rest.restClient(options, _success, _fail); | |
235 | + } | |
236 | + | |
237 | + async function patch(req, res, next) { | |
238 | + var url = splitUrl(req.originalUrl); | |
239 | + var options = getOptions(url, 'PATCH'); | |
240 | + await addToken(options, req); | |
241 | + addReqResOptions(options, req,res); | |
242 | + addParams(options, req); | |
243 | + function _success(data, response) { | |
244 | + if (response.statusCode >= 400) { | |
245 | + logger.debug(options, data); | |
246 | + res.send(data); | |
247 | + } else if (!data) { | |
248 | + res.send({ | |
249 | + code: 200, | |
250 | + message: '操作成功!' | |
251 | + }); | |
252 | + } else { | |
253 | + res.send(data); | |
254 | + } | |
255 | + } | |
256 | + function _fail(err) { | |
257 | + logger.debug(options, err); | |
258 | + res.send(err); | |
259 | + } | |
260 | + rest.restClient(options, _success, _fail); | |
261 | + } | |
262 | + | |
263 | + async function head(req, res, next) { | |
264 | + var url = splitUrl(req.originalUrl); | |
265 | + var options = getOptions(url, 'HEAD'); | |
266 | + await addToken(options, req); | |
267 | + addReqResOptions(options, req,res); | |
268 | + addParams(options, req); | |
269 | + function _success(data, response) { | |
270 | + if (response.statusCode >= 400) { | |
271 | + logger.debug(options, data); | |
272 | + res.send(data); | |
273 | + } else if (!data) { | |
274 | + res.send({ | |
275 | + code: 200, | |
276 | + message: '操作成功!' | |
277 | + }); | |
278 | + } else { | |
279 | + res.send(data); | |
280 | + } | |
281 | + } | |
282 | + function _fail(err) { | |
283 | + logger.debug(options, err); | |
284 | + res.send(err); | |
285 | + } | |
286 | + rest.restClient(options, _success, _fail); | |
287 | + } | |
288 | + | |
289 | + async function del(req, res, next) { | |
290 | + var url = splitUrl(req.originalUrl); | |
291 | + var options = getOptions(url, 'DELETE'); | |
292 | + await addToken(options, req); | |
293 | + addReqResOptions(options, req,res); | |
294 | + addParams(options, req); | |
295 | + addContentLength(options); | |
296 | + function _success(data, response) { | |
297 | + if (response.statusCode >= 400) { | |
298 | + logger.debug(options, data); | |
299 | + res.status(response.statusCode); | |
300 | + res.send(data); | |
301 | + } else if (!data || (data && !data.message)) { | |
302 | + res.send({ | |
303 | + code: 200, | |
304 | + action: "delete", | |
305 | + message: '删除成功' | |
306 | + }); | |
307 | + } else { | |
308 | + res.send(data); | |
309 | + } | |
310 | + } | |
311 | + function _fail(err) { | |
312 | + logger.debug(options, err); | |
313 | + res.send(err); | |
314 | + } | |
315 | + rest.restClient(options, _success, _fail); | |
316 | + } | |
317 | + | |
318 | + return { | |
319 | + 'get': get, | |
320 | + 'post': post, | |
321 | + 'put': put, | |
322 | + 'patch': patch, | |
323 | + 'head': head, | |
324 | + 'delete': del | |
325 | + }; | |
326 | +}; | |
327 | + | |
328 | +exports['@singleton'] = true; | |
329 | +exports['@require'] = ['igloo/logger', 'utils/rest', 'utils/redis', 'igloo/settings']; | ... | ... |
... | ... | @@ -11,7 +11,6 @@ exports=module.exports=function(logger,rest,settings){ |
11 | 11 | var tempParam=param.split("=") |
12 | 12 | tempParam[1]=urlencode.decode(tempParam[1], 'utf8'); |
13 | 13 | tempParam[1]=tempParam[1].replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); |
14 | - console.log(tempParam[1]); | |
15 | 14 | if(i<(params.length-1)){ |
16 | 15 | if(/[:&+/?%#=]/g.test(tempParam[1])){ |
17 | 16 | temp.push(tempParam[0]+"="+encodeUrl(tempParam[1])+"&"); |
... | ... | @@ -66,7 +65,6 @@ exports=module.exports=function(logger,rest,settings){ |
66 | 65 | |
67 | 66 | function searchService(services,name){ |
68 | 67 | if(services[name]){ |
69 | - console.log(services[name]); | |
70 | 68 | return false; |
71 | 69 | }else{ |
72 | 70 | return true; |
... | ... | @@ -119,7 +117,7 @@ exports=module.exports=function(logger,rest,settings){ |
119 | 117 | rest.get(options); |
120 | 118 | } |
121 | 119 | function _cb(data,response){ |
122 | - logger.info('back data:',data); | |
120 | + logger.debug('back data:',data); | |
123 | 121 | if(response.statusCode<300&&!data){ |
124 | 122 | res.send({ |
125 | 123 | code:200, |
... | ... | @@ -152,7 +150,7 @@ exports=module.exports=function(logger,rest,settings){ |
152 | 150 | } |
153 | 151 | } |
154 | 152 | function _cb(data,response){ |
155 | - logger.info('back data:',data); | |
153 | + logger.debug('back data:',data); | |
156 | 154 | if(response.statusCode<300&&!data){ |
157 | 155 | res.send({ |
158 | 156 | code:200, |
... | ... | @@ -185,7 +183,7 @@ exports=module.exports=function(logger,rest,settings){ |
185 | 183 | } |
186 | 184 | } |
187 | 185 | function _cb(data,response){ |
188 | - logger.info('back data:',data); | |
186 | + logger.debug('back data:',data); | |
189 | 187 | if(response.statusCode<300&&!data){ |
190 | 188 | res.send({ |
191 | 189 | code:200, |
... | ... | @@ -218,7 +216,7 @@ exports=module.exports=function(logger,rest,settings){ |
218 | 216 | } |
219 | 217 | } |
220 | 218 | function _cb(data,response){ |
221 | - logger.info('back data:',data); | |
219 | + logger.debug('back data:',data); | |
222 | 220 | res.send(data); |
223 | 221 | } |
224 | 222 | } |
... | ... | @@ -240,7 +238,7 @@ exports=module.exports=function(logger,rest,settings){ |
240 | 238 | rest.get(options); |
241 | 239 | } |
242 | 240 | function _cb(data,response){ |
243 | - logger.info('back data:',data); | |
241 | + logger.debug('back data:',data); | |
244 | 242 | res.send(data); |
245 | 243 | } |
246 | 244 | } |
... | ... | @@ -262,7 +260,7 @@ exports=module.exports=function(logger,rest,settings){ |
262 | 260 | rest.del(options); |
263 | 261 | } |
264 | 262 | function _cb(data,response){ |
265 | - logger.info('back data:',data); | |
263 | + logger.debug('back data:',data); | |
266 | 264 | if(response.statusCode<300){ |
267 | 265 | res.send({'action':'delete',"message":"删除成功"}); |
268 | 266 | }else{ | ... | ... |
... | ... | @@ -15,32 +15,26 @@ exports=module.exports=function(logger,rest,settings){ |
15 | 15 | } |
16 | 16 | |
17 | 17 | function get(req,res,next){ |
18 | - console.log(req.path); | |
19 | 18 | res.send(getJson(req.path,'get')); |
20 | 19 | } |
21 | 20 | |
22 | 21 | function post(req,res,next){ |
23 | - console.log(req.path); | |
24 | 22 | res.send(getJson(req.path,'post')); |
25 | 23 | } |
26 | 24 | |
27 | 25 | function put(req,res,next){ |
28 | - console.log(req.path); | |
29 | 26 | res.send(getJson(req.path,'put')); |
30 | 27 | } |
31 | 28 | |
32 | 29 | function patch(req,res,next){ |
33 | - console.log(req.path); | |
34 | 30 | res.send(getJson(req.path,'patch')); |
35 | 31 | } |
36 | 32 | |
37 | 33 | function head(req,res,next){ |
38 | - console.log(req.path); | |
39 | 34 | res.send(getJson(req.path,'head')); |
40 | 35 | } |
41 | 36 | |
42 | 37 | function del(req,res,next){ |
43 | - console.log(req.path); | |
44 | 38 | res.send(getJson(req.path,'del')); |
45 | 39 | } |
46 | 40 | ... | ... |
... | ... | @@ -4,7 +4,7 @@ exports=module.exports=function(logger,rest,settings){ |
4 | 4 | var api_service_endpoint = 'http://47.98.198.227:59000/v1'; |
5 | 5 | |
6 | 6 | function index(req,res,next){ |
7 | - logger.info(req.user); | |
7 | + logger.debug(req.user); | |
8 | 8 | res.render('robotMobile',{title:'外呼机器人'}); |
9 | 9 | } |
10 | 10 | |
... | ... | @@ -30,7 +30,6 @@ exports=module.exports=function(logger,rest,settings){ |
30 | 30 | 'excludeToken':true |
31 | 31 | }); |
32 | 32 | function _cb(data,response){ |
33 | - console.log(data); | |
34 | 33 | res.send(data); |
35 | 34 | } |
36 | 35 | // res.send({ |
... | ... | @@ -59,7 +58,6 @@ exports=module.exports=function(logger,rest,settings){ |
59 | 58 | 'excludeToken':true |
60 | 59 | }); |
61 | 60 | function _cb(data,response){ |
62 | - console.log(data); | |
63 | 61 | res.send(data); |
64 | 62 | } |
65 | 63 | } | ... | ... |
... | ... | @@ -13,10 +13,10 @@ exports = module.exports = function(IoC, settings) { |
13 | 13 | app.set('env', settings.server.env); |
14 | 14 | |
15 | 15 | // set the default views directory |
16 | - // app.set('views', settings.views.dir); | |
16 | + app.set('views', settings.views.dir); | |
17 | 17 | |
18 | 18 | // set the default view engine |
19 | - // app.set('view engine', settings.views.engine); | |
19 | + app.set('view engine', settings.views.engine); | |
20 | 20 | |
21 | 21 | |
22 | 22 | |
... | ... | @@ -30,7 +30,7 @@ exports = module.exports = function(IoC, settings) { |
30 | 30 | if (settings.server.env === 'production') { |
31 | 31 | |
32 | 32 | // enable view caching |
33 | - // app.enable('view cache'); | |
33 | + app.enable('view cache'); | |
34 | 34 | |
35 | 35 | // compress response data with gzip/deflate |
36 | 36 | // this overwrites res.write and res.end functions | ... | ... |
... | ... | @@ -4,11 +4,12 @@ |
4 | 4 | |
5 | 5 | var serveFavicon = require('serve-favicon'); |
6 | 6 | var path = require('path'); |
7 | -var winstonRequestLogger = require('winston-request-logger'); | |
7 | +var serveStatic = require('serve-static'); | |
8 | +// var winstonRequestLogger = require('winston-request-logger'); | |
9 | +var requestLogger = require('../../utils/requestLogger'); | |
8 | 10 | var methodOverride = require('method-override'); |
9 | 11 | var bodyParser = require('body-parser'); |
10 | 12 | var responseTime = require('response-time'); |
11 | -const express = require('express') | |
12 | 13 | // var busboy = require('connect-busboy'); |
13 | 14 | |
14 | 15 | |
... | ... | @@ -25,7 +26,8 @@ exports = module.exports = function (IoC, logger, settings, policies) { |
25 | 26 | |
26 | 27 | // static server (always keep this first) |
27 | 28 | // <http://goo.gl/j2BEl5> |
28 | - app.use('/', express.static('public')); | |
29 | + app.use(serveStatic(settings.publicDir, settings.staticServer)); | |
30 | + | |
29 | 31 | // adds X-Response-Time header |
30 | 32 | app.use(responseTime({ |
31 | 33 | digits: 5 |
... | ... | @@ -111,10 +113,12 @@ exports = module.exports = function (IoC, logger, settings, policies) { |
111 | 113 | |
112 | 114 | // winston request logger before everything else |
113 | 115 | // but only if it was enabled in settings |
114 | - if (settings.logger.requests) { | |
115 | - app.use(winstonRequestLogger.create(logger)); | |
116 | - } | |
116 | + // if (settings.logger.requests) { | |
117 | + // app.use(winstonRequestLogger.create(logger)); | |
118 | + // } | |
117 | 119 | |
120 | + // app.use(requestLogger(logger,settings)); | |
121 | + | |
118 | 122 | // parse request bodies |
119 | 123 | // support _method (PUT in forms etc) |
120 | 124 | app.use( | ... | ... |
此 diff 太大无法显示。
1 | +/* | |
2 | + * @Descripttion: | |
3 | + * @version: 0.0.0 | |
4 | + * @Author: genglw | |
5 | + * @Date: 2022-01-21 15:31:14 | |
6 | + * @LastEditors: genglw | |
7 | + * @LastEditTime: 2022-02-10 20:37:04 | |
8 | + */ | |
1 | 9 | var express = require('express'); |
2 | 10 | |
3 | 11 | exports = module.exports = function (IoC, policies, settings) { |
... | ... | @@ -42,6 +50,7 @@ exports = module.exports = function (IoC, policies, settings) { |
42 | 50 | ); |
43 | 51 | |
44 | 52 | app.use(settings.prefix + 'api', router); |
53 | + | |
45 | 54 | }; |
46 | 55 | |
47 | 56 | exports['@require'] = ['$container', 'policies', 'igloo/settings']; | ... | ... |
1 | -var express = require("express"); | |
2 | -var payRoll = require("../json/payRoll.json"); | |
1 | +var express = require('express'); | |
2 | +var payRoll = require('../json/payRoll.json'); | |
3 | 3 | |
4 | 4 | exports = module.exports = function (IoC, policies, settings) { |
5 | - var app = this; | |
6 | - var router = express.Router(); | |
7 | - var router2 = express.Router(); | |
8 | - var controller = IoC.create("controllers/auth"); | |
9 | - | |
10 | - if (settings.prefix.length > 0) { | |
11 | - // router.get("/index", controller.index); | |
12 | - router.get("/signOut", controller.signOut); | |
13 | - } | |
14 | - | |
15 | - router.get("/img/*", controller.getImg); | |
16 | - | |
17 | - router2.get("/", controller.indexPrefix); | |
18 | - | |
19 | - router.get("/productDes", controller.productDes); | |
20 | - | |
21 | - router.get("/register", controller.register); | |
22 | - | |
23 | - router.get("/mobileRegister", controller.mobileRegister); | |
24 | - | |
25 | - router.get("/mobileRegisterSuccess", controller.mobileRegisterSuccess); | |
26 | - | |
27 | - router.get("/signIn", controller.signIn); | |
28 | - | |
29 | - router.post("/doLogin", controller.doLogin); | |
30 | - | |
31 | - router2.get("/signOut", controller.signOut); | |
32 | - | |
33 | - router.post("/smsCodes", controller.smsCodes); | |
34 | - | |
35 | - router.post("/tenants", controller.tenants); | |
36 | - | |
37 | - router.post("/resetPass", policies.ensureLoggedOut(), controller.resetPass); | |
38 | - | |
39 | - router.post( | |
40 | - "/updatePassword", | |
41 | - policies.ensureLoggedOut(), | |
42 | - controller.updatePassword | |
43 | - ); | |
44 | - | |
45 | - router.post( | |
46 | - "/loadUserInfo", | |
47 | - policies.ensureLoggedOut(), | |
48 | - controller.loadUserInfo | |
49 | - ); | |
50 | - | |
51 | - router.post( | |
52 | - "/getUploaderToken", | |
53 | - policies.ensureLoggedOut(), | |
54 | - controller.getUploaderToken | |
55 | - ); | |
56 | - | |
57 | - router.post( | |
58 | - "/delOSSObject", | |
59 | - policies.ensureLoggedOut(), | |
60 | - controller.delOSSObject | |
61 | - ); | |
62 | - | |
63 | - router.post("/smsVerification", controller.smsVerification); | |
64 | - | |
65 | - router.post("/getObjectTokenByID", controller.getObjectTokenByID); | |
66 | - | |
67 | - // router.get( | |
68 | - // '/healthMonitor', | |
69 | - // controller.healthMonitor | |
70 | - // ) | |
71 | - | |
72 | - // router.head( | |
73 | - // '/healthMonitor', | |
74 | - // controller.healthMonitor | |
75 | - // ) | |
76 | - | |
77 | - router.post( | |
78 | - "/getUserRoles", | |
79 | - policies.ensureLoggedOut(), | |
80 | - controller.getUserRoles | |
81 | - ); | |
82 | - | |
83 | - router.post("/getRoles", policies.ensureLoggedOut(), controller.getRoles); | |
84 | - | |
85 | - router.post( | |
86 | - "/updateUserRoles", | |
87 | - policies.ensureLoggedOut(), | |
88 | - controller.updateUserRoles | |
89 | - ); | |
90 | - | |
91 | - router.post("/getTenant", policies.ensureLoggedOut(), controller.getTenant); | |
92 | - | |
93 | - router.post( | |
94 | - "/updateTenant", | |
95 | - policies.ensureLoggedOut(), | |
96 | - controller.updateTenant | |
97 | - ); | |
98 | - | |
99 | - router.get("/offer/:requestId", controller.offer); | |
100 | - | |
101 | - router.post( | |
102 | - "/onboardStatus", | |
103 | - policies.ensureLoggedOut(), | |
104 | - controller.onboardStatus | |
105 | - ); | |
106 | - | |
107 | - router.get("/downloadApp", controller.dowloadApp); | |
108 | - | |
109 | - router.get("/info/policy", controller.softwareLicense); | |
110 | - | |
111 | - router.get("/payRoll", function (req, res, next) { | |
112 | - res.send(payRoll); | |
113 | - }); | |
114 | - | |
115 | - router.get("/recharge", controller.recharge); | |
116 | - | |
117 | - router.post("/changePassForRegister", controller.changePassForRegister); | |
118 | - | |
119 | - router.post( | |
120 | - "/changeTenant", | |
121 | - policies.ensureLoggedOut(), | |
122 | - controller.changeTenant | |
123 | - ); | |
124 | - | |
125 | - router.post("/hr/sendRejectOffer", controller.sendRejectOffer); | |
126 | - | |
127 | - router.post("/hr/acceptOffer", controller.acceptOffer); | |
128 | - | |
129 | - router.post("/imTokens", policies.ensureLoggedOut(), controller.imTokens); | |
130 | - | |
131 | - router.post( | |
132 | - "/listChannels", | |
133 | - policies.ensureLoggedOut(), | |
134 | - controller.listChannels | |
135 | - ); | |
136 | - | |
137 | - router.post( | |
138 | - "/getTastLink", | |
139 | - policies.ensureLoggedOut(), | |
140 | - controller.getTastLink | |
141 | - ); | |
142 | - | |
143 | - router.get("/filemeta", policies.ensureLoggedOut(), controller.filemeta); | |
144 | - | |
145 | - router.get( | |
146 | - "/getCustomerQrcode", | |
147 | - policies.ensureLoggedOut(), | |
148 | - controller.getCustomerQrcode | |
149 | - ); | |
150 | - | |
151 | - router.get( | |
152 | - "/getPositionQrcode", | |
153 | - policies.ensureLoggedOut(), | |
154 | - controller.getPositionQrcode | |
155 | - ); | |
156 | - router.get( | |
157 | - //微店模板路由 | |
158 | - "/minishop/:id", | |
159 | - controller.weidianTempLate | |
160 | - ); | |
161 | - | |
162 | - router.get("/wso-workai", controller.workaiSecurityOAuth); | |
163 | - | |
164 | - router.get( | |
165 | - "/socialwork/freedom-jobs/emps/:id/:verification", | |
166 | - controller.freedomJobsEmp | |
167 | - ); | |
168 | - | |
169 | - router.get("/socialwork/freedom-jobs/emps/:id", controller.freedomJobsEmp); | |
170 | - | |
171 | - router.get("/getShortToken", controller.getShortToken); | |
172 | - | |
173 | - router.get("/gainianrenli/*",controller.getImg) | |
174 | - router.get("/waifu_img/*",controller.getImg) | |
175 | - router.get("/my_img/*",controller.getImg) | |
176 | - router.get("/invoice_file_icon/*",controller.getImg) | |
177 | - router.get("/gainianrenli/*",controller.getImg) | |
178 | - router.get("/claim_icons/*",controller.getImg) | |
179 | - | |
180 | - app.use("/", router); | |
181 | - | |
182 | - app.use("/index", router2); | |
5 | + var app = this; | |
6 | + var router = express.Router(); | |
7 | + var router2 = express.Router(); | |
8 | + var controller = IoC.create('controllers/auth'); | |
9 | + if (settings.prefix.length > 0) { | |
10 | + router.get( | |
11 | + '/', | |
12 | + controller.index | |
13 | + ); | |
14 | + router.get( | |
15 | + '/signOut', | |
16 | + controller.signOut | |
17 | + ); | |
18 | + } | |
19 | + | |
20 | + router2.get( | |
21 | + '/', | |
22 | + controller.indexPrefix | |
23 | + ); | |
24 | + | |
25 | + router.get( | |
26 | + '/productDes', | |
27 | + controller.productDes | |
28 | + ); | |
29 | + | |
30 | + router.get( | |
31 | + '/register', | |
32 | + controller.register | |
33 | + ); | |
34 | + | |
35 | + router.get( | |
36 | + '/mobileRegister', | |
37 | + controller.mobileRegister | |
38 | + ); | |
39 | + | |
40 | + router.get( | |
41 | + '/mobileRegisterSuccess', | |
42 | + controller.mobileRegisterSuccess | |
43 | + ); | |
44 | + | |
45 | + router.get( | |
46 | + '/signIn', | |
47 | + controller.signIn | |
48 | + ); | |
49 | + | |
50 | + router.post( | |
51 | + '/doLogin', | |
52 | + controller.doLogin | |
53 | + ); | |
54 | + | |
55 | + router.get( | |
56 | + '/refreshToken', | |
57 | + controller.refreshToken | |
58 | + ); | |
59 | + | |
60 | + | |
61 | + router2.get( | |
62 | + '/signOut', | |
63 | + controller.signOut | |
64 | + ); | |
65 | + | |
66 | + router.post( | |
67 | + '/smsCodes', | |
68 | + controller.smsCodes | |
69 | + ); | |
70 | + | |
71 | + router.post( | |
72 | + '/tenants', | |
73 | + controller.tenants | |
74 | + ); | |
75 | + | |
76 | + router.post( | |
77 | + '/resetPass', | |
78 | + policies.ensureLoggedOut(), | |
79 | + controller.resetPass | |
80 | + ); | |
81 | + | |
82 | + router.post( | |
83 | + '/updatePassword', | |
84 | + policies.ensureLoggedOut(), | |
85 | + controller.updatePassword | |
86 | + ); | |
87 | + | |
88 | + | |
89 | + router.post( | |
90 | + '/loadUserInfo', | |
91 | + policies.ensureLoggedOut(), | |
92 | + controller.loadUserInfo | |
93 | + ); | |
94 | + | |
95 | + router.post( | |
96 | + '/getUploaderToken', | |
97 | + policies.ensureLoggedOut(), | |
98 | + controller.getUploaderToken | |
99 | + ); | |
100 | + | |
101 | + router.post( | |
102 | + '/delOSSObject', | |
103 | + policies.ensureLoggedOut(), | |
104 | + controller.delOSSObject | |
105 | + ); | |
106 | + | |
107 | + router.post( | |
108 | + '/smsVerification', | |
109 | + controller.smsVerification | |
110 | + ) | |
111 | + | |
112 | + router.post( | |
113 | + '/getObjectTokenByID', | |
114 | + controller.getObjectTokenByID | |
115 | + ) | |
116 | + | |
117 | + // router.get( | |
118 | + // '/healthMonitor', | |
119 | + // controller.healthMonitor | |
120 | + // ) | |
121 | + | |
122 | + // router.head( | |
123 | + // '/healthMonitor', | |
124 | + // controller.healthMonitor | |
125 | + // ) | |
126 | + | |
127 | + router.post( | |
128 | + '/getUserRoles', | |
129 | + policies.ensureLoggedOut(), | |
130 | + controller.getUserRoles | |
131 | + ); | |
132 | + | |
133 | + router.post( | |
134 | + '/getRoles', | |
135 | + policies.ensureLoggedOut(), | |
136 | + controller.getRoles | |
137 | + ); | |
138 | + | |
139 | + router.post( | |
140 | + '/updateUserRoles', | |
141 | + policies.ensureLoggedOut(), | |
142 | + controller.updateUserRoles | |
143 | + ); | |
144 | + | |
145 | + router.post( | |
146 | + '/getTenant', | |
147 | + policies.ensureLoggedOut(), | |
148 | + controller.getTenant | |
149 | + ); | |
150 | + | |
151 | + router.post( | |
152 | + '/updateTenant', | |
153 | + policies.ensureLoggedOut(), | |
154 | + controller.updateTenant | |
155 | + ); | |
156 | + | |
157 | + router.get( | |
158 | + '/offer/:requestId', | |
159 | + controller.offer | |
160 | + ); | |
161 | + | |
162 | + router.post( | |
163 | + '/onboardStatus', | |
164 | + policies.ensureLoggedOut(), | |
165 | + controller.onboardStatus | |
166 | + ); | |
167 | + | |
168 | + router.get( | |
169 | + '/downloadApp', | |
170 | + controller.dowloadApp | |
171 | + ); | |
172 | + | |
173 | + router.get( | |
174 | + '/info/policy', | |
175 | + controller.softwareLicense | |
176 | + ); | |
177 | + | |
178 | + router.get('/payRoll', function (req, res, next) { | |
179 | + res.send(payRoll); | |
180 | + }); | |
181 | + | |
182 | + router.get( | |
183 | + '/recharge', | |
184 | + controller.recharge | |
185 | + ); | |
186 | + | |
187 | + router.post( | |
188 | + '/changePassForRegister', | |
189 | + controller.changePassForRegister | |
190 | + ); | |
191 | + | |
192 | + router.post( | |
193 | + '/changeTenant', | |
194 | + policies.ensureLoggedOut(), | |
195 | + controller.changeTenant | |
196 | + ); | |
197 | + | |
198 | + router.post( | |
199 | + '/hr/sendRejectOffer', | |
200 | + controller.sendRejectOffer | |
201 | + ); | |
202 | + | |
203 | + router.post( | |
204 | + '/hr/acceptOffer', | |
205 | + controller.acceptOffer | |
206 | + ); | |
207 | + | |
208 | + router.post( | |
209 | + '/imTokens', | |
210 | + policies.ensureLoggedOut(), | |
211 | + controller.imTokens | |
212 | + ); | |
213 | + | |
214 | + router.post( | |
215 | + '/listChannels', | |
216 | + policies.ensureLoggedOut(), | |
217 | + controller.listChannels | |
218 | + ); | |
219 | + | |
220 | + router.post( | |
221 | + '/getTastLink', | |
222 | + policies.ensureLoggedOut(), | |
223 | + controller.getTastLink | |
224 | + ); | |
225 | + | |
226 | + router.get( | |
227 | + '/filemeta', | |
228 | + policies.ensureLoggedOut(), | |
229 | + controller.filemeta | |
230 | + ); | |
231 | + | |
232 | + router.get( | |
233 | + '/getCustomerQrcode', | |
234 | + policies.ensureLoggedOut(), | |
235 | + controller.getCustomerQrcode | |
236 | + ); | |
237 | + | |
238 | + router.get( | |
239 | + '/getPositionQrcode', | |
240 | + policies.ensureLoggedOut(), | |
241 | + controller.getPositionQrcode | |
242 | + ); | |
243 | + router.get( //微店模板路由 | |
244 | + '/minishop/:id', | |
245 | + controller.weidianTempLate | |
246 | + ); | |
247 | + | |
248 | + router.get( | |
249 | + '/wso-workai', | |
250 | + controller.workaiSecurityOAuth | |
251 | + ); | |
252 | + | |
253 | + router.get( | |
254 | + '/socialwork/freedom-jobs/emps/:id/:verification', | |
255 | + controller.freedomJobsEmp | |
256 | + ); | |
257 | + | |
258 | + router.get( | |
259 | + '/socialwork/freedom-jobs/emps/:id', | |
260 | + controller.freedomJobsEmp | |
261 | + ); | |
262 | + | |
263 | + router.get( | |
264 | + '/getShortToken', | |
265 | + controller.getShortToken | |
266 | + ); | |
267 | + | |
268 | + router.post( | |
269 | + '/loadYxlyToken', | |
270 | + policies.ensureLoggedOut(), | |
271 | + controller.loadYxlyToken | |
272 | + ); | |
273 | + | |
274 | + router.get( | |
275 | + '/redirectContract', | |
276 | + controller.redirectContract | |
277 | + ) | |
278 | + | |
279 | + settings.prefix.length > 1 ? | |
280 | + app.use(settings.prefix.substring(0, settings.prefix.length - 1), router) : | |
281 | + app.use('/', router); | |
282 | + | |
283 | + | |
284 | + app.use('/', router2); | |
183 | 285 | }; |
184 | 286 | |
185 | -exports["@require"] = ["$container", "policies", "igloo/settings"]; | |
186 | -exports["@singleton"] = true; | |
287 | +exports['@require'] = ['$container', 'policies', 'igloo/settings']; | |
288 | +exports['@singleton'] = true; | ... | ... |
1 | +/* | |
2 | + * @Descripttion: | |
3 | + * @version: 0.0.0 | |
4 | + * @Author: genglw | |
5 | + * @Date: 2022-01-21 15:31:14 | |
6 | + * @LastEditors: genglw | |
7 | + * @LastEditTime: 2022-02-10 20:46:00 | |
8 | + */ | |
1 | 9 | |
2 | 10 | // app - routes |
3 | 11 | |
... | ... | @@ -25,6 +33,12 @@ exports = module.exports = function(IoC, settings) { |
25 | 33 | //robot |
26 | 34 | app.phase(bootable.di.routes('./routes/robot.js')); |
27 | 35 | |
36 | + //excellent | |
37 | + app.phase(bootable.di.routes('./routes/excellent.js')); | |
38 | + | |
39 | + app.phase(bootable.di.routes('./routes/config.js')); | |
40 | + | |
41 | + | |
28 | 42 | // error handler (always keep this last) |
29 | 43 | app.phase(function() { |
30 | 44 | var errorHandler = IoC.create('igloo/error-handler'); | ... | ... |
routes/config.js
0 → 100644
1 | +var express = require('express'); | |
2 | +var payRoll = require('../json/payRoll.json'); | |
3 | + | |
4 | +exports = module.exports = function (IoC, policies, settings) { | |
5 | + var app = this; | |
6 | + var router = express.Router(); | |
7 | + var controller = IoC.create('controllers/config'); | |
8 | + router.get( | |
9 | + '/getHost', | |
10 | + controller.getHost | |
11 | + ); | |
12 | + app.use(settings.prefix + 'config', router); | |
13 | + | |
14 | +} | |
15 | + | |
16 | +exports['@require'] = ['$container', 'policies', 'igloo/settings']; | |
17 | +exports['@singleton'] = true; | |
\ No newline at end of file | ... | ... |
routes/excellent.js
0 → 100644
1 | +/* | |
2 | + * @Descripttion: | |
3 | + * @version: 0.0.0 | |
4 | + * @Author: genglw | |
5 | + * @Date: 2022-01-21 15:31:14 | |
6 | + * @LastEditors: genglw | |
7 | + * @LastEditTime: 2022-02-10 20:34:55 | |
8 | + */ | |
9 | +var express = require('express'); | |
10 | + | |
11 | +exports = module.exports = function (IoC, policies, settings) { | |
12 | + var app = this; | |
13 | + var router = express.Router(); | |
14 | + var controller = IoC.create('controllers/excellent'); | |
15 | + | |
16 | + router.get( | |
17 | + '/*', | |
18 | + policies.ensureLoggedOut(), | |
19 | + controller.get | |
20 | + ); | |
21 | + | |
22 | + router.post( | |
23 | + '/*', | |
24 | + policies.ensureLoggedOut(), | |
25 | + controller.post | |
26 | + ); | |
27 | + | |
28 | + router.put( | |
29 | + '/*', | |
30 | + policies.ensureLoggedOut(), | |
31 | + controller.put | |
32 | + ); | |
33 | + | |
34 | + router.patch( | |
35 | + '/*', | |
36 | + policies.ensureLoggedOut(), | |
37 | + controller.patch | |
38 | + ); | |
39 | + | |
40 | + router.head( | |
41 | + '/*', | |
42 | + policies.ensureLoggedOut(), | |
43 | + controller.head | |
44 | + ); | |
45 | + | |
46 | + router.delete( | |
47 | + '/*', | |
48 | + policies.ensureLoggedOut(), | |
49 | + controller.delete | |
50 | + ); | |
51 | + | |
52 | + app.use(settings.prefix + 'excellent', router); | |
53 | + | |
54 | +}; | |
55 | + | |
56 | +exports['@require'] = ['$container', 'policies', 'igloo/settings']; | |
57 | +exports['@singleton'] = true; | ... | ... |
1 | +/* | |
2 | + * @Descripttion: | |
3 | + * @version: 0.0.0 | |
4 | + * @Author: genglw | |
5 | + * @Date: 2022-01-21 15:31:14 | |
6 | + * @LastEditors: genglw | |
7 | + * @LastEditTime: 2022-02-12 16:57:36 | |
8 | + */ | |
1 | 9 | var async = require('async'); |
2 | 10 | |
3 | 11 | exports = module.exports = function (logger, rest) { |
... | ... | @@ -6,13 +14,14 @@ exports = module.exports = function (logger, rest) { |
6 | 14 | var user = { |
7 | 15 | refreshToken: "", |
8 | 16 | token: "", |
17 | + yxly_token: "", | |
9 | 18 | service_catalog: {}, |
10 | 19 | user_info: {}, |
11 | 20 | err: null |
12 | 21 | }; |
13 | 22 | async.waterfall([ |
14 | 23 | function (callback) {//get temp token |
15 | - logger.info("get temp token"); | |
24 | + logger.debug("get temp token"); | |
16 | 25 | var tempParams = { |
17 | 26 | "grant_type": req.body.grant_type, |
18 | 27 | "username": req.body.username, |
... | ... | @@ -23,14 +32,15 @@ exports = module.exports = function (logger, rest) { |
23 | 32 | if (req.body.smscode) |
24 | 33 | tempParams['sms_code'] = req.body.smscode; |
25 | 34 | |
26 | - logger.info("url:" + rest.getBaseUrl('auth/tokens', 'uaa')); | |
27 | - logger.info("params", tempParams); | |
28 | - console.log(tempParams) | |
29 | - rest.restful.postJson(rest.getBaseUrl('auth/tokens', 'uaa'), tempParams, { | |
30 | - headers: { 'Content-Type': 'application/json', "Accept": "application/json" } | |
35 | + logger.debug("url:" + rest.getBaseUrl('auth/tokens', 'uaa')); | |
36 | + logger.debug("params", tempParams); | |
37 | + var url = rest.getBaseUrl('auth/tokens', 'uaa'); | |
38 | + var headers = rest.addHeaders({ 'Content-Type': 'application/json', "Accept": "application/json" },req); | |
39 | + rest.restful.postJson(url, tempParams, { | |
40 | + headers: headers | |
31 | 41 | }) |
32 | 42 | .on('success', function (data, response) { |
33 | - logger.info("tokens-success", data); | |
43 | + logger.debug("tokens-success", data); | |
34 | 44 | if (data.access_token) { |
35 | 45 | user.token = data.access_token; |
36 | 46 | user.refreshToken = data.refresh_token; |
... | ... | @@ -48,17 +58,19 @@ exports = module.exports = function (logger, rest) { |
48 | 58 | user.err = data.message; |
49 | 59 | callback(err, data); |
50 | 60 | } |
61 | + rest.proxyLog(data,response,req,{headers,'data':tempParams,url}) | |
51 | 62 | }).on('error', function (err, response) { |
52 | - // logger.info("tokens-error",data); | |
63 | + // logger.debug("tokens-error",data); | |
53 | 64 | var err = new Error('name or pass err'); |
65 | + rest.proxyLog(err,response,req,{headers,'data':tempParams,url}) | |
54 | 66 | callback(err, response); |
55 | 67 | }).on('fail', function (data, response) { |
56 | - logger.info("tokens-fail", data); | |
68 | + logger.debug("tokens-fail", data); | |
57 | 69 | var err = new Error('name or pass err'); |
70 | + rest.proxyLog(data,response,req,{headers,'data':tempParams,url}) | |
58 | 71 | callback(data, response); |
59 | 72 | }); |
60 | 73 | }], function (err, result) { |
61 | - logger.info(err); | |
62 | 74 | if (err) { |
63 | 75 | return done(null, false, err); |
64 | 76 | } else { |
... | ... | @@ -68,7 +80,7 @@ exports = module.exports = function (logger, rest) { |
68 | 80 | } |
69 | 81 | |
70 | 82 | function serializeUser(user, done) { |
71 | - logger.info("passport.serializeUser"); | |
83 | + logger.debug("passport.serializeUser"); | |
72 | 84 | done(null, user); |
73 | 85 | } |
74 | 86 | |
... | ... | @@ -79,7 +91,7 @@ exports = module.exports = function (logger, rest) { |
79 | 91 | info: {}, |
80 | 92 | err: null |
81 | 93 | }; |
82 | - console.info("passport.deserializeUser"); | |
94 | + logger.debug("passport.deserializeUser"); | |
83 | 95 | done(null, user); |
84 | 96 | } |
85 | 97 | ... | ... |
utils/redis.js
0 → 100644
1 | +/* | |
2 | + * @Descripttion: | |
3 | + * @version: 0.0.0 | |
4 | + * @Author: genglw | |
5 | + * @Date: 2022-02-12 20:34:11 | |
6 | + * @LastEditors: genglw | |
7 | + * @LastEditTime: 2022-02-15 11:09:45 | |
8 | + */ | |
9 | +var redis = require('redis'); | |
10 | + | |
11 | +exports = module.exports = function (logger, settings) { | |
12 | + | |
13 | + async function set(key, value) { | |
14 | + const client = redis.createClient({ | |
15 | + url: `redis://${settings.redis.host}:${settings.redis.port}`, | |
16 | + password: settings.redis.pass, | |
17 | + }); | |
18 | + | |
19 | + client.on('error', (err) => logger.info('Redis Client Error', err)); | |
20 | + | |
21 | + await client.connect(); | |
22 | + await client.set(key, value); | |
23 | + await client.quit(); | |
24 | + } | |
25 | + | |
26 | + async function get(key) { | |
27 | + const client = redis.createClient({ | |
28 | + url: `redis://${settings.redis.host}:${settings.redis.port}`, | |
29 | + password: settings.redis.pass, | |
30 | + }); | |
31 | + | |
32 | + client.on('error', (err) => logger.info('Redis Client Error', err)); | |
33 | + | |
34 | + await client.connect(); | |
35 | + const value = await client.get(key); | |
36 | + await client.quit(); | |
37 | + | |
38 | + return value; | |
39 | + } | |
40 | + | |
41 | + return { | |
42 | + set: set, | |
43 | + get: get, | |
44 | + }; | |
45 | +}; | |
46 | + | |
47 | + | |
48 | + | |
49 | + | |
50 | +exports['@singleton'] = true; | |
51 | +exports['@require'] = ['igloo/logger', 'igloo/settings']; | ... | ... |
utils/requestLogger.js
0 → 100644
1 | +var moment = require('moment'); | |
2 | + | |
3 | + | |
4 | +exports = module.exports = function (logger,settings) { | |
5 | + | |
6 | + | |
7 | + return function (req, res, next) { | |
8 | + var requestEnd = res.end | |
9 | + , requestedUrl = req.originalUrl | |
10 | + , startTime = new Date(); | |
11 | + var level = 'error'; | |
12 | + if(settings&&settings.output&&settings.output.level){ | |
13 | + level=settings.output.level; | |
14 | + } | |
15 | + | |
16 | + // Proxy the real end function | |
17 | + res.end = function (chunk, encoding) { | |
18 | + | |
19 | + var data = { | |
20 | + 'date': moment(startTime).format(), | |
21 | + 'statusCode': res.statusCode, | |
22 | + 'method': req.method, | |
23 | + 'responseTime': (new Date() - startTime), | |
24 | + 'deviceId':req.headers['device-id']||'', | |
25 | + 'xRequestId':req.headers['x-request-id']||'', | |
26 | + 'url': requestedUrl, | |
27 | + 'ip': req.headers['client-ip'] || req.ip || req.connection.remoteAddress, | |
28 | + 'userAgent': req.headers['user-agent'] | |
29 | + }; | |
30 | + | |
31 | + // Do the work expected | |
32 | + res.end = requestEnd; | |
33 | + res.end(chunk, encoding); | |
34 | + | |
35 | + if(res.statusCode>=400){//响应错误 | |
36 | + logger.error(data); | |
37 | + }else if('debug'==level){ | |
38 | + logger.debug(data); | |
39 | + }else{ | |
40 | + logger.info(data); | |
41 | + } | |
42 | + }; | |
43 | + | |
44 | + next(); | |
45 | + }; | |
46 | +}; | |
\ No newline at end of file | ... | ... |
... | ... | @@ -3,8 +3,27 @@ var async = require('async'); |
3 | 3 | var uuid = require('uuid/v4'); |
4 | 4 | var restq = require('restler-q'); |
5 | 5 | var http = require("http"); |
6 | -var qs = require("qs"); | |
6 | +var moment = require('moment'); | |
7 | 7 | |
8 | +function addRequestIdHeaders(headers, req) { | |
9 | + if (req.headers['device-id']) { | |
10 | + headers['Device-Id'] = req.headers['device-id'] | |
11 | + } | |
12 | + if (req.ip) { | |
13 | + headers['Client-Ip'] = req.ip | |
14 | + } | |
15 | + if (req.headers['x-request-id']) { | |
16 | + headers['X-Request-Id'] = req.headers['x-request-id'] | |
17 | + } | |
18 | + if (req.headers['user-agent']) { | |
19 | + headers['User-Agent'] = req.headers['user-agent'] | |
20 | + } | |
21 | + headers['Accept'] = 'application/json'; | |
22 | + headers['Content-Type'] = 'application/json'; | |
23 | + headers['Proxy-User-Agent'] = 'Request for Express'; | |
24 | + | |
25 | + return headers; | |
26 | +} | |
8 | 27 | |
9 | 28 | function RestHelper(logger, settings) { |
10 | 29 | this.logger = logger; |
... | ... | @@ -18,7 +37,7 @@ RestHelper.prototype = { |
18 | 37 | return base; |
19 | 38 | }, |
20 | 39 | preLog: function (tempUrl, tempParams) { |
21 | - | |
40 | + | |
22 | 41 | }, |
23 | 42 | checkJson: function (type) { |
24 | 43 | if (type === 'patchJson' || type === 'putJson' || type === 'postJson' || type === 'json') { |
... | ... | @@ -105,11 +124,11 @@ RestHelper.prototype = { |
105 | 124 | tempHead['Client-Ip'] = ip; |
106 | 125 | var tempParams = { |
107 | 126 | data: tempData, |
108 | - headers: tempHead, | |
127 | + headers: addRequestIdHeaders(tempHead, req), | |
109 | 128 | timeout: 1000 * 60 * 10 |
110 | 129 | }; |
111 | 130 | context.options.headers = tempHead; |
112 | - // self.logger.info('req.session.passport.user.token:',req.session.passport.user.token); | |
131 | + // self.logger.debug('req.session.passport.user.token:',req.session.passport.user.token); | |
113 | 132 | if (type === 'json') { |
114 | 133 | tempParams = context.params || {}; |
115 | 134 | tempOptions = context.options || {}; |
... | ... | @@ -150,14 +169,14 @@ RestHelper.prototype = { |
150 | 169 | return uuid(); |
151 | 170 | }, |
152 | 171 | error: function (err, respones, req, res) { |
153 | - this.logger.info('this have a err! Maby connection aborted,parse,encoding,decoding failed or some other unhandled errors'); | |
154 | - this.logger.error(err); | |
172 | + this.logger.debug('this have a err! Maby connection aborted,parse,encoding,decoding failed or some other unhandled errors'); | |
173 | + this.logger.debug(err); | |
155 | 174 | |
156 | 175 | }, |
157 | 176 | fail: function (data, respones, req, res) { |
158 | - this.logger.info('request is fail!'); | |
159 | - this.logger.info(respones.statusCode); | |
160 | - this.logger.error(data); | |
177 | + this.logger.debug('request is fail!'); | |
178 | + this.logger.debug(respones.statusCode); | |
179 | + this.logger.debug(data); | |
161 | 180 | res.resultMsg.push(data); |
162 | 181 | } |
163 | 182 | }; |
... | ... | @@ -166,25 +185,41 @@ RestHelper.prototype = { |
166 | 185 | |
167 | 186 | exports = module.exports = function (logger, settings) { |
168 | 187 | var helper = new RestHelper(logger, settings); |
188 | + | |
189 | + | |
169 | 190 | function _getUrl(url, baseUrl) { |
170 | 191 | return helper.getUrl(url, baseUrl); |
171 | 192 | } |
172 | 193 | |
173 | - function _preLog(tempUrl, tempParams) { | |
174 | - helper.preLog(tempUrl, tempParams); | |
175 | - } | |
176 | - | |
177 | - function _error(err, respones) { | |
178 | - logger.info('this have a err! Maby connection aborted,parse,encoding,decoding failed or some other unhandled errors'); | |
179 | - logger.error(err); | |
180 | - return | |
181 | - } | |
194 | + function _proxyLog(result, response, req, param) { | |
195 | + var url = param.url || param.path || ''; | |
196 | + var params = param.data || ''; | |
197 | + var headers = param.headers || {}; | |
198 | + var method = req.method; | |
199 | + var host = param.host || ''; | |
200 | + var port = param.port || ''; | |
201 | + var statusCode = response.statusCode || ''; | |
202 | + var user = {}; | |
203 | + if (param.data && param.data.data) { | |
204 | + params = param.data.data | |
205 | + } | |
206 | + if (!param.headers && param.data && param.data.headers) { | |
207 | + headers = param.data.headers; | |
208 | + } | |
182 | 209 | |
183 | - function _fail(data, respones) { | |
184 | - logger.info('request is fail!'); | |
185 | - logger.info(respones.statusCode); | |
186 | - logger.info(data); | |
187 | - return | |
210 | + if (req && req.session && req.session.passport && req.session.passport.user && req.session.passport.user.user_info && req.session.passport.user.user_info.user) { | |
211 | + user.name = req.session.passport.user.user_info.user.name | |
212 | + user.mobile = req.session.passport.user.user_info.user.mobile | |
213 | + } | |
214 | + if (statusCode >= 400) { | |
215 | + logger.error({ method, url, host, port, statusCode, params, ...headers, ...user, result, timestamp: moment().format() }) | |
216 | + } else if (settings && settings.output && settings.output.level && 'debug' == settings.output.level) { | |
217 | + logger.debug({ method, url, host, port, statusCode, params, ...headers, ...user, result, timestamp: moment().format() }) | |
218 | + } else { | |
219 | + var tempLogObj = { method, url, host, port, statusCode, params, ...headers, ...user, timestamp: moment().format() }; | |
220 | + delete tempLogObj['Authorization']; | |
221 | + logger.info(tempLogObj) | |
222 | + } | |
188 | 223 | } |
189 | 224 | |
190 | 225 | function restClient(options, success, fail) { |
... | ... | @@ -197,10 +232,12 @@ exports = module.exports = function (logger, settings) { |
197 | 232 | }); |
198 | 233 | res.on('end', function () { |
199 | 234 | success(_data, res); |
235 | + _proxyLog(_data, res, options.req, { ...options, data: postData }) | |
200 | 236 | }); |
201 | 237 | }); |
202 | 238 | httpRequest.on('error', function (e) { |
203 | 239 | fail(e); |
240 | + _proxyLog(e, {}, options.req, { ...options, data: postData }) | |
204 | 241 | }); |
205 | 242 | httpRequest.write(postData); |
206 | 243 | httpRequest.end(); |
... | ... | @@ -214,9 +251,12 @@ exports = module.exports = function (logger, settings) { |
214 | 251 | if (response.statusCode === 401) { |
215 | 252 | helper.addTask('get', param, data, response); |
216 | 253 | } else { |
217 | - _fail(data, response); | |
218 | 254 | context.callback(data, response); |
219 | 255 | } |
256 | + _proxyLog(data, response, context.req, param) | |
257 | + }) | |
258 | + .on('complete', function (result, response) { | |
259 | + _proxyLog(result, response, context.req, param) | |
220 | 260 | }); |
221 | 261 | } |
222 | 262 | |
... | ... | @@ -228,9 +268,12 @@ exports = module.exports = function (logger, settings) { |
228 | 268 | if (response.statusCode === 401) { |
229 | 269 | helper.addTask('post', param, data, response); |
230 | 270 | } else { |
231 | - _fail(data, response); | |
232 | 271 | context.callback(data, response); |
233 | 272 | } |
273 | + _proxyLog(data, response, context.req, param) | |
274 | + }) | |
275 | + .on('complete', function (result, response) { | |
276 | + _proxyLog(result, response, context.req, param) | |
234 | 277 | }); |
235 | 278 | } |
236 | 279 | function put(context) { |
... | ... | @@ -241,9 +284,12 @@ exports = module.exports = function (logger, settings) { |
241 | 284 | if (response.statusCode === 401) { |
242 | 285 | helper.addTask('put', param, data, response); |
243 | 286 | } else { |
244 | - _fail(data, response); | |
245 | 287 | context.callback(data, response); |
246 | 288 | } |
289 | + _proxyLog(data, response, context.req, param) | |
290 | + }) | |
291 | + .on('complete', function (result, response) { | |
292 | + _proxyLog(result, response, context.req, param) | |
247 | 293 | }); |
248 | 294 | } |
249 | 295 | function del(context) { |
... | ... | @@ -256,9 +302,12 @@ exports = module.exports = function (logger, settings) { |
256 | 302 | if (response.statusCode === 401) { |
257 | 303 | helper.addTask('del', param, data, response); |
258 | 304 | } else { |
259 | - _fail(data, response); | |
260 | 305 | context.callback(data, response); |
261 | 306 | } |
307 | + _proxyLog(data, response, context.req, param) | |
308 | + }) | |
309 | + .on('complete', function (result, response) { | |
310 | + _proxyLog(result, response, context.req, param) | |
262 | 311 | }); |
263 | 312 | } |
264 | 313 | |
... | ... | @@ -270,9 +319,12 @@ exports = module.exports = function (logger, settings) { |
270 | 319 | if (response.statusCode === 401) { |
271 | 320 | helper.addTask('patch', param, data, response); |
272 | 321 | } else { |
273 | - _fail(data, response); | |
274 | 322 | context.callback(data, response); |
275 | 323 | } |
324 | + _proxyLog(data, response, context.req, param) | |
325 | + }) | |
326 | + .on('complete', function (result, response) { | |
327 | + _proxyLog(result, response, context.req, param) | |
276 | 328 | }); |
277 | 329 | } |
278 | 330 | |
... | ... | @@ -284,9 +336,12 @@ exports = module.exports = function (logger, settings) { |
284 | 336 | if (response.statusCode === 401) { |
285 | 337 | helper.addTask('json', param, data, response); |
286 | 338 | } else { |
287 | - _fail(data, response); | |
288 | 339 | context.callback(data, response); |
289 | 340 | } |
341 | + _proxyLog(data, response, context.req, param) | |
342 | + }) | |
343 | + .on('complete', function (result, response) { | |
344 | + _proxyLog(result, response, context.req, param) | |
290 | 345 | }); |
291 | 346 | } |
292 | 347 | function postJson(context) { |
... | ... | @@ -297,9 +352,12 @@ exports = module.exports = function (logger, settings) { |
297 | 352 | if (response.statusCode === 401) { |
298 | 353 | helper.addTask('postJson', param, data, response); |
299 | 354 | } else { |
300 | - _fail(data, response); | |
301 | 355 | context.callback(data, response); |
302 | 356 | } |
357 | + _proxyLog(data, response, context.req, param) | |
358 | + }) | |
359 | + .on('complete', function (result, response) { | |
360 | + _proxyLog(result, response, context.req, param) | |
303 | 361 | }); |
304 | 362 | } |
305 | 363 | |
... | ... | @@ -308,8 +366,11 @@ exports = module.exports = function (logger, settings) { |
308 | 366 | rest.postJson(param.url, param.data, param.options) |
309 | 367 | .on('success', context.callback) |
310 | 368 | .on('fail', function (data, response) { |
311 | - _fail(data, response); | |
312 | 369 | context.callback(data, response); |
370 | + _proxyLog(data, response, context.req, param) | |
371 | + }) | |
372 | + .on('complete', function (result, response) { | |
373 | + _proxyLog(result, response, context.req, param) | |
313 | 374 | }); |
314 | 375 | } |
315 | 376 | |
... | ... | @@ -321,9 +382,12 @@ exports = module.exports = function (logger, settings) { |
321 | 382 | if (response.statusCode === 401) { |
322 | 383 | helper.addTask('putJson', param, data, response); |
323 | 384 | } else { |
324 | - _fail(data, response); | |
325 | 385 | context.callback(data, response); |
326 | 386 | } |
387 | + _proxyLog(data, response, context.req, param) | |
388 | + }) | |
389 | + .on('complete', function (result, response) { | |
390 | + _proxyLog(result, response, context.req, param) | |
327 | 391 | }); |
328 | 392 | } |
329 | 393 | |
... | ... | @@ -335,9 +399,12 @@ exports = module.exports = function (logger, settings) { |
335 | 399 | if (response.statusCode === 401) { |
336 | 400 | helper.addTask('patchJson', param, data, response); |
337 | 401 | } else { |
338 | - _fail(data, response); | |
339 | 402 | context.callback(data, response); |
340 | 403 | } |
404 | + _proxyLog(data, response, context.req, param) | |
405 | + }) | |
406 | + .on('complete', function (result, response) { | |
407 | + _proxyLog(result, response, context.req, param) | |
341 | 408 | }); |
342 | 409 | } |
343 | 410 | |
... | ... | @@ -352,7 +419,7 @@ exports = module.exports = function (logger, settings) { |
352 | 419 | if (!context.excludeToken) { |
353 | 420 | tempOptions.accessToken = req.session.passport.user.token; |
354 | 421 | } |
355 | - _preLog(_getUrl(context.url, context.baseUrl), tempParams); | |
422 | + | |
356 | 423 | rest[context.method](_getUrl(context.url, context.baseUrl), tempParams, tempOptions) |
357 | 424 | .on('success', function (data, response) { |
358 | 425 | callback(null, data); |
... | ... | @@ -366,6 +433,10 @@ exports = module.exports = function (logger, settings) { |
366 | 433 | } else { |
367 | 434 | callback(null, data); |
368 | 435 | } |
436 | + _proxyLog(data, response, context.req, param) | |
437 | + }) | |
438 | + .on('complete', function (result, response) { | |
439 | + _proxyLog(result, response, context.req, param) | |
369 | 440 | }); |
370 | 441 | } |
371 | 442 | }; |
... | ... | @@ -392,6 +463,10 @@ exports = module.exports = function (logger, settings) { |
392 | 463 | }); |
393 | 464 | } |
394 | 465 | |
466 | + function addHeaders(headers, req) { | |
467 | + return addRequestIdHeaders(headers, req); | |
468 | + } | |
469 | + | |
395 | 470 | return { |
396 | 471 | get: get, |
397 | 472 | post: post, |
... | ... | @@ -409,7 +484,9 @@ exports = module.exports = function (logger, settings) { |
409 | 484 | map: asyncMap, |
410 | 485 | getFormFields: getFormFields, |
411 | 486 | initOssToken: initOssToken, |
412 | - restClient: restClient | |
487 | + restClient: restClient, | |
488 | + addHeaders: addHeaders, | |
489 | + proxyLog: _proxyLog, | |
413 | 490 | }; |
414 | 491 | }; |
415 | 492 | ... | ... |
请
注册
或
登录
后发表评论