2019-02-13 23:06:49 +08:00
|
|
|
<!DOCTYPE HTML>
|
2019-02-13 21:29:09 +08:00
|
|
|
<html lang="en">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
|
|
|
|
<title>dubbo文档管理系统</title>
|
|
|
|
|
<link rel="shortcut icon" href="webjars/doc-dubbo/img/api.ico"/>
|
|
|
|
|
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<div id="app">
|
|
|
|
|
<el-container style="height: 100%;">
|
2019-02-13 23:06:49 +08:00
|
|
|
<el-aside width="auto" style="height: 100%;padding-top: 10px;">
|
|
|
|
|
<el-row><el-button type="primary" v-on:click="reloadService">重新加载服务列表</el-button></el-row>
|
|
|
|
|
<el-row><el-switch v-model="isCollapse"></el-switch></el-row>
|
|
|
|
|
<el-menu default-active="" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" :collapse="isCollapse">
|
2019-02-13 21:29:09 +08:00
|
|
|
<el-submenu index="1">
|
|
|
|
|
<template slot="title">
|
|
|
|
|
<i class="el-icon-location"></i>
|
|
|
|
|
<span slot="title">导航一</span>
|
|
|
|
|
</template>
|
|
|
|
|
<el-submenu index="1-4">
|
|
|
|
|
<span slot="title">选项4</span>
|
|
|
|
|
<el-menu-item index="1-4-1">选项1</el-menu-item>
|
|
|
|
|
</el-submenu>
|
|
|
|
|
</el-submenu>
|
|
|
|
|
</el-menu>
|
2019-02-13 23:06:49 +08:00
|
|
|
<el-tree :data="pathIndex" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
|
2019-02-13 21:29:09 +08:00
|
|
|
</el-aside>
|
|
|
|
|
<el-container>
|
2019-02-13 23:06:49 +08:00
|
|
|
<el-tabs type="border-card" style="width: 100%;">
|
|
|
|
|
<el-tab-pane label="接口说明">
|
|
|
|
|
<el-form label-width="80px">
|
|
|
|
|
<el-form-item label="服务:">
|
|
|
|
|
{{dubboInfo.interface}}
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="方法:">
|
|
|
|
|
{{dubboInfo.method}}
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="说明:">
|
|
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="参数:">
|
|
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="结果:">
|
|
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
<el-tab-pane label="在线调试">
|
|
|
|
|
在线调试页面
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
</el-tabs>
|
2019-02-13 21:29:09 +08:00
|
|
|
</el-container>
|
|
|
|
|
</el-container>
|
|
|
|
|
</div>
|
|
|
|
|
</body>
|
2019-02-13 23:06:49 +08:00
|
|
|
<script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script>
|
|
|
|
|
<script type="text/javascript" src="https://unpkg.com/element-ui/lib/index.js"></script>
|
|
|
|
|
<script type="text/javascript" src="webjars/doc-dubbo/js/jquery-3.1.0.min.js"></script>
|
|
|
|
|
<script type="text/javascript" src="webjars/doc-dubbo/js/common.js"></script>
|
|
|
|
|
<script type="text/javascript" src="webjars/doc-dubbo/js/doc-dubbo-tree.js"></script>
|
2019-02-13 21:29:09 +08:00
|
|
|
|
|
|
|
|
<script>
|
2019-02-13 23:06:49 +08:00
|
|
|
var app = new Vue({
|
2019-02-13 21:29:09 +08:00
|
|
|
el: '#app',
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
2019-02-13 23:06:49 +08:00
|
|
|
isCollapse: false,
|
|
|
|
|
pathIndex: [],
|
|
|
|
|
defaultProps: {
|
|
|
|
|
children: 'children',
|
|
|
|
|
label: 'label'
|
|
|
|
|
},
|
|
|
|
|
// 展示的信息
|
|
|
|
|
dubboInfo: {},
|
|
|
|
|
// 树的下表
|
|
|
|
|
projectTreeIdIndex: 1,
|
|
|
|
|
// 依据目录树存储的map全局对象
|
|
|
|
|
treePathDataMap: new Map(),
|
|
|
|
|
// dubbo列表
|
|
|
|
|
dubboDocList: [],
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted: function(){
|
|
|
|
|
ajaxTemp("zyplayer-doc-dubbo/doc-dubbo/getDocList", "get", "json", {}, function (json) {
|
|
|
|
|
if (validateResult(json)) {
|
|
|
|
|
dubboDocList = json.data || [];
|
|
|
|
|
app.pathIndex = createTreeViewByTree(dubboDocList);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
handleOpen(key, keyPath) {
|
|
|
|
|
console.log(key, keyPath);
|
|
|
|
|
},
|
|
|
|
|
handleClose(key, keyPath) {
|
|
|
|
|
console.log(key, keyPath);
|
|
|
|
|
},
|
|
|
|
|
handleNodeClick(data) {
|
|
|
|
|
if (data.children == null) {
|
|
|
|
|
var path = data.interface;
|
|
|
|
|
var dubboInfo = app.treePathDataMap.get(path);
|
|
|
|
|
dubboInfo.method = data.method;
|
|
|
|
|
app.dubboInfo = dubboInfo;
|
|
|
|
|
console.log(data);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
reloadService(){
|
|
|
|
|
ajaxTemp("zyplayer-doc-dubbo/doc-dubbo/reloadService", "get", "json", {}, function (json) {
|
|
|
|
|
if (validateResult(json)) {
|
|
|
|
|
app.$message({
|
|
|
|
|
message: '加载成功!',
|
|
|
|
|
type: 'success'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
2019-02-13 21:29:09 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
<style>
|
|
|
|
|
.el-menu {
|
|
|
|
|
box-sizing: border-box;
|
2019-02-13 23:06:49 +08:00
|
|
|
border-right: 0;
|
|
|
|
|
margin-right: 3px;
|
2019-02-13 21:29:09 +08:00
|
|
|
}
|
2019-02-13 23:06:49 +08:00
|
|
|
.el-tree{
|
|
|
|
|
margin-right: 3px;
|
2019-02-13 21:29:09 +08:00
|
|
|
}
|
2019-02-13 23:06:49 +08:00
|
|
|
.el-tree-node__content{
|
|
|
|
|
padding-right: 20px;
|
2019-02-13 21:29:09 +08:00
|
|
|
}
|
2019-02-13 23:06:49 +08:00
|
|
|
html,body,#app {
|
2019-02-13 21:29:09 +08:00
|
|
|
margin: 0;
|
|
|
|
|
padding: 0;
|
2019-02-13 23:06:49 +08:00
|
|
|
height: 100%;
|
2019-02-13 21:29:09 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
</html>
|
|
|
|
|
|