risk_management.js
2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
'use strict';
const Router = require('koa-router');
const ApiCache = require('../../ci/api_cache');
const _ = require('lodash');
const ZookeeperModel = require('../models/zookeeperModel');
let zookeeperModel = new ZookeeperModel();
let r = new Router();
var process = {
TO_VALIDATE_CODE: '跳转全局验证码解锁',
REDIRECT_403: '返回403'
};
const risk = {
index: async(ctx, next) => {
let ret = await zookeeperModel.getPath('/risk');
if (ret) {
ret = JSON.parse(ret);
}
_.each(ret, function(o) {
o.process = process[o.process];
});
await ctx.render('action/risk_management', {
list: ret
});
},
add: async(ctx, next) => {
var data = {};
var key = ctx.request.query.key;
var oldRet = '';
if (key) {
oldRet = await zookeeperModel.getPath('/risk');
if (oldRet) {
oldRet = JSON.parse(oldRet);
}
data = _.find(oldRet, function(o) {
return `${o.app}/${o.route}` === key;
});
data.state = data.state === 'on';
data.isJump = data.process === 'TO_VALIDATE_CODE';
}
await ctx.render('action/add_risk', {
data: data
});
},
setter: async(ctx) => {
let params = ctx.request.body;
let path = '/risk';
let str = `${params.app}/${params.route}`;
let oldRet = await zookeeperModel.getPath('/risk');
if (!oldRet) {
oldRet = [];
} else {
oldRet = JSON.parse(oldRet);
}
_.remove(oldRet, function(o) {
return `${o.app}/${o.route}` === str;
});
oldRet.push(params);
let result = await zookeeperModel.setPath(path, JSON.stringify(oldRet));
if (result) {
ctx.body = {
code: 200,
message: 'update success'
};
} else {
ctx.body = {
code: 500,
message: 'update fail,Please retry'
}
}
},
remove: async(ctx) => {
let key = ctx.request.body.key;
let path = '/risk';
let oldRet = await zookeeperModel.getPath(path);
if (oldRet) {
oldRet = JSON.parse(oldRet);
}
_.remove(oldRet, function(o) {
return `${o.app}/${o.route}` === key;
});
let result = await zookeeperModel.setPath(path, JSON.stringify(oldRet));
if (result) {
ctx.body = {
code: 200,
message: 'remove success'
};
} else {
ctx.body = {
code: 500,
message: 'remove fail,Please retry'
}
}
}
};
r.get('/risk_management', risk.index);
r.get('/add_risk', risk.add);
r.post('/setter', risk.setter);
r.post('/remove', risk.remove);
module.exports = r;