增加权限验证
This commit is contained in:
@@ -96,97 +96,46 @@ $(document).ready(function(){
|
||||
paramSendToServer.header = JSON.stringify(requestHeaderStore);
|
||||
//console.log(paramBodySend);
|
||||
var beforSendTime = new Date().getTime();
|
||||
if(serverStorage) {
|
||||
paramSendToServer.url = postUrl;
|
||||
paramSendToServer.method = options;
|
||||
ajaxTemp("swagger-mg-ui/http/request", "post", "json", paramSendToServer, function(result){
|
||||
//console.log(result);
|
||||
setStorage('p-request-obj-' + docUrl, storeRequestParam);
|
||||
var afterSendTime = new Date().getTime();
|
||||
$("#httpRequestStatus").text(result.status);
|
||||
$("#httpRequestTime").text((afterSendTime - beforSendTime) + "ms");
|
||||
try {
|
||||
var htmlStr = Formatjson.processObjectToHtmlPre(JSON.parse(result.data), 0, false, false, false, false);
|
||||
$("#responseBodyJsonDiv").html(htmlStr);
|
||||
} catch (e) {
|
||||
$("#responseBodyJsonDiv").html("<iframe id='responseBodyJsonIframe'></iframe>");
|
||||
setTimeout(function(){
|
||||
$("#responseBodyJsonIframe").contents().find("body").html(result.data);
|
||||
}, 300);
|
||||
}
|
||||
$("#tabResponseHeader table tbody").empty();
|
||||
$("#tabResponseCookie table tbody").empty();
|
||||
var headers = result.header||[];
|
||||
for (var i = 0; i < headers.length; i++) {
|
||||
var name = getNotEmptyStr(headers[i].name);
|
||||
var value = getNotEmptyStr(headers[i].value);
|
||||
$("#tabResponseHeader table tbody").append(
|
||||
'<tr>'+'<td>'+name+'</td>' + '<td>'+value+'</td>'+'</tr>'
|
||||
);
|
||||
}
|
||||
var cookies = result.cookie||[];
|
||||
for (var i = 0; i < cookies.length; i++) {
|
||||
var name = getNotEmptyStr(cookies[i].name);
|
||||
var value = getNotEmptyStr(cookies[i].value);
|
||||
$("#tabResponseCookie table tbody").append(
|
||||
'<tr>'+'<td>'+name+'</td>' + '<td>'+value+'</td>'+'</tr>'
|
||||
);
|
||||
}
|
||||
}, function(){
|
||||
Toast.error("请求失败!");
|
||||
}, function(){
|
||||
$(".send-request .icon").addClass("hide");
|
||||
});
|
||||
} else {
|
||||
$.ajax({
|
||||
url : postUrl,
|
||||
sync : false,
|
||||
type : options, // 数据发送方式
|
||||
dataType : "JSON", // 接受数据格式
|
||||
data : paramBodySend,//requestParamForm,
|
||||
contentType : "application/x-www-form-urlencoded; charset=UTF-8",
|
||||
beforeSend : function(request) {
|
||||
Object.keys(requestHeaderStore).forEach(function(key){
|
||||
request.setRequestHeader(key, requestHeaderStore[key]);
|
||||
});
|
||||
},
|
||||
success : function(data, status, xhr) {
|
||||
},
|
||||
complete : function(xhr) {
|
||||
//console.log(xhr);
|
||||
setStorage('p-request-obj-' + docUrl, storeRequestParam);
|
||||
$(".send-request .icon").addClass("hide");
|
||||
var afterSendTime = new Date().getTime();
|
||||
$("#httpRequestStatus").text(xhr.status + "-" + xhr.statusText);
|
||||
$("#httpRequestTime").text((afterSendTime - beforSendTime) + "ms");
|
||||
try {
|
||||
var htmlStr = Formatjson.processObjectToHtmlPre(JSON.parse(xhr.responseText), 0, false, false, false, false);
|
||||
$("#responseBodyJsonDiv").html(htmlStr);
|
||||
} catch (e) {
|
||||
$("#responseBodyJsonDiv").html("<iframe id='responseBodyJsonIframe'></iframe>");
|
||||
setTimeout(function(){
|
||||
$("#responseBodyJsonIframe").contents().find("body").html(xhr.responseText);
|
||||
}, 300);
|
||||
}
|
||||
var allHeaders = xhr.getAllResponseHeaders();
|
||||
var headers = allHeaders.split("\r\n");
|
||||
$("#tabResponseHeader table tbody").empty();
|
||||
$("#tabResponseCookie table tbody").empty();
|
||||
for (var i = 0; i < headers.length; i++) {
|
||||
if(isEmpty(headers[i])){
|
||||
continue;
|
||||
}
|
||||
var headerArr = headers[i].split(":");
|
||||
$("#tabResponseHeader table tbody").append(
|
||||
'<tr>'+'<td>'+headerArr[0]+'</td>' + '<td>'+headerArr[1]+'</td>'+'</tr>'
|
||||
);
|
||||
}
|
||||
},
|
||||
error : function(data) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
paramSendToServer.url = postUrl;
|
||||
paramSendToServer.method = options;
|
||||
ajaxTemp("swagger-mg-ui/http/request", "post", "json", paramSendToServer, function(result){
|
||||
//console.log(result);
|
||||
setStorage('p-request-obj-' + docUrl, storeRequestParam);
|
||||
var afterSendTime = new Date().getTime();
|
||||
$("#httpRequestStatus").text(result.status);
|
||||
$("#httpRequestTime").text((afterSendTime - beforSendTime) + "ms");
|
||||
try {
|
||||
var htmlStr = Formatjson.processObjectToHtmlPre(JSON.parse(result.data), 0, false, false, false, false);
|
||||
$("#responseBodyJsonDiv").html(htmlStr);
|
||||
} catch (e) {
|
||||
$("#responseBodyJsonDiv").html("<iframe id='responseBodyJsonIframe'></iframe>");
|
||||
setTimeout(function(){
|
||||
$("#responseBodyJsonIframe").contents().find("body").html(result.data);
|
||||
}, 300);
|
||||
}
|
||||
$("#tabResponseHeader table tbody").empty();
|
||||
$("#tabResponseCookie table tbody").empty();
|
||||
var headers = result.header||[];
|
||||
for (var i = 0; i < headers.length; i++) {
|
||||
var name = getNotEmptyStr(headers[i].name);
|
||||
var value = getNotEmptyStr(headers[i].value);
|
||||
$("#tabResponseHeader table tbody").append(
|
||||
'<tr>'+'<td>'+name+'</td>' + '<td>'+value+'</td>'+'</tr>'
|
||||
);
|
||||
}
|
||||
var cookies = result.cookie||[];
|
||||
for (var i = 0; i < cookies.length; i++) {
|
||||
var name = getNotEmptyStr(cookies[i].name);
|
||||
var value = getNotEmptyStr(cookies[i].value);
|
||||
$("#tabResponseCookie table tbody").append(
|
||||
'<tr>'+'<td>'+name+'</td>' + '<td>'+value+'</td>'+'</tr>'
|
||||
);
|
||||
}
|
||||
}, function(){
|
||||
Toast.error("请求失败!");
|
||||
}, function(){
|
||||
$(".send-request .icon").addClass("hide");
|
||||
});
|
||||
});
|
||||
/**
|
||||
* 输入框输入之后,如果是最后一行则在增加一行
|
||||
@@ -259,10 +208,6 @@ $(document).ready(function(){
|
||||
* 提交模拟返回值
|
||||
*/
|
||||
$("#simulationResultSubmit").click(function(){
|
||||
if(!serverStorage) {
|
||||
Toast.error("没有开启服务器端存储模拟返回是无效的");
|
||||
return;
|
||||
}
|
||||
var value = $("#simulationResultText").val();
|
||||
value = getNotEmptyStr(value, "");
|
||||
var docUrl = $("#simulationResultUrl").text();
|
||||
@@ -276,10 +221,6 @@ $(document).ready(function(){
|
||||
* 获取模拟返回值
|
||||
*/
|
||||
$("#simulationResultGet").click(function(){
|
||||
if(!serverStorage) {
|
||||
Toast.error("没有开启服务器端存储模拟返回是无效的");
|
||||
return;
|
||||
}
|
||||
var docUrl = $("#simulationResultUrl").text();
|
||||
getStorage('p-simulation-response-' + docUrl, function(data){
|
||||
$("#simulationResultText").val(data);
|
||||
|
||||
@@ -13,8 +13,6 @@ var definitionsDataMap = new Map();
|
||||
var treePathDataMap = new Map();
|
||||
|
||||
var globalLoadingMessager;
|
||||
// 服务器端存储能力是否开启
|
||||
var serverStorage = false;
|
||||
// 树的下表
|
||||
var projectTreeIdIndex = 1;
|
||||
// 文档url加载的下标
|
||||
@@ -60,57 +58,20 @@ $(document).ready(function(){
|
||||
}, function(msg){
|
||||
}, function(xhr){
|
||||
showGlobalLoadingMessage('服务检查完成,请稍候...', true);
|
||||
var serverStorage = false;
|
||||
if(!isEmptyObject(xhr.responseJSON)) {
|
||||
serverStorage = (xhr.responseJSON.errCode == 200);
|
||||
}
|
||||
if(!serverStorage) {
|
||||
console.warn("服务器端存储能力配置有误,仅能使用浏览器存储,建议配置好服务器端存储能力" +
|
||||
"\n请参考:https://gitee.com/zyplayer/swagger-mg-ui-demo");
|
||||
Toast.error("服务器端能力配置有误,新版本必须开启才能使用", 999999);
|
||||
documentLoadFinish();
|
||||
} else {
|
||||
initUserSettings();
|
||||
}
|
||||
initUserSettings();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
/**
|
||||
* 增加文档
|
||||
* @returns
|
||||
*/
|
||||
function addDocumentByUrl(fullUrl, isInSetting) {
|
||||
// 获取原始的swagger的json对象
|
||||
ajaxTemp(fullUrl, "get", "json", {}, function(json){
|
||||
console.log(json);
|
||||
if(isEmptyObject(json) || isEmpty(json.swagger)) {
|
||||
Toast.error("获取文档错误,请检查:" + fullUrl);
|
||||
return
|
||||
}
|
||||
// 拼接地址
|
||||
json.fullUrl = fullUrl;
|
||||
var v2Index = fullUrl.indexOf("/v2/api-docs");
|
||||
if(v2Index > 0) {
|
||||
var domainUrl = fullUrl.substring(0, v2Index + 1);
|
||||
json.domainUrl = domainUrl;
|
||||
}
|
||||
documentJsonArr.push(json);// 加到所有文档
|
||||
addHomePageDashboard(json, fullUrl);
|
||||
createDefinitionsMapByJson(json);
|
||||
if(userSettings.catalogShowType == 1) {
|
||||
createTreeViewByTree(json);// url分成一层一层的展示
|
||||
} else if(userSettings.catalogShowType == 2){
|
||||
createTreeViewByTag(json);// tag方式,整个url显示为一层
|
||||
} else {
|
||||
createTreeViewByTree(json);// url分成一层一层的展示
|
||||
}
|
||||
}, function(msg){
|
||||
Toast.error("获取文档失败,请检查:" + fullUrl);
|
||||
}, function(msg){
|
||||
projectLoadingIndex--;
|
||||
if(projectLoadingIndex == 0) {
|
||||
documentLoadFinish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有文档列表提供选择
|
||||
* @returns
|
||||
@@ -167,67 +128,6 @@ function addDocumentByService(choiseDocList) {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加文档
|
||||
* @returns
|
||||
*/
|
||||
function loadSwaggerResources(fullUrl, isInSetting) {
|
||||
// 获取原始的swagger的resources配置
|
||||
ajaxTemp(fullUrl, "get", "json", {}, function(json){
|
||||
//console.log(json);
|
||||
if(isEmptyObject(json) || json.length <= 0) {
|
||||
Toast.error("获取文档错误,请检查:" + fullUrl);
|
||||
return;
|
||||
}
|
||||
if(!isInSetting) {
|
||||
if(!haveString(userSettings.projects, fullUrl)) {
|
||||
userSettings.projects.push(fullUrl);
|
||||
}
|
||||
storeUserSettings();
|
||||
document.location.reload();
|
||||
}
|
||||
var removedProjects = userSettings.removedProjects;
|
||||
if(removedProjects == null || removedProjects == undefined) {
|
||||
removedProjects = [];
|
||||
}
|
||||
// 将:http://192.168.5.172:8081/swagger-resources
|
||||
// 变成:http://192.168.5.172:8081/v2/api-docs
|
||||
var locationHref = fullUrl.substring(0, fullUrl.lastIndexOf("/"));
|
||||
for (var i = 0; i < json.length; i++) {
|
||||
var tempLocation = locationHref + json[i].location;
|
||||
// 如果是新加的,判断在删除的数组里面,则从删除数组中移除,新的开始
|
||||
if(!isInSetting) {
|
||||
for (var j = 0; j < removedProjects.length; j++) {
|
||||
if(removedProjects[j] == tempLocation) {
|
||||
removedProjects[j] = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
// 不存在则添加
|
||||
if(!haveString(swaggerApiDocsArr, tempLocation)) {
|
||||
swaggerApiDocsArr.push(tempLocation);
|
||||
}
|
||||
}
|
||||
// 去掉被删除的路劲
|
||||
var removedProjectsNew = [];
|
||||
for (var i = 0; i < removedProjects.length; i++) {
|
||||
if(isNotEmpty(removedProjects[i])) {
|
||||
removedProjectsNew.push(removedProjects[i]);
|
||||
}
|
||||
}
|
||||
userSettings.removedProjects = removedProjectsNew;
|
||||
storeUserSettings();
|
||||
}, function(msg){
|
||||
Toast.error("获取文档失败,请检查:" + fullUrl);
|
||||
}, function(msg){
|
||||
projectLoadingIndex--;
|
||||
showGlobalLoadingMessage('剩余'+projectLoadingIndex+'份文档,请稍候...', true);
|
||||
if(projectLoadingIndex == 0) {
|
||||
loadSwaggerResourcesFinish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 自由拖动改变左右框架的宽度
|
||||
*/
|
||||
@@ -424,18 +324,7 @@ $("#choiseDocBtn").click(function(){
|
||||
}
|
||||
allDocListObj.push(tempUrl);
|
||||
});
|
||||
if(serverStorage) {
|
||||
addDocumentByService(choiseDocList);
|
||||
} else {
|
||||
if(choiseDocListObj.length <= 0) {
|
||||
choiseDocListObj = allDocListObj;
|
||||
}
|
||||
// 请求url,获取文档配置,增加树形菜单等
|
||||
projectLoadingIndex = choiseDocListObj.length;
|
||||
for (var i = 0; i < choiseDocListObj.length; i++) {
|
||||
addDocumentByUrl(choiseDocListObj[i]);
|
||||
}
|
||||
}
|
||||
addDocumentByService(choiseDocList);
|
||||
$('#choiseDocModal').modal('hide');
|
||||
});
|
||||
|
||||
@@ -448,16 +337,11 @@ $("#addNewDocumentBtn").click(function(){
|
||||
Toast.error("地址不可以为空");return;
|
||||
}
|
||||
projectLoadingIndex = 1;
|
||||
if(serverStorage) {
|
||||
ajaxTemp("swagger-mg-ui/document/addSwaggerResources", "post", "json", {resourcesUrl: addNewDocumentInput}, function(json){
|
||||
if(validateResult(json)) {
|
||||
document.location.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
loadSwaggerResources(addNewDocumentInput, false);
|
||||
$('#addNewDocumentModal').modal('hide');
|
||||
}
|
||||
ajaxTemp("swagger-mg-ui/document/addSwaggerResources", "post", "json", {resourcesUrl: addNewDocumentInput}, function(json){
|
||||
if(validateResult(json)) {
|
||||
document.location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -1104,23 +988,11 @@ function documentLoadFinish() {
|
||||
// 被移除
|
||||
afterPanelRemoved:function(id){
|
||||
//console.log(id);
|
||||
if(serverStorage) {
|
||||
ajaxTemp("swagger-mg-ui/document/deleteSwaggerDoc", "post", "json", {docUrl: id}, function(json){
|
||||
if(validateResult(json)) {
|
||||
document.location.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var tempProjects = [], nowIndex = 0;
|
||||
for ( var i = 0; i < userSettings.projects.length; i++){
|
||||
if(userSettings.projects[i] != id) {
|
||||
tempProjects[nowIndex++] = userSettings.projects[i];
|
||||
}
|
||||
ajaxTemp("swagger-mg-ui/document/deleteSwaggerDoc", "post", "json", {docUrl: id}, function(json){
|
||||
if(validateResult(json)) {
|
||||
document.location.reload();
|
||||
}
|
||||
userSettings.projects = tempProjects;
|
||||
userSettings.removedProjects.push(id);
|
||||
storeUserSettings();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
@@ -1136,9 +1008,7 @@ function updateUserSettingsUi() {
|
||||
$("input[name='showParamType'][value='"+userSettings.showParamType+"']").prop("checked",true);
|
||||
$("input[name='onlyUseLastParam'][value='"+userSettings.onlyUseLastParam+"']").prop("checked",true);
|
||||
$("input[name='autoFillParam'][value='"+userSettings.autoFillParam+"']").prop("checked",true);
|
||||
if(!serverStorage) {
|
||||
$(".local-storage").show();// 服务器存储了就不用管理了
|
||||
}
|
||||
//$(".local-storage").show();// 服务器存储了就不用管理了
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1181,65 +1051,45 @@ function storeUserSettings() {
|
||||
* 获取数据,异步的操作
|
||||
*/
|
||||
function getStorage(key, success, fail) {
|
||||
if(serverStorage) {
|
||||
ajaxTemp("swagger-mg-ui/storage/data", "get", "json", {key: key}, function(json){
|
||||
if(json.errCode == 200) {
|
||||
if(typeof success == "function") {
|
||||
var result = deserialize(json.data);
|
||||
success(result);
|
||||
}
|
||||
} else {
|
||||
if(typeof fail == "function") {
|
||||
fail();
|
||||
}
|
||||
ajaxTemp("swagger-mg-ui/storage/data", "get", "json", {key: key}, function(json){
|
||||
if(json.errCode == 200) {
|
||||
if(typeof success == "function") {
|
||||
var result = deserialize(json.data);
|
||||
success(result);
|
||||
}
|
||||
}, function(msg){
|
||||
} else {
|
||||
if(typeof fail == "function") {
|
||||
fail();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var value = $.zui.store.get(key);
|
||||
if(typeof success == "function") {
|
||||
success(value);
|
||||
}
|
||||
}
|
||||
}, function(msg){
|
||||
if(typeof fail == "function") {
|
||||
fail();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 存储数据,异步的操作
|
||||
*/
|
||||
function setStorage(key, value, success, fail) {
|
||||
if(serverStorage) {
|
||||
value = $.zui.store.serialize(value);
|
||||
ajaxTemp("swagger-mg-ui/storage/data", "post", "json", {key: key, value: value}, function(json){
|
||||
if(json.errCode == 200) {
|
||||
if(typeof success == "function") {
|
||||
success();
|
||||
}
|
||||
} else {
|
||||
if(typeof fail == "function") {
|
||||
fail(getNotEmptyStr(json.errMsg));
|
||||
}
|
||||
value = $.zui.store.serialize(value);
|
||||
ajaxTemp("swagger-mg-ui/storage/data", "post", "json", {key: key, value: value}, function(json){
|
||||
if(json.errCode == 200) {
|
||||
if(typeof success == "function") {
|
||||
success();
|
||||
}
|
||||
}, function(msg){
|
||||
} else {
|
||||
if(typeof fail == "function") {
|
||||
fail("");
|
||||
fail(getNotEmptyStr(json.errMsg));
|
||||
}
|
||||
console.log("存储数据到服务器失败,请检查");
|
||||
});
|
||||
} else {
|
||||
$.zui.store.set(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化用户的设置--通过服务器数据
|
||||
* @param
|
||||
* @returns
|
||||
*/
|
||||
function initUserSettingsByServer() {
|
||||
|
||||
}
|
||||
}, function(msg){
|
||||
if(typeof fail == "function") {
|
||||
fail("");
|
||||
}
|
||||
console.log("存储数据到服务器失败,请检查");
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1257,25 +1107,7 @@ function initUserSettings() {
|
||||
updateTreeShowType();
|
||||
updateUserSettingsUi();
|
||||
// 增加文档
|
||||
if(serverStorage) {
|
||||
getDocumentListByService();
|
||||
} else {
|
||||
var projects = userSettings.projects;
|
||||
if(isEmptyObject(projects) || projects.length <= 0) {
|
||||
// 没有文档时默认本项目的文档
|
||||
userSettings.projects = [];
|
||||
var locationHref = document.location.href;
|
||||
locationHref = locationHref.substring(0, locationHref.lastIndexOf("/"));
|
||||
projectLoadingIndex = 1;
|
||||
loadSwaggerResources(locationHref + "/swagger-resources", false);
|
||||
} else {
|
||||
projectLoadingIndex = projects.length;
|
||||
for ( var i = 0; i < projects.length; i++){
|
||||
// 请求url,获取文档配置,增加树形菜单等
|
||||
loadSwaggerResources(projects[i], true);
|
||||
}
|
||||
}
|
||||
}
|
||||
getDocumentListByService();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1286,24 +1118,3 @@ function showGlobalLoadingMessage(text, loading) {
|
||||
globalLoadingMessager.$.find(".messager-content").html(text);
|
||||
}
|
||||
|
||||
function loadSwaggerResourcesFinish() {
|
||||
projectLoadingIndex = swaggerApiDocsArr.length;
|
||||
if (projectLoadingIndex <= 0) {
|
||||
documentLoadFinish();
|
||||
} else {
|
||||
if(swaggerApiDocsArr.length > 1) {
|
||||
showGlobalLoadingMessage('等待选择需展示的文档,请选择...', true);
|
||||
for (var i = 0; i < swaggerApiDocsArr.length; i++) {
|
||||
var item = swaggerApiDocsArr[i];
|
||||
$("#choiseDocListUl").append('<li value="'+item+'">'+item+'</li>');
|
||||
}
|
||||
$('#choiseDocModal').modal({moveable:true, backdrop:'static', keyboard: false});
|
||||
} else {
|
||||
for ( var i = 0; i < swaggerApiDocsArr.length; i++){
|
||||
// 请求url,获取文档配置,增加树形菜单等
|
||||
addDocumentByUrl(swaggerApiDocsArr[i]);
|
||||
}
|
||||
}
|
||||
swaggerApiDocsArr = [];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user