Authored by xuhui

优化nginx切换

package com.ui.ctrl;
import com.alibaba.fastjson.JSONObject;
import com.ui.contants.HttpUriContants;
import com.ui.http.HttpRestClient;
import com.ui.model.BaseResponse;
... ... @@ -58,11 +59,15 @@ public class TopoSwitchCtrl {
try{
//lua
String luaResponse = httpRestClient.defaultGet(HttpUriContants.VIEW_LUA_CONF, String.class, null);
String luaType = "aws";
if (luaResponse.matches(".*context.cloud_flag\\s*=\\s*2.*")) {
luaType = "qq";
} else if (luaResponse.matches(".*context.cloud_flag\\s*=\\s*3.*")) {
luaType = "aws+qq";
String luaType = "";
if(StringUtils.isNotBlank(luaResponse)){
if (luaResponse.matches(".*context.cloud_flag\\s*=\\s*2.*")) {
luaType = "qq";
} else if (luaResponse.matches(".*context.cloud_flag\\s*=\\s*3.*")) {
luaType = "aws+qq";
} else{
luaType = "aws";
}
}
//nginx
... ... @@ -110,18 +115,29 @@ public class TopoSwitchCtrl {
}
//dns
String defaultDns = "aws";
String qqDns = "qq";
String defaultDns = "";
MultiValueMap<String, String> requestEntity = new LinkedMultiValueMap<>();
requestEntity.add("login_token", "14365,5ced8b63875ed1643b9ffeb285180fa9");
requestEntity.add("login_token", "31578,5f5402160468dc375159e2e94eeef1da");
requestEntity.add("format","json");
requestEntity.add("domain_id", "16862974");
requestEntity.add("record_id","293178513");
String requestResponse = httpRestClient.post("https://dnsapi.cn/Record.Info", requestEntity, String.class);
if (requestResponse.indexOf("amazonaws") == -1){
defaultDns = "qq";
try{
String requestResponse = httpRestClient.post("https://dnsapi.cn/Record.Info", requestEntity, String.class);
JSONObject responseJSON = JSONObject.parseObject(requestResponse);
JSONObject responseStatus = JSONObject.parseObject(responseJSON.getString("status"));
if ("1".equals(responseStatus.getString("code"))){
if (requestResponse.indexOf("amazonaws") == -1){
defaultDns = "qq";
}else{
defaultDns = "aws";
}
}else{
logger.error(" TopoSwitchCtrl - getNgixnStatus - JSON - err:" + responseJSON.getString("message"));
}
}catch (Exception e){
logger.error(" TopoSwitchCtrl - getNgixnStatus - https://dnsapi.cn/Record.Info - err", e);
}
resultMap.put("luaType", luaType);
... ...
... ... @@ -12,7 +12,7 @@ function drawData(resp) {
var canvas = document.getElementById('canvas');
var stage = new JTopo.Stage(canvas);
//显示工具栏
showJTopoToobar(stage);
//showJTopoToobar(stage);
var scene = new JTopo.Scene();
stage.add(scene);
scene.background = contextPath + "img/bg.jpg";
... ... @@ -66,7 +66,7 @@ function drawData(resp) {
}else if('qq' == data.luaType){//app全部直连到qq
var link = newLink(scene,appNode, qqElb, '直连');
link.arrowsRadius = 10;
}else{//app分散直连
}else if('aws+qq' == data.luaType){//app分散直连
var link = newLink(scene,appNode, awsElb, '直连');
link.arrowsRadius = 10;
var link = newLink(scene,appNode, qqElb, '直连');
... ... @@ -108,18 +108,11 @@ function drawData(resp) {
if('aws' == data.defaultDns){
var link = newFoldLink(scene,appNode, awsElb, 'dns','',5);
link.arrowsRadius = 10;
}else{
}else if('qq' == data.defaultDns){
var link = newFoldLink(scene,appNode, qqElb, 'dns','',5);
link.arrowsRadius = 10;
}
//if('aws' == data.qqDns){
// var link = newFoldLink(scene,appNode, awsElb, 'otherDns','',5);
// link.arrowsRadius = 10;
//}else{
// var link = newFoldLink(scene,appNode, qqElb, 'otherDns','',5);
// link.arrowsRadius = 10;
//}
//创建lua切换按钮
createLuaSwitchButton(data.luaType);
... ... @@ -130,6 +123,9 @@ function drawData(resp) {
* @param luaType
*/
function createLuaSwitchButton(luaType){
if(luaType == ""){
return;
}
var awsButton = "<button class=\"btn btn-sm btn-success\" onclick=\"luaInitSwitch(\'aws\')\"> <em class=\"icon-cogs bigger-110\"></em>切向aws</button>";
var qqButton = "<button class=\"btn btn-sm btn-success\" onclick=\"luaInitSwitch(\'qcloud\')\"> <em class=\"icon-cogs bigger-110\"></em>切向qcloud</button>";
var mixButton = "<button class=\"btn btn-sm btn-success\" onclick=\"luaInitSwitch(\'mix\')\"> <em class=\"icon-cogs bigger-110\"></em>切向双云</button>";
... ...