seninel部署
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.1KB

  1. var app = angular.module('sentinelDashboardApp');
  2. app.service('DegradeService', ['$http', function ($http) {
  3. this.queryMachineRules = function (app, ip, port) {
  4. var param = {
  5. app: app,
  6. ip: ip,
  7. port: port
  8. };
  9. return $http({
  10. url: 'degrade/rules.json',
  11. params: param,
  12. method: 'GET'
  13. });
  14. };
  15. this.newRule = function (rule) {
  16. var param = {
  17. id: rule.id,
  18. resource: rule.resource,
  19. limitApp: rule.limitApp,
  20. count: rule.count,
  21. timeWindow: rule.timeWindow,
  22. grade: rule.grade,
  23. app: rule.app,
  24. ip: rule.ip,
  25. port: rule.port
  26. };
  27. return $http({
  28. url: '/degrade/new.json',
  29. params: param,
  30. method: 'GET'
  31. });
  32. };
  33. this.saveRule = function (rule) {
  34. var param = {
  35. id: rule.id,
  36. resource: rule.resource,
  37. limitApp: rule.limitApp,
  38. grade: rule.grade,
  39. count: rule.count,
  40. timeWindow: rule.timeWindow,
  41. };
  42. return $http({
  43. url: '/degrade/save.json',
  44. params: param,
  45. method: 'GET'
  46. });
  47. };
  48. this.deleteRule = function (rule) {
  49. var param = {
  50. id: rule.id,
  51. app: rule.app
  52. };
  53. return $http({
  54. url: '/degrade/delete.json',
  55. params: param,
  56. method: 'GET'
  57. });
  58. };
  59. this.checkRuleValid = function (rule) {
  60. if (rule.resource === undefined || rule.resource === '') {
  61. alert('资源名称不能为空');
  62. return false;
  63. }
  64. if (rule.grade === undefined || rule.grade < 0) {
  65. alert('未知的降级策略');
  66. return false;
  67. }
  68. if (rule.count === undefined || rule.count === '' || rule.count < 0) {
  69. alert('降级阈值不能为空或小于 0');
  70. return false;
  71. }
  72. if (rule.timeWindow === undefined || rule.timeWindow === '' || rule.timeWindow <= 0) {
  73. alert('降级时间窗口必须大于 0');
  74. return false;
  75. }
  76. // 异常比率类型.
  77. if (rule.grade == 1 && rule.count > 1) {
  78. alert('异常比率超出范围:[0.0 - 1.0]');
  79. return false;
  80. }
  81. return true;
  82. };
  83. }]);