Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
api-gateway
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
API
api-gateway
Commits
81cfcbc3
Commit
81cfcbc3
authored
Oct 21, 2019
by
无尘
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 修改菜单
parent
d7fc9ecb
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
17 additions
and
9 deletions
+17
-9
index.html
dist/index.html
+2
-2
app.0d3fa271537b71f267808ea2c07b2001.css
dist/static/css/app.0d3fa271537b71f267808ea2c07b2001.css
+0
-0
9.1bd2682bef3a52e89b3d.js
dist/static/js/9.1bd2682bef3a52e89b3d.js
+2
-0
9.9c96ae683c51b04359d0.js
dist/static/js/9.9c96ae683c51b04359d0.js
+0
-2
manifest.a2a8bae37612cf78acfd.js
dist/static/js/manifest.a2a8bae37612cf78acfd.js
+2
-0
manifest.f6deb69c08f5e5184ea9.js
dist/static/js/manifest.f6deb69c08f5e5184ea9.js
+0
-2
vue-api-aside.vue
src/components/vue-api-aside.vue
+11
-3
No files found.
dist/index.html
View file @
81cfcbc3
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><link
rel=
"shortcut icon"
href=
./favicon.ico
><title>
API网关管理平台
</title><link
href=
./static/css/app.e39afb9175f270f5f73e4bc76b27fd67.css
rel=
stylesheet
></head><body
style=
"min-width: 1400px;"
><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
src=
//web-1251519181.file.myqcloud.com/components/input.2.0.15.js
></script><script
src=
//web-1251519181.file.myqcloud.com/components/delete.2.0.01.js
></script><script
type=
text/javascript
src=
./static/js/manifest.f6deb69c08f5e5184ea9.js
></script><script
type=
text/javascript
src=
./static/js/vendor.71dc162eb690bf6a36a0.js
></script><script
type=
text/javascript
src=
./static/js/app.154c36bdc57283833b6b.js
></script></body></html>
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><link
rel=
"shortcut icon"
href=
./favicon.ico
><title>
API网关管理平台
</title><link
href=
./static/css/app.0d3fa271537b71f267808ea2c07b2001.css
rel=
stylesheet
></head><body
style=
"min-width: 1400px;"
><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
src=
//web-1251519181.file.myqcloud.com/components/input.2.0.15.js
></script><script
src=
//web-1251519181.file.myqcloud.com/components/delete.2.0.01.js
></script><script
type=
text/javascript
src=
./static/js/manifest.a2a8bae37612cf78acfd.js
></script><script
type=
text/javascript
src=
./static/js/vendor.71dc162eb690bf6a36a0.js
></script><script
type=
text/javascript
src=
./static/js/app.154c36bdc57283833b6b.js
></script></body></html>
\ No newline at end of file
\ No newline at end of file
dist/static/css/app.
e39afb9175f270f5f73e4bc76b27fd67
.css
→
dist/static/css/app.
0d3fa271537b71f267808ea2c07b2001
.css
View file @
81cfcbc3
This source diff could not be displayed because it is too large. You can
view the blob
instead.
dist/static/js/9.1bd2682bef3a52e89b3d.js
0 → 100644
View file @
81cfcbc3
webpackJsonp
([
9
],{
"7Otq"
:
function
(
e
,
t
){
e
.
exports
=
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAohJREFUSA3llr9vjlEUx/u0fkVaWiQGtPEGVYnBJMwmE5PJwtbBYqhB/AESQUSnpiFCaMTAJKIq1GBQNWgTQyPKIKlfg2q1fX2+b+6t+97nXs9zG1tP8nnvueeec773+f1mDYlWrVb3UHIQqjCcZdl4SossJRmxbeSfAFsn0T5EP5bt01g20eR1MVoxheR3yilrqYI/A42nA7FoKFVwhE5fnW5f8F8780LXPT2FyUrgOq5hOAILcJ/r94uxtK0onWkSJYDoFNO5VDG1SBZETDVrYV4+onNqVNYKTylNV9JMj0OHYSuj3ajEPsB7wyQb+I0ftaAgIluo0CMgEfllb655cvVMagNjiH9irLNYo29kzcAmiOXUNTKTJlOjG+l7KCHW7AHJ++AqDIHEi0wig9AL++Ee5CwmuJHMy/AK2uASPINZ8E2xp6CczTAKF0B1OYsJ2sSdONrpQ/gB2sQL0M2im2MYJGSPbgC/AmnGTTMKvi0QuAUd0ALNUIEBCNnL0qpUvwl1MDE9+EfhGMyYWGgICtrnyd+MPjsxW83CLtC4KpYUixddw1jdkuPLV/Daks/Z38Jgj9wp5XbbTc0ZOA93IdVuU3ARztJrh19cu0tZaGfhAOgd2g/XefH2MOqDe5zhCqzX/B+mfwLd1ElQdXqvDjKeZNwA+oc3qYXDoGfLmt6HdcZCOzyxCYw9cM6ZP8LXV2XRmGfw3MmZxj8kwbdOUK7EmxcrjUOsEU6bdSuoJqcg95kj1gaz4NqIdqF3ZIsnUOHwJ7xYbUr+XpztoMuhb95YbcH7IU9/H8e98JSO8A64piPO7dgrLJzSowneuY3xb0iwFST6GR6DvhD/xejVBUOg3jdh3R/Z4PK7K+X7nwAAAABJRU5ErkJggg=="
},
JXTs
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
n
=
a
(
"mvHQ"
),
i
=
a
.
n
(
n
),
r
=
a
(
"P9l9"
),
o
=
a
(
"LlAa"
),
s
=
a
(
"TUB1"
),
c
=
{
name
:
"vue-api-header"
,
data
:
function
(){
return
{
baseInfo
:{}}},
methods
:{
toLoginOut
:
function
(){
var
e
=
this
;
e
.
$confirm
(
"确认退出吗?"
,
"提示"
,{
type
:
"warning"
}).
then
(
function
(){
e
.
postLoginOut
()}).
catch
(
function
(
e
){})},
postLoginOut
:
function
(){
var
e
=
this
;
Object
(
r
.
a
)(
"/gateway-manage/invalidate"
,{}).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
"0000"
==
a
.
code
)
return
s
.
a
.
showmsg
(
"退出成功"
,
"success"
),
e
.
$store
.
dispatch
(
"clearUserInfo"
),
e
.
$router
.
push
(
"/login"
),
!
1
;
o
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
getUserInfo
:
function
(){
var
e
=
this
;
Object
(
r
.
a
)(
"/gateway-manage/get-login-userInfo"
,{}).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
"0000"
==
a
.
code
)
return
e
.
baseInfo
=
a
.
result
,
localStorage
.
removeItem
(
"userInfo"
),
void
localStorage
.
setItem
(
"userInfo"
,
i
()(
a
.
result
));
o
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
$route
:{
handler
:
function
(
e
,
t
){},
deep
:
!
0
}},
mounted
:
function
(){
this
.
pathName
=
this
.
$route
.
path
,
this
.
getUserInfo
()}},
l
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"api-header"
},[
a
(
"div"
,{
staticClass
:
"api-header-wrap border-box flex flex-space-between"
},[
e
.
_m
(
0
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"api-header-right"
},[
a
(
"div"
,{
staticClass
:
"api-header-right_info"
},[
a
(
"span"
,{
staticClass
:
"api-header-message"
},[
e
.
_v
(
"消息"
)]),
e
.
_v
(
" "
),
a
(
"el-popover"
,{
staticStyle
:{
"min-width"
:
"95px"
,
"margin-left"
:
"10px"
},
attrs
:{
placement
:
"bottom"
,
title
:
""
,
width
:
"95"
,
trigger
:
"hover"
,
"popper-class"
:
"user-header-pop"
}},[
a
(
"ul"
,{
staticClass
:
"navsuerwrap"
},[
a
(
"li"
,{
staticClass
:
"user-item loginout"
,
staticStyle
:{
"text-align"
:
"center"
},
on
:{
click
:
function
(
t
){
return
t
.
stopPropagation
(),
e
.
toLoginOut
(
t
)}}},[
a
(
"a"
,{
staticClass
:
"usertext "
},[
e
.
_v
(
"退出登录"
)])])]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"nav-user-name"
,
staticStyle
:{
display
:
"inline-block"
},
attrs
:{
slot
:
"reference"
},
slot
:
"reference"
},[
a
(
"a"
,{
staticClass
:
"user-left-img flex flex-align-center"
},[
a
(
"img"
,{
staticStyle
:{
width
:
"30px"
,
height
:
"30px"
,
"border-radius"
:
"15px"
,
"padding-right"
:
"2px"
},
attrs
:{
src
:
e
.
baseInfo
.
avatar
,
alt
:
""
}}),
a
(
"span"
,{
staticClass
:
"color-fff font-14 p-r-14"
},[
e
.
_v
(
e
.
_s
(
e
.
baseInfo
.
userName
))]),
a
(
"i"
,{
staticClass
:
"el-icon-arrow-down font-14 color-fff"
})])])])],
1
)])])])},
staticRenderFns
:[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
staticClass
:
"api-header-left"
},[
t
(
"img"
,{
attrs
:{
src
:
a
(
"7Otq"
),
alt
:
""
}}),
t
(
"span"
,{
staticClass
:
"color-fff "
},[
this
.
_v
(
"API网关管理后台"
)])])}]};
var
d
=
a
(
"VU/8"
)(
c
,
l
,
!
1
,
function
(
e
){
a
(
"WKN7"
)},
"data-v-2884065b"
,
null
).
exports
,
u
=
{
name
:
"vue-api-aside"
,
props
:{
activeSelTab
:{
type
:
String
,
default
:
function
(){
return
"1"
}}},
data
:
function
(){
return
{
activeTab
:
this
.
activeSelTab
,
leftMenuData
:[{
tabId
:
1
,
tabCode
:
1
,
tabName
:
"概览"
,
tabIcon
:
"icongailan-"
,
collapsFlag
:
!
1
,
tabUrl
:
"/overview"
,
children
:[]},{
tabId
:
2
,
tabCode
:
2
,
tabName
:
"API管理"
,
tabIcon
:
"iconapi"
,
collapsFlag
:
!
0
,
tabUrl
:
"/apiProgram"
,
children
:[{
tabId
:
21
,
tabCode
:
21
,
tabName
:
"项目列表"
,
tabIcon
:
""
,
tabUrl
:
"/apiProgram"
},{
tabId
:
22
,
tabCode
:
22
,
tabName
:
"API列表"
,
tabIcon
:
""
,
tabUrl
:
"/apiList"
}]},{
tabId
:
3
,
tabCode
:
3
,
tabName
:
"环境管理"
,
tabIcon
:
"iconhuanjingguanli"
,
collapsFlag
:
!
1
,
tabUrl
:
"/envManage"
,
children
:[]},{
tabId
:
4
,
tabCode
:
4
,
tabName
:
"发布记录"
,
tabIcon
:
"iconfabu"
,
collapsFlag
:
!
1
,
tabUrl
:
"/releaseRecords"
,
children
:[]},{
tabId
:
5
,
tabCode
:
5
,
tabName
:
"插件管理"
,
tabIcon
:
"iconchajianguanli"
,
collapsFlag
:
!
1
,
tabUrl
:
"/pluginManage"
,
children
:[]},{
tabId
:
6
,
tabCode
:
6
,
tabName
:
"错误码"
,
tabIcon
:
"iconcuowu"
,
collapsFlag
:
!
1
,
tabUrl
:
"/errorCode"
,
children
:[]}]}},
methods
:{
selectTab
:
function
(
e
,
t
,
a
){
if
(
t
?
this
.
leftMenuData
[
a
].
onlyIconActive
=!
0
:(
this
.
leftMenuData
.
forEach
(
function
(
e
){
e
.
onlyIconActive
=!
1
}),
this
.
$forceUpdate
()),
e
.
hasOwnProperty
(
"children"
)
&&
e
.
children
.
length
>
0
)
return
this
.
leftMenuData
[
a
].
onlyIconActive
=!
0
,
e
.
children
[
0
].
hasOwnProperty
(
"children"
)
&&
e
.
children
[
0
].
hasOwnProperty
(
"children"
).
length
>
0
?(
this
.
activeTab
=
e
.
children
[
0
].
children
[
0
].
tabCode
,
this
.
$emit
(
"setSelectTab"
,
e
),
!
1
):(
this
.
activeTab
=
e
.
children
[
0
].
tabCode
,
this
.
$emit
(
"setSelectTab"
,
e
),
!
1
);
this
.
activeTab
=
e
.
tabCode
,
this
.
$emit
(
"setSelectTab"
,
e
)},
getLeftMenu
:
function
(){
var
e
=
this
,
t
=
{
project
:
e
.
repProjectName
,
router
:
e
.
pathName
,
requestProject
:
e
.
repProjectName
};
Object
(
r
.
a
)(
"/haoban-manage-web/menu-detail"
,
t
).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
1
==
a
.
errorCode
)
return
a
.
result
?
void
0
:
void
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
"暂无数据"
});
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
a
.
message
})}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
$route
:{
handler
:
function
(
e
,
t
){},
deep
:
!
0
},
activeSelTab
:
function
(
e
,
t
){
this
.
activeTab
=
e
}},
mounted
:
function
(){
this
.
activeTab
=
this
.
activeSelTab
}},
h
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"api-body-left border-box"
},[
a
(
"ul"
,{
staticClass
:
"tab-left-list border-box"
},[
e
.
_l
(
e
.
leftMenuData
,
function
(
t
,
n
){
return
[
a
(
"li"
,{
key
:
n
,
class
:[
"tab-left-list-cell color-606266 font-14 border-box my-first-level"
,
t
.
tabCode
==
e
.
activeTab
?
"active-tab"
:
""
],
on
:{
click
:
function
(
a
){
e
.
selectTab
(
t
,
!
1
,
n
)}}},[
a
(
"i"
,{
class
:[
"iconfont tab-icon"
,
t
.
tabIcon
,
t
.
onlyIconActive
?
"iconActive"
:
""
]}),
e
.
_v
(
e
.
_s
(
t
.
tabName
)
+
"
\
n "
)]),
e
.
_v
(
" "
),
t
.
collapsFlag
?
a
(
"ul"
,{
key
:
"childitem"
+
n
,
staticClass
:
"child-tab-left-list"
},[
e
.
_l
(
t
.
children
,
function
(
t
,
i
){
return
[
a
(
"li"
,{
key
:
i
,
class
:[
"tab-left-list-cell color-606266 font-14 border-box"
,
t
.
tabCode
==
e
.
activeTab
?
"active-tab"
:
""
],
on
:{
click
:
function
(
a
){
e
.
selectTab
(
t
,
"child"
,
n
)}}},[
e
.
_v
(
e
.
_s
(
t
.
tabName
))])]})],
2
):
e
.
_e
()]})],
2
)])},
staticRenderFns
:[]};
var
b
=
{
name
:
"index"
,
data
:
function
(){
return
{
projectName
:
"haoban-manage-web"
,
windowH
:
window
.
screen
.
height
-
56
-
40
-
72
+
"px"
,
collapseFlag
:
!
1
,
activeSelTab
:
""
}},
methods
:{
changeRoute
:
function
(
e
){
this
.
$router
.
push
(
e
)},
toRouterView
:
function
(
e
){
this
.
$router
.
push
({
path
:
e
.
path
})},
showTab
:
function
(
e
){
this
.
activeSelTab
=
e
},
setSelectTab
:
function
(
e
){
var
t
=
e
.
tabCode
;
e
.
hasOwnProperty
(
"children"
)
&&
e
.
children
.
length
&&
(
t
=
e
.
children
[
0
].
tabCode
,
e
.
children
[
0
].
hasOwnProperty
(
"children"
)
&&
e
.
children
[
0
].
hasOwnProperty
(
"children"
).
length
&&
(
t
=
e
.
children
[
0
].
children
[
0
].
tabCode
)),
this
.
$router
.
push
({
path
:
e
.
tabUrl
,
query
:{
tabCode
:
t
}})},
getDataOverview
:
function
(){}},
mounted
:
function
(){
this
.
contentHeight
=
(
document
.
documentElement
.
clientHeight
||
document
.
body
.
clientHeight
)
-
204
+
"px"
},
components
:{
vueApiHeader
:
d
,
vueApiAside
:
a
(
"VU/8"
)(
u
,
h
,
!
1
,
function
(
e
){
a
(
"UJcL"
)},
"data-v-90db76aa"
,
null
).
exports
}},
f
=
{
render
:
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
attrs
:{
id
:
"index"
}},[
t
(
"vue-api-header"
),
this
.
_v
(
" "
),
t
(
"div"
,{
staticClass
:
"api-body border-box"
},[
t
(
"div"
,{
staticClass
:
"api-body-wrap flex border-box"
},[
t
(
"vue-api-aside"
,{
attrs
:{
activeSelTab
:
this
.
activeSelTab
},
on
:{
setSelectTab
:
this
.
setSelectTab
}}),
this
.
_v
(
" "
),
t
(
"div"
,{
staticClass
:
"api-body-right border-box"
,
staticStyle
:{
height
:
"calc(100vh - 56px)"
}},[
t
(
"transition"
,{
attrs
:{
name
:
"fade"
,
mode
:
"out-in"
}},[
t
(
"router-view"
,{
on
:{
showTab
:
this
.
showTab
}})],
1
)],
1
)],
1
)])],
1
)},
staticRenderFns
:[]};
var
g
=
a
(
"VU/8"
)(
b
,
f
,
!
1
,
function
(
e
){
a
(
"NRyW"
)},
null
,
null
);
t
.
default
=
g
.
exports
},
NRyW
:
function
(
e
,
t
){},
UJcL
:
function
(
e
,
t
){},
WKN7
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/9.9c96ae683c51b04359d0.js
deleted
100644 → 0
View file @
d7fc9ecb
webpackJsonp
([
9
],{
"7Otq"
:
function
(
t
,
e
){
t
.
exports
=
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAohJREFUSA3llr9vjlEUx/u0fkVaWiQGtPEGVYnBJMwmE5PJwtbBYqhB/AESQUSnpiFCaMTAJKIq1GBQNWgTQyPKIKlfg2q1fX2+b+6t+97nXs9zG1tP8nnvueeec773+f1mDYlWrVb3UHIQqjCcZdl4SossJRmxbeSfAFsn0T5EP5bt01g20eR1MVoxheR3yilrqYI/A42nA7FoKFVwhE5fnW5f8F8780LXPT2FyUrgOq5hOAILcJ/r94uxtK0onWkSJYDoFNO5VDG1SBZETDVrYV4+onNqVNYKTylNV9JMj0OHYSuj3ajEPsB7wyQb+I0ftaAgIluo0CMgEfllb655cvVMagNjiH9irLNYo29kzcAmiOXUNTKTJlOjG+l7KCHW7AHJ++AqDIHEi0wig9AL++Ee5CwmuJHMy/AK2uASPINZ8E2xp6CczTAKF0B1OYsJ2sSdONrpQ/gB2sQL0M2im2MYJGSPbgC/AmnGTTMKvi0QuAUd0ALNUIEBCNnL0qpUvwl1MDE9+EfhGMyYWGgICtrnyd+MPjsxW83CLtC4KpYUixddw1jdkuPLV/Daks/Z38Jgj9wp5XbbTc0ZOA93IdVuU3ARztJrh19cu0tZaGfhAOgd2g/XefH2MOqDe5zhCqzX/B+mfwLd1ElQdXqvDjKeZNwA+oc3qYXDoGfLmt6HdcZCOzyxCYw9cM6ZP8LXV2XRmGfw3MmZxj8kwbdOUK7EmxcrjUOsEU6bdSuoJqcg95kj1gaz4NqIdqF3ZIsnUOHwJ7xYbUr+XpztoMuhb95YbcH7IU9/H8e98JSO8A64piPO7dgrLJzSowneuY3xb0iwFST6GR6DvhD/xejVBUOg3jdh3R/Z4PK7K+X7nwAAAABJRU5ErkJggg=="
},
JXTs
:
function
(
t
,
e
,
a
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
n
=
a
(
"mvHQ"
),
i
=
a
.
n
(
n
),
r
=
a
(
"P9l9"
),
o
=
a
(
"LlAa"
),
s
=
a
(
"TUB1"
),
c
=
{
name
:
"vue-api-header"
,
data
:
function
(){
return
{
baseInfo
:{}}},
methods
:{
toLoginOut
:
function
(){
var
t
=
this
;
t
.
$confirm
(
"确认退出吗?"
,
"提示"
,{
type
:
"warning"
}).
then
(
function
(){
t
.
postLoginOut
()}).
catch
(
function
(
t
){})},
postLoginOut
:
function
(){
var
t
=
this
;
Object
(
r
.
a
)(
"/gateway-manage/invalidate"
,{}).
then
(
function
(
e
){
var
a
=
e
.
data
;
if
(
"0000"
==
a
.
code
)
return
s
.
a
.
showmsg
(
"退出成功"
,
"success"
),
t
.
$store
.
dispatch
(
"clearUserInfo"
),
t
.
$router
.
push
(
"/login"
),
!
1
;
o
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
e
){
t
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})},
getUserInfo
:
function
(){
var
t
=
this
;
Object
(
r
.
a
)(
"/gateway-manage/get-login-userInfo"
,{}).
then
(
function
(
e
){
var
a
=
e
.
data
;
if
(
"0000"
==
a
.
code
)
return
t
.
baseInfo
=
a
.
result
,
localStorage
.
removeItem
(
"userInfo"
),
void
localStorage
.
setItem
(
"userInfo"
,
i
()(
a
.
result
));
o
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
e
){
t
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})}},
watch
:{
$route
:{
handler
:
function
(
t
,
e
){},
deep
:
!
0
}},
mounted
:
function
(){
this
.
pathName
=
this
.
$route
.
path
,
this
.
getUserInfo
()}},
l
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
a
=
t
.
_self
.
_c
||
e
;
return
a
(
"div"
,{
staticClass
:
"api-header"
},[
a
(
"div"
,{
staticClass
:
"api-header-wrap border-box flex flex-space-between"
},[
t
.
_m
(
0
),
t
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"api-header-right"
},[
a
(
"div"
,{
staticClass
:
"api-header-right_info"
},[
a
(
"span"
,{
staticClass
:
"api-header-message"
},[
t
.
_v
(
"消息"
)]),
t
.
_v
(
" "
),
a
(
"el-popover"
,{
staticStyle
:{
"min-width"
:
"95px"
,
"margin-left"
:
"10px"
},
attrs
:{
placement
:
"bottom"
,
title
:
""
,
width
:
"95"
,
trigger
:
"hover"
,
"popper-class"
:
"user-header-pop"
}},[
a
(
"ul"
,{
staticClass
:
"navsuerwrap"
},[
a
(
"li"
,{
staticClass
:
"user-item loginout"
,
staticStyle
:{
"text-align"
:
"center"
},
on
:{
click
:
function
(
e
){
return
e
.
stopPropagation
(),
t
.
toLoginOut
(
e
)}}},[
a
(
"a"
,{
staticClass
:
"usertext "
},[
t
.
_v
(
"退出登录"
)])])]),
t
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"nav-user-name"
,
staticStyle
:{
display
:
"inline-block"
},
attrs
:{
slot
:
"reference"
},
slot
:
"reference"
},[
a
(
"a"
,{
staticClass
:
"user-left-img flex flex-align-center"
},[
a
(
"img"
,{
staticStyle
:{
width
:
"30px"
,
height
:
"30px"
,
"border-radius"
:
"15px"
,
"padding-right"
:
"2px"
},
attrs
:{
src
:
t
.
baseInfo
.
avatar
,
alt
:
""
}}),
a
(
"span"
,{
staticClass
:
"color-fff font-14 p-r-14"
},[
t
.
_v
(
t
.
_s
(
t
.
baseInfo
.
userName
))]),
a
(
"i"
,{
staticClass
:
"el-icon-arrow-down font-14 color-fff"
})])])])],
1
)])])])},
staticRenderFns
:[
function
(){
var
t
=
this
.
$createElement
,
e
=
this
.
_self
.
_c
||
t
;
return
e
(
"div"
,{
staticClass
:
"api-header-left"
},[
e
(
"img"
,{
attrs
:{
src
:
a
(
"7Otq"
),
alt
:
""
}}),
e
(
"span"
,{
staticClass
:
"color-fff "
},[
this
.
_v
(
"API网关管理后台"
)])])}]};
var
d
=
a
(
"VU/8"
)(
c
,
l
,
!
1
,
function
(
t
){
a
(
"WKN7"
)},
"data-v-2884065b"
,
null
).
exports
,
b
=
{
name
:
"vue-api-aside"
,
props
:{
activeSelTab
:{
type
:
String
,
default
:
function
(){
return
"1"
}}},
data
:
function
(){
return
{
activeTab
:
this
.
activeSelTab
,
leftMenuData
:[{
tabId
:
1
,
tabCode
:
1
,
tabName
:
"概览"
,
tabIcon
:
"icongailan-"
,
collapsFlag
:
!
1
,
tabUrl
:
"/overview"
,
children
:[]},{
tabId
:
2
,
tabCode
:
2
,
tabName
:
"API管理"
,
tabIcon
:
"iconapi"
,
collapsFlag
:
!
0
,
tabUrl
:
"/apiProgram"
,
children
:[{
tabId
:
21
,
tabCode
:
21
,
tabName
:
"项目列表"
,
tabIcon
:
""
,
tabUrl
:
"/apiProgram"
},{
tabId
:
22
,
tabCode
:
22
,
tabName
:
"API列表"
,
tabIcon
:
""
,
tabUrl
:
"/apiList"
}]},{
tabId
:
3
,
tabCode
:
3
,
tabName
:
"环境管理"
,
tabIcon
:
"iconhuanjingguanli"
,
collapsFlag
:
!
1
,
tabUrl
:
"/envManage"
,
children
:[]},{
tabId
:
4
,
tabCode
:
4
,
tabName
:
"发布记录"
,
tabIcon
:
"iconfabu"
,
collapsFlag
:
!
1
,
tabUrl
:
"/releaseRecords"
,
children
:[]},{
tabId
:
5
,
tabCode
:
5
,
tabName
:
"插件管理"
,
tabIcon
:
"iconchajianguanli"
,
collapsFlag
:
!
1
,
tabUrl
:
"/pluginManage"
,
children
:[]},{
tabId
:
6
,
tabCode
:
6
,
tabName
:
"错误码"
,
tabIcon
:
"iconcuowu"
,
collapsFlag
:
!
1
,
tabUrl
:
"/errorCode"
,
children
:[]},{
tabId
:
7
,
tabCode
:
7
,
tabName
:
"预警系统"
,
tabIcon
:
"iconRectangleCopy"
,
collapsFlag
:
!
1
,
tabUrl
:
"/"
,
children
:[]},{
tabId
:
8
,
tabCode
:
8
,
tabName
:
"日志管理"
,
tabIcon
:
"iconrizhiguanli"
,
collapsFlag
:
!
1
,
tabUrl
:
"/"
,
children
:[]},{
tabId
:
9
,
tabCode
:
9
,
tabName
:
"权限管理"
,
tabIcon
:
"iconquanxian"
,
collapsFlag
:
!
1
,
tabUrl
:
"/"
,
children
:[]}]}},
methods
:{
selectTab
:
function
(
t
,
e
,
a
){
if
(
e
?
this
.
leftMenuData
[
a
].
onlyIconActive
=!
0
:(
this
.
leftMenuData
.
forEach
(
function
(
t
){
t
.
onlyIconActive
=!
1
}),
this
.
$forceUpdate
()),
t
.
hasOwnProperty
(
"children"
)
&&
t
.
children
.
length
>
0
)
return
this
.
leftMenuData
[
a
].
onlyIconActive
=!
0
,
t
.
children
[
0
].
hasOwnProperty
(
"children"
)
&&
t
.
children
[
0
].
hasOwnProperty
(
"children"
).
length
>
0
?(
this
.
activeTab
=
t
.
children
[
0
].
children
[
0
].
tabCode
,
this
.
$emit
(
"setSelectTab"
,
t
),
!
1
):(
this
.
activeTab
=
t
.
children
[
0
].
tabCode
,
this
.
$emit
(
"setSelectTab"
,
t
),
!
1
);
this
.
activeTab
=
t
.
tabCode
,
this
.
$emit
(
"setSelectTab"
,
t
)},
getLeftMenu
:
function
(){
var
t
=
this
,
e
=
{
project
:
t
.
repProjectName
,
router
:
t
.
pathName
,
requestProject
:
t
.
repProjectName
};
Object
(
r
.
a
)(
"/haoban-manage-web/menu-detail"
,
e
).
then
(
function
(
e
){
var
a
=
e
.
data
;
if
(
1
==
a
.
errorCode
)
return
a
.
result
?
void
0
:
void
t
.
$message
.
error
({
duration
:
1
e3
,
message
:
"暂无数据"
});
t
.
$message
.
error
({
duration
:
1
e3
,
message
:
a
.
message
})}).
catch
(
function
(
e
){
t
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})}},
watch
:{
$route
:{
handler
:
function
(
t
,
e
){},
deep
:
!
0
},
activeSelTab
:
function
(
t
,
e
){
this
.
activeTab
=
t
}},
mounted
:
function
(){
this
.
activeTab
=
this
.
activeSelTab
}},
u
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
a
=
t
.
_self
.
_c
||
e
;
return
a
(
"div"
,{
staticClass
:
"api-body-left border-box"
},[
a
(
"ul"
,{
staticClass
:
"tab-left-list border-box"
},[
t
.
_l
(
t
.
leftMenuData
,
function
(
e
,
n
){
return
[
a
(
"li"
,{
key
:
n
,
class
:[
"tab-left-list-cell color-606266 font-14 border-box my-first-level"
,
e
.
tabCode
==
t
.
activeTab
?
"active-tab"
:
""
],
on
:{
click
:
function
(
a
){
t
.
selectTab
(
e
,
!
1
,
n
)}}},[
a
(
"i"
,{
class
:[
"iconfont tab-icon"
,
e
.
tabIcon
,
e
.
onlyIconActive
?
"iconActive"
:
""
]}),
t
.
_v
(
t
.
_s
(
e
.
tabName
)
+
"
\
n "
)]),
t
.
_v
(
" "
),
e
.
collapsFlag
?
a
(
"ul"
,{
key
:
"childitem"
+
n
,
staticClass
:
"child-tab-left-list"
},[
t
.
_l
(
e
.
children
,
function
(
e
,
i
){
return
[
a
(
"li"
,{
key
:
i
,
class
:[
"tab-left-list-cell color-606266 font-14 border-box"
,
e
.
tabCode
==
t
.
activeTab
?
"active-tab"
:
""
],
on
:{
click
:
function
(
a
){
t
.
selectTab
(
e
,
"child"
,
n
)}}},[
t
.
_v
(
t
.
_s
(
e
.
tabName
))])]})],
2
):
t
.
_e
()]})],
2
)])},
staticRenderFns
:[]};
var
h
=
{
name
:
"index"
,
data
:
function
(){
return
{
projectName
:
"haoban-manage-web"
,
windowH
:
window
.
screen
.
height
-
56
-
40
-
72
+
"px"
,
collapseFlag
:
!
1
,
activeSelTab
:
""
}},
methods
:{
changeRoute
:
function
(
t
){
this
.
$router
.
push
(
t
)},
toRouterView
:
function
(
t
){
this
.
$router
.
push
({
path
:
t
.
path
})},
showTab
:
function
(
t
){
this
.
activeSelTab
=
t
},
setSelectTab
:
function
(
t
){
var
e
=
t
.
tabCode
;
t
.
hasOwnProperty
(
"children"
)
&&
t
.
children
.
length
&&
(
e
=
t
.
children
[
0
].
tabCode
,
t
.
children
[
0
].
hasOwnProperty
(
"children"
)
&&
t
.
children
[
0
].
hasOwnProperty
(
"children"
).
length
&&
(
e
=
t
.
children
[
0
].
children
[
0
].
tabCode
)),
this
.
$router
.
push
({
path
:
t
.
tabUrl
,
query
:{
tabCode
:
e
}})},
getDataOverview
:
function
(){}},
mounted
:
function
(){
this
.
contentHeight
=
(
document
.
documentElement
.
clientHeight
||
document
.
body
.
clientHeight
)
-
204
+
"px"
},
components
:{
vueApiHeader
:
d
,
vueApiAside
:
a
(
"VU/8"
)(
b
,
u
,
!
1
,
function
(
t
){
a
(
"z3AI"
)},
"data-v-121f517a"
,
null
).
exports
}},
f
=
{
render
:
function
(){
var
t
=
this
.
$createElement
,
e
=
this
.
_self
.
_c
||
t
;
return
e
(
"div"
,{
attrs
:{
id
:
"index"
}},[
e
(
"vue-api-header"
),
this
.
_v
(
" "
),
e
(
"div"
,{
staticClass
:
"api-body border-box"
},[
e
(
"div"
,{
staticClass
:
"api-body-wrap flex border-box"
},[
e
(
"vue-api-aside"
,{
attrs
:{
activeSelTab
:
this
.
activeSelTab
},
on
:{
setSelectTab
:
this
.
setSelectTab
}}),
this
.
_v
(
" "
),
e
(
"div"
,{
staticClass
:
"api-body-right border-box"
,
staticStyle
:{
height
:
"calc(100vh - 56px)"
}},[
e
(
"transition"
,{
attrs
:{
name
:
"fade"
,
mode
:
"out-in"
}},[
e
(
"router-view"
,{
on
:{
showTab
:
this
.
showTab
}})],
1
)],
1
)],
1
)])],
1
)},
staticRenderFns
:[]};
var
g
=
a
(
"VU/8"
)(
h
,
f
,
!
1
,
function
(
t
){
a
(
"NRyW"
)},
null
,
null
);
e
.
default
=
g
.
exports
},
NRyW
:
function
(
t
,
e
){},
WKN7
:
function
(
t
,
e
){},
z3AI
:
function
(
t
,
e
){}});
\ No newline at end of file
dist/static/js/manifest.a2a8bae37612cf78acfd.js
0 → 100644
View file @
81cfcbc3
!
function
(
e
){
var
n
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
r
,
c
,
a
){
for
(
var
f
,
d
,
i
,
u
=
0
,
b
=
[];
u
<
r
.
length
;
u
++
)
d
=
r
[
u
],
t
[
d
]
&&
b
.
push
(
t
[
d
][
0
]),
t
[
d
]
=
0
;
for
(
f
in
c
)
Object
.
prototype
.
hasOwnProperty
.
call
(
c
,
f
)
&&
(
e
[
f
]
=
c
[
f
]);
for
(
n
&&
n
(
r
,
c
,
a
);
b
.
length
;)
b
.
shift
()();
if
(
a
)
for
(
u
=
0
;
u
<
a
.
length
;
u
++
)
i
=
o
(
o
.
s
=
a
[
u
]);
return
i
};
var
r
=
{},
t
=
{
24
:
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
c
=
document
.
getElementsByTagName
(
"head"
)[
0
],
a
=
document
.
createElement
(
"script"
);
a
.
type
=
"text/javascript"
,
a
.
charset
=
"utf-8"
,
a
.
async
=!
0
,
a
.
timeout
=
12
e4
,
o
.
nc
&&
a
.
setAttribute
(
"nonce"
,
o
.
nc
),
a
.
src
=
o
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"52863aa1d72d31066413"
,
1
:
"0ebe3ead93207dc78a78"
,
2
:
"e21fc72526b2a2b27f02"
,
3
:
"1fed6a3eef58e6642062"
,
4
:
"83b134741cef8a1fc258"
,
5
:
"f02293cf72bd2cfd95f2"
,
6
:
"7a4f7f41cea5405e209f"
,
7
:
"b2a85a42ddd430235a63"
,
8
:
"81460c8c66d06cfea732"
,
9
:
"1bd2682bef3a52e89b3d"
,
10
:
"638039a7b39908980436"
,
11
:
"f27d1de28264fbbe30ff"
,
12
:
"ccbc18453e41490e2dba"
,
13
:
"b109164d2be44afb7733"
,
14
:
"9825bb69e60b8030c230"
,
15
:
"6700988b665e14f99d41"
,
16
:
"915ed31249867849353a"
,
17
:
"f25417e1883c9c1447d8"
,
18
:
"f9c030a2728c83c74159"
,
19
:
"40fd9824f7542ed7f56d"
,
20
:
"c163ea91d150e0ca1cb1"
,
21
:
"55879284ad4d1f03fbe0"
}[
e
]
+
".js"
;
var
f
=
setTimeout
(
d
,
12
e4
);
function
d
(){
a
.
onerror
=
a
.
onload
=
null
,
clearTimeout
(
f
);
var
n
=
t
[
e
];
0
!==
n
&&
(
n
&&
n
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
t
[
e
]
=
void
0
)}
return
a
.
onerror
=
a
.
onload
=
d
,
c
.
appendChild
(
a
),
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
dist/static/js/manifest.f6deb69c08f5e5184ea9.js
deleted
100644 → 0
View file @
d7fc9ecb
!
function
(
e
){
var
n
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
r
,
o
,
a
){
for
(
var
f
,
d
,
i
,
u
=
0
,
b
=
[];
u
<
r
.
length
;
u
++
)
d
=
r
[
u
],
t
[
d
]
&&
b
.
push
(
t
[
d
][
0
]),
t
[
d
]
=
0
;
for
(
f
in
o
)
Object
.
prototype
.
hasOwnProperty
.
call
(
o
,
f
)
&&
(
e
[
f
]
=
o
[
f
]);
for
(
n
&&
n
(
r
,
o
,
a
);
b
.
length
;)
b
.
shift
()();
if
(
a
)
for
(
u
=
0
;
u
<
a
.
length
;
u
++
)
i
=
c
(
c
.
s
=
a
[
u
]);
return
i
};
var
r
=
{},
t
=
{
24
:
0
};
function
c
(
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
,
c
),
t
.
l
=!
0
,
t
.
exports
}
c
.
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
,
c
){
n
=
t
[
e
]
=
[
r
,
c
]});
n
[
2
]
=
r
;
var
o
=
document
.
getElementsByTagName
(
"head"
)[
0
],
a
=
document
.
createElement
(
"script"
);
a
.
type
=
"text/javascript"
,
a
.
charset
=
"utf-8"
,
a
.
async
=!
0
,
a
.
timeout
=
12
e4
,
c
.
nc
&&
a
.
setAttribute
(
"nonce"
,
c
.
nc
),
a
.
src
=
c
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"52863aa1d72d31066413"
,
1
:
"0ebe3ead93207dc78a78"
,
2
:
"e21fc72526b2a2b27f02"
,
3
:
"1fed6a3eef58e6642062"
,
4
:
"83b134741cef8a1fc258"
,
5
:
"f02293cf72bd2cfd95f2"
,
6
:
"7a4f7f41cea5405e209f"
,
7
:
"b2a85a42ddd430235a63"
,
8
:
"81460c8c66d06cfea732"
,
9
:
"9c96ae683c51b04359d0"
,
10
:
"638039a7b39908980436"
,
11
:
"f27d1de28264fbbe30ff"
,
12
:
"ccbc18453e41490e2dba"
,
13
:
"b109164d2be44afb7733"
,
14
:
"9825bb69e60b8030c230"
,
15
:
"6700988b665e14f99d41"
,
16
:
"915ed31249867849353a"
,
17
:
"f25417e1883c9c1447d8"
,
18
:
"f9c030a2728c83c74159"
,
19
:
"40fd9824f7542ed7f56d"
,
20
:
"c163ea91d150e0ca1cb1"
,
21
:
"55879284ad4d1f03fbe0"
}[
e
]
+
".js"
;
var
f
=
setTimeout
(
d
,
12
e4
);
function
d
(){
a
.
onerror
=
a
.
onload
=
null
,
clearTimeout
(
f
);
var
n
=
t
[
e
];
0
!==
n
&&
(
n
&&
n
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
t
[
e
]
=
void
0
)}
return
a
.
onerror
=
a
.
onload
=
d
,
o
.
appendChild
(
a
),
r
},
c
.
m
=
e
,
c
.
c
=
r
,
c
.
d
=
function
(
e
,
n
,
r
){
c
.
o
(
e
,
n
)
||
Object
.
defineProperty
(
e
,
n
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
r
})},
c
.
n
=
function
(
e
){
var
n
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
c
.
d
(
n
,
"a"
,
n
),
n
},
c
.
o
=
function
(
e
,
n
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
n
)},
c
.
p
=
"./"
,
c
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/components/vue-api-aside.vue
View file @
81cfcbc3
<!--
<!--
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2019-07-22 17:33:54
* @LastEditors: 无尘
* @LastEditTime: 2019-07-22 17:33:54
-->
<!--
<vue-api-aside :activeSelTab="activeSelTab" @setSelectTab="setSelectTab"></vue-api-aside>
<vue-api-aside :activeSelTab="activeSelTab" @setSelectTab="setSelectTab"></vue-api-aside>
import vueApiAside from '@/components/vue-api-aside.vue';
import vueApiAside from '@/components/vue-api-aside.vue';
...
@@ -107,8 +115,8 @@ export default {
...
@@ -107,8 +115,8 @@ export default {
collapsFlag
:
false
,
collapsFlag
:
false
,
tabUrl
:
'/errorCode'
,
tabUrl
:
'/errorCode'
,
children
:
[]
children
:
[]
}
,
}
{
/*
{
tabId: 7,
tabId: 7,
tabCode: 7,
tabCode: 7,
tabName: '预警系统',
tabName: '预警系统',
...
@@ -134,7 +142,7 @@ export default {
...
@@ -134,7 +142,7 @@ export default {
collapsFlag: false,
collapsFlag: false,
tabUrl: '/',
tabUrl: '/',
children: []
children: []
}
}
*/
]
]
};
};
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment