统一管理父窗口方法,全局参数配置保存

This commit is contained in:
暮光:城中城
2018-12-10 23:10:10 +08:00
parent 8dae6962a6
commit 452062e967
8 changed files with 1141 additions and 1035 deletions

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>

View File

@@ -401,6 +401,7 @@
<script type="text/javascript" src="webjars/mg-ui/js/mg-ui-tree.js"></script> <script type="text/javascript" src="webjars/mg-ui/js/mg-ui-tree.js"></script>
<script type="text/javascript" src="webjars/mg-ui/js/mg-ui-tag.js"></script> <script type="text/javascript" src="webjars/mg-ui/js/mg-ui-tag.js"></script>
<script type="text/javascript" src="webjars/mg-ui/js/mg-ui-debug.js"></script> <script type="text/javascript" src="webjars/mg-ui/js/mg-ui-debug.js"></script>
<script type="text/javascript" src="webjars/mg-ui/js/mg-ui-export.js"></script>
<script type="text/javascript" src="webjars/mg-ui/js/mg-ui.js"></script> <script type="text/javascript" src="webjars/mg-ui/js/mg-ui.js"></script>
</html> </html>

View File

@@ -312,3 +312,11 @@ function setStorage(key, value, success, fail) {
console.log("存储数据到服务器失败,请检查"); console.log("存储数据到服务器失败,请检查");
}); });
} }
/**
* 获取父窗口的exports
* @returns
*/
function getExport(){
return window.parent.window.exports;
}

View File

@@ -0,0 +1,5 @@
var cacheKeys = {
userSettings: 'userSettings',
swaggerResourcesList: 'swagger-resources-list',
globalParamList: 'zyplayer-doc-global-param-list',
}

View File

@@ -0,0 +1,14 @@
var exports = {
regeneratePathTree: function(){
// 定义在mg-ui.js用于重新生成文档树目录
regeneratePathTree();
},
updateUserSettings: function(setting){
// 定义在mg-ui.js用于更新用户设置
updateUserSettings(setting);
},
exportDocument: function(){
// 定义在mg-ui.js用于打开导出文档框
exportDocument();
}
};

View File

@@ -69,6 +69,7 @@
<script src="../mg-ui/js/jquery-3.1.0.min.js"></script> <script src="../mg-ui/js/jquery-3.1.0.min.js"></script>
<script src="../zui/js/zui.min.js"></script> <script src="../zui/js/zui.min.js"></script>
<script src="../mg-ui/js/common.js"></script> <script src="../mg-ui/js/common.js"></script>
<script src="../mg-ui/js/mg-ui-cache-keys.js"></script>
<script src="../vue/vue.js"></script> <script src="../vue/vue.js"></script>
<script> <script>
@@ -87,7 +88,7 @@
}, },
mounted: function(){ mounted: function(){
getStorage('userSettings', function(data){ getStorage(cacheKeys.userSettings, function(data){
app.userSettings = data; app.userSettings = data;
app.catalogShowType = data.catalogShowType; app.catalogShowType = data.catalogShowType;
app.treeShowType = data.treeShowType; app.treeShowType = data.treeShowType;
@@ -100,7 +101,7 @@
catalogShowType: function(newVal, oldval){ catalogShowType: function(newVal, oldval){
app.userSettings.catalogShowType = newVal; app.userSettings.catalogShowType = newVal;
storeUserSettings(); storeUserSettings();
window.parent.window.regeneratePathTree(); getExport().regeneratePathTree();
}, },
treeShowType: function(newVal, oldval){ treeShowType: function(newVal, oldval){
app.userSettings.treeShowType = newVal; app.userSettings.treeShowType = newVal;
@@ -124,8 +125,8 @@
// 存储用户的配置信息 // 存储用户的配置信息
function storeUserSettings(){ function storeUserSettings(){
setStorage('userSettings', app.userSettings, function(){ setStorage(cacheKeys.userSettings, app.userSettings, function(){
window.parent.window.updateUserSettings(app.userSettings); getExport().updateUserSettings(app.userSettings);
}); });
} }
</script> </script>

View File

@@ -58,6 +58,7 @@
<script src="../mg-ui/js/jquery-3.1.0.min.js"></script> <script src="../mg-ui/js/jquery-3.1.0.min.js"></script>
<script src="../zui/js/zui.min.js"></script> <script src="../zui/js/zui.min.js"></script>
<script src="../mg-ui/js/common.js"></script> <script src="../mg-ui/js/common.js"></script>
<script src="../mg-ui/js/mg-ui-cache-keys.js"></script>
<script src="../vue/vue.js"></script> <script src="../vue/vue.js"></script>
<script src="../mg-ui/js/toast.js"></script> <script src="../mg-ui/js/toast.js"></script>
@@ -75,7 +76,7 @@
Toast.success("刷新成功!"); Toast.success("刷新成功!");
}, },
refreshList: function(){ refreshList: function(){
getStorage('swagger-resources-list', function(data){ getStorage(cacheKeys.swaggerResourcesList, function(data){
//console.log(data); //console.log(data);
app.swaggerResourcesList = data; app.swaggerResourcesList = data;
}); });
@@ -99,7 +100,7 @@
}); });
}, },
exportDocument: function(){ exportDocument: function(){
window.parent.window.exportDocument(); getExport().exportDocument();
}, },
deleteDocUrl: function(event){ deleteDocUrl: function(event){
if(!confirm("确定要删除吗?")) { if(!confirm("确定要删除吗?")) {
@@ -113,7 +114,7 @@
newDocList.push(app.swaggerResourcesList[i]); newDocList.push(app.swaggerResourcesList[i]);
} }
} }
setStorage('swagger-resources-list', newDocList, function(data){ setStorage(cacheKeys.swaggerResourcesList, newDocList, function(){
app.swaggerResourcesList = newDocList; app.swaggerResourcesList = newDocList;
}); });
} }
@@ -122,11 +123,6 @@
this.refreshList(); this.refreshList();
}, },
watch: { watch: {
catalogShowType: function(newVal, oldval){
app.userSettings.catalogShowType = newVal;
storeUserSettings();
window.parent.window.regeneratePathTree();
}
} }
}); });
</script> </script>

View File

@@ -1,35 +1,110 @@
<!doctype html> <!doctype html>
<html> <html xmlns:v-on="http://www.w3.org/1999/xhtml" xmlns:v-model="http://www.w3.org/1999/xhtml">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>全局参数管理</title> <title>全局参数管理</title>
<link rel="stylesheet" type="text/css" href="../zui/css/zui.min.css"> <link rel="stylesheet" type="text/css" href="../zui/css/zui.min.css">
</head> </head>
<body> <body>
<div id="app"> <div id="app">
全局参数管理 <div class="alert alert-primary">
</div> <div class="content">Tips所有接口的在线调试页面都将展示本页面配置的参数和值可统一配置会话等数据</div>
</div>
<table class="table table-bordered setting-table">
<thead>
<tr>
<td>参数位置</td>
<td>参数名</td>
<td>参数值</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in globalParamList" :key="item.id" :data-id="item.id" :data-index="index">
<td>
<select class="form-control" v-model:value="item.position">
<option value="header">header</option>
<option value="form">form</option>
</select>
</td>
<td><input type="text" class="form-control" name="paramName" v-model:value="item.key" placeholder=""></td>
<td><input type="text" class="form-control" name="paramName" v-model:value="item.value" placeholder=""></td>
<td>
<button class="btn btn-danger" type="button" v-on:click="deleteParam($event)">删除</button>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<button class="btn" type="button" v-on:click="btnRefreshList"> 刷新 </button>
<button class="btn btn-success" type="button" v-on:click="addGlobalParamLine()"> 新增 </button>
<button class="btn btn-info" type="button" v-on:click="saveAllGlobalParam">全部保存</button>
</td>
</tr>
</tbody>
</table>
</div>
</body> </body>
<script src="../zui/js/zui.min.js"></script>
<script src="../mg-ui/js/jquery-3.1.0.min.js"></script> <script src="../mg-ui/js/jquery-3.1.0.min.js"></script>
<script src="../zui/js/zui.min.js"></script>
<script src="../mg-ui/js/common.js"></script>
<script src="../mg-ui/js/mg-ui-cache-keys.js"></script>
<script src="../vue/vue.js"></script> <script src="../vue/vue.js"></script>
<script src="../mg-ui/js/toast.js"></script>
<script> <script>
var app = new Vue({ var urlBase = "../../";
el: '#app', var app = new Vue({
data: { el: '#app',
userId: "", data: {
}, globalParamList: []
methods: { },
methods: {
} btnRefreshList: function () {
}); this.refreshList();
Toast.success("刷新成功!");
},
deleteParam: function (event) {
if (!confirm("确定要删除吗?")) {
return;
}
var tr = $(event.currentTarget).parents("tr");
var index = tr.data("index");
var newParamList = [];
for (var i = 0; i < app.globalParamList.length; i++) {
if (i != index) {
newParamList.push(app.globalParamList[i]);
}
}
app.globalParamList = newParamList;
},
addGlobalParamLine: function () {
app.globalParamList.push({
position: 'header', key: '', value: ''
});
},
saveAllGlobalParam: function () {
setStorage(cacheKeys.globalParamList, app.globalParamList, function(){
Toast.success("保存成功!");
});
},
refreshList: function(){
getStorage(cacheKeys.globalParamList, function(data){
app.globalParamList = data || [];
});
},
},
mounted: function () {
this.refreshList();
}
});
</script> </script>
<style> <style>
#app {
padding-top: 10px;
}
</style> </style>
</html> </html>