Commit 968657d9 by 无尘

feat: 增加文档中心接口

parent 47b1aab1
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>达摩开放平台</title><link href=./static/css/app.a53f3f59967bac8dfe3bf1bcdc26c39f.css rel=stylesheet></head><body class=damolish><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.32d152ed448f1e61fe3c.js></script><script type=text/javascript src=./static/js/vendor.2b107cdd6cec563c6dab.js></script><script type=text/javascript src=./static/js/app.1129bfcdd6c254304c01.js></script></body></html> <!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>达摩开放平台</title><link href=./static/css/app.70985527784af3c07404e768ccc695a1.css rel=stylesheet></head><body class=damolish><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.bc6a12e54a4187c47e8e.js></script><script type=text/javascript src=./static/js/vendor.2b107cdd6cec563c6dab.js></script><script type=text/javascript src=./static/js/app.1129bfcdd6c254304c01.js></script></body></html>
\ No newline at end of file \ No newline at end of file
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var f,i,u,d=0,s=[];d<r.length;d++)i=r[d],t[i]&&s.push(t[i][0]),t[i]=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e[f]=a[f]);for(n&&n(r,a,c);s.length;)s.shift()();if(c)for(d=0;d<c.length;d++)u=o(o.s=c[d]);return u};var r={},t={13:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+e+"."+{0:"dc5820857959176b1da4",1:"0ebe3ead93207dc78a78",2:"78f59f0e37cbd9544576",3:"953747746c3caf71cd86",4:"2ff0ba051a42a51dbec4",5:"4b9430eff5a067ce09d0",6:"4a571dddcc1a56031102",7:"3b027583d4af17e36af0",8:"5e787f5eb2f4bd7cfb7b",9:"9caad4c0ba5b8b4813ee",10:"63807a09986add449f8a"}[e]+".js";var f=setTimeout(i,12e4);function i(){c.onerror=c.onload=null,clearTimeout(f);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=i,a.appendChild(c),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]); !function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var f,i,u,d=0,s=[];d<r.length;d++)i=r[d],t[i]&&s.push(t[i][0]),t[i]=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e[f]=a[f]);for(n&&n(r,a,c);s.length;)s.shift()();if(c)for(d=0;d<c.length;d++)u=o(o.s=c[d]);return u};var r={},t={13:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+e+"."+{0:"dc5820857959176b1da4",1:"0ebe3ead93207dc78a78",2:"78f59f0e37cbd9544576",3:"953747746c3caf71cd86",4:"2ff0ba051a42a51dbec4",5:"55627a5270057a1d7660",6:"4a571dddcc1a56031102",7:"3b027583d4af17e36af0",8:"5e787f5eb2f4bd7cfb7b",9:"9caad4c0ba5b8b4813ee",10:"63807a09986add449f8a"}[e]+".js";var f=setTimeout(i,12e4);function i(){c.onerror=c.onload=null,clearTimeout(f);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=i,a.appendChild(c),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file \ No newline at end of file
...@@ -7,3 +7,12 @@ export const PREFIX = '/open-platform-home-web/'; ...@@ -7,3 +7,12 @@ export const PREFIX = '/open-platform-home-web/';
// 文档菜单 // 文档菜单
export const getMenu = params => getRequest(`${PREFIX}tree-menu`, params); export const getMenu = params => getRequest(`${PREFIX}tree-menu`, params);
// 获取内容详情
export const getArtical = params => getRequest(`${PREFIX}get-article`, params);
// 获取 api 详情
export const getApi = params => getRequest(`${PREFIX}get-api-detail`, params);
// 错误码
export const getErrorCode = params => getRequest(`${PREFIX}list-error-code`, params);
...@@ -130,16 +130,23 @@ export default { ...@@ -130,16 +130,23 @@ export default {
}; };
}, },
methods: { methods: {
/**
* 菜单切换
*/
changeMenu(item) { changeMenu(item) {
const that = this; const that = this;
// 注意:这里要判断是否有子级,是否展开,是否关联 // 注意:这里要判断是否有子级,是否展开,是否关联
that.activeId = item.menuId; that.activeId = item.menuId;
// 如果有子级,展开或者折叠显示
if (item.children && item.children.length) { if (item.children && item.children.length) {
item.expanded = !item.expanded; item.expanded = !item.expanded;
that.$emit('changeDoc', {});
} else {
// 没有子级先加载看看是否有子级
that.getMenuData(item.menuId, item);
} }
that.$emit('changeDoc', that.activeId);
}, },
getMenuData(parentId) { getMenuData(parentId, node) {
const that = this; const that = this;
let para = { let para = {
parentId: parentId parentId: parentId
...@@ -154,6 +161,16 @@ export default { ...@@ -154,6 +161,16 @@ export default {
ele.children = []; ele.children = [];
}); });
} }
if (node) {
node.children = resData.result || [];
that.$forceUpdate();
return false;
}
// 没有子级,返回当前菜单数据
if (node && !resData.result.length) {
that.$emit('changeDoc', node);
return false;
}
that.menuData = resData.result || []; that.menuData = resData.result || [];
return; return;
} }
......
...@@ -6,9 +6,134 @@ ...@@ -6,9 +6,134 @@
</template> </template>
<script> <script>
import openDocFooter from '@/components/open-doc-footer.vue'; import openDocFooter from '@/components/open-doc-footer.vue';
import { getArtical, getApi, getErrorCode } from '@/api/document';
import errMsg from '@/assets/js/error';
export default { export default {
props: {
currentDoc: {
type: [Object, Array],
default() {
return {};
}
}
},
components: { components: {
openDocFooter openDocFooter
},
data() {
return {
menuDetailData: {}, // 菜单数据
formData: {}, // 内容
errorCodeData: [], // 错误码
apiData: {} // api
};
},
methods: {
/**
* 获取错误码数据
*/
getErrorCodeData() {
const that = this;
let para = {};
getErrorCode(para)
.then(res => {
let resData = res;
if (resData.code == '0000') {
that.errorCodeData = resData.result;
return;
}
errMsg.errorMsg(resData);
})
.catch(function(error) {
that.$message.error({
duration: 1000,
message: error.message
});
});
},
/**
* 获取api详情
*/
getApiDetailData(interfaceId) {
const that = this;
let para = {
interfaceId: interfaceId
};
getApi(para)
.then(res => {
let resData = res;
if (resData.code == '0000') {
that.apiData = resData.result;
return false;
}
errMsg.errorMsg(resData);
})
.catch(function(error) {
that.$message.error({
duration: 1000,
message: error.message
});
});
},
/**
* 获取内容详情
*/
getData(articleId) {
const that = this;
let para = {
articleId: articleId
};
getDocDetail(para)
.then(res => {
let resData = res;
if (resData.code == '0000') {
that.formData = resData.result || {};
return;
}
errMsg.errorMsg(resData);
})
.catch(function(error) {
that.$message.error({
duration: 1000,
message: error.message
});
});
},
/**
* 处理菜单数据,根据关联类型判断调用哪些接口
*/
handleMenuData() {
const that = this;
const type = that.menuDetailData.relationType;
const subType = that.menuDetailData.subType;
if (!Object.keys(that.menuDetailData).length) {
that.formData = {};
} else if (type == 1) {
window.location.href = that.menuDetailData.relationData;
} else if (type == 2) {
that.getData(JSON.parse(that.menuDetailData.relationData)[1]);
} else if (type == 3 && subType == '0') {
that.getErrorCodeData();
} else if (type == 3 && subType == '1') {
that.getApiDetailData(JSON.parse(that.menuDetailData.relationData)[2]);
}
}
},
watch: {
currentDoc(newData, oldData) {
const that = this;
that.menuDetailData = newData;
that.$nextTick(() => {
that.handleMenuData();
});
}
},
mounted() {
const that = this;
that.menuDetailData = that.currentDoc;
that.$nextTick(() => {
that.handleMenuData();
});
} }
}; };
</script> </script>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="document-center-body"> <div class="document-center-body">
<div class="document-center-body_wrap flex"> <div class="document-center-body_wrap flex">
<div class="document-center-left border-box"> <div class="document-center-left border-box">
<open-doc-left :currentTab="currentTab"></open-doc-left> <open-doc-left :currentTab="currentTab" @changeDoc="changeDoc"></open-doc-left>
</div> </div>
<div class="document-center-right"> <div class="document-center-right">
<open-doc-right :currentDoc="currentDoc"></open-doc-right> <open-doc-right :currentDoc="currentDoc"></open-doc-right>
...@@ -30,9 +30,15 @@ export default { ...@@ -30,9 +30,15 @@ export default {
}; };
}, },
methods: { methods: {
// 头部 tab 切换
changeTab(tab) { changeTab(tab) {
const that = this; const that = this;
that.currentTab = tab; that.currentTab = tab;
},
// 文档菜单切换
changeDoc(menuObj) {
const that = this;
that.currentDoc = JSON.parse(JSON.stringify(menuObj));
} }
}, },
mounted() { mounted() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment