UNPKG

3.34 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.saveConfig = exports.fetchConfig = exports.success = exports.error = undefined;
7
8var _status = require('./status');
9
10var status = _interopRequireWildcard(_status);
11
12var _log = require('../log');
13
14var _log2 = _interopRequireDefault(_log);
15
16var _config = require('../config/config');
17
18var config = _interopRequireWildcard(_config);
19
20var _rule = require('../config/rule');
21
22var rule = _interopRequireWildcard(_rule);
23
24var _sendType = require('./sendType');
25
26var sendType = _interopRequireWildcard(_sendType);
27
28function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
30function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
31
32/*
33 *
34 * 所有接受到得消息是一个Object
35 *
36 * data:{
37 * path: "数据访问路径,相同type下的不同逻辑处理可以用不同的path",
38 * param: "相同type下相同的path,不同的参数可以通过这个处理"
39 * }
40 *
41 *
42 * 所有发出的消息是一个Object
43 *
44 * data:{
45 * //当前请求的状态,如果不是100表示出现错误了
46 * status: 100,
47 * result: {'当前返回的数据'}
48 * }
49 *
50 */
51var error = exports.error = function error(msg) {
52 msg = msg || "出现系统异常,请稍后再试";
53 var data = {
54 status: status.ERROR,
55 result: msg
56 };
57 _log2.default.error(msg);
58 return data;
59};
60
61var success = exports.success = function success(msg) {
62 msg = msg || "成功";
63 var data = {
64 status: status.SUCC,
65 result: msg
66 };
67 return data;
68};
69
70/**
71 * 请求数据,返回所有的数据
72 * @return {[object]} [请求到得 config数据]
73 */
74var fetchConfig = exports.fetchConfig = function fetchConfig() {
75 var data = {
76 status: status.SUCC
77 };
78 try {
79 data.result = config.get();
80 if (!data.result.hosts) {
81 data.result.hosts = [];
82 }
83 return data;
84 } catch (e) {
85 return error();
86 }
87};
88
89var updateRule = function updateRule(rules, ws) {
90 try {
91 rule.saveRules(rules);
92 // ws.broadcast.emit(sendType.updateRule, {
93 // status: status.SUCC,
94 // result: {
95 // hosts: rules
96 // }
97 // });
98 return success('更新规则成功');
99 } catch (e) {
100 _log2.default.error(e);
101 return error('更新规则失败');
102 }
103};
104var disCache = function disCache(status, ws) {
105 try {
106 config.set('disCache', status);
107 config.save();
108 return success('更新配置成功');
109 } catch (e) {
110 _log2.default.error(e);
111 return error('更新配置失败');
112 }
113};
114
115var saveConfig = exports.saveConfig = function saveConfig() {
116 var msg = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
117 var ws = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
118 var path = msg.path;
119 var param = msg.param;
120
121 if (path) {
122 switch (msg.path) {
123 case "rule":
124 if (param && param.rules) {
125 return updateRule(param.rules, ws);
126 } else {
127 return error('更新规则必须有rules属性');
128 }
129 break;
130 case 'disCache':
131 return disCache(!!param.status, ws);
132 default:
133 return error('未知的保存数据');
134 }
135 } else {
136 return error('未知的保存数据');
137 }
138};
\No newline at end of file