Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-platform-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
QA
qa-platform-ui
Commits
0dd85af0
Commit
0dd85af0
authored
Apr 22, 2021
by
王晓铜
Browse files
Options
Browse Files
Download
Plain Diff
接口信息
parents
bf8d6c45
6d60141e
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
792 additions
and
54 deletions
+792
-54
getAotoInterface.js
src/api/getAotoInterface.js
+35
-3
jira.js
src/api/jira.js
+33
-0
main.js
src/main.js
+3
-1
index.js
src/router/index.js
+19
-0
AddInterface.vue
src/views/auto/AddInterface.vue
+145
-0
InterfaceDetail.vue
src/views/auto/InterfaceDetail.vue
+104
-0
Model.vue
src/views/auto/Model.vue
+192
-11
Project.vue
src/views/auto/Project.vue
+13
-15
Notify.vue
src/views/jira/Notify.vue
+209
-0
Aside.vue
src/views/layout/leftAside/Aside.vue
+2
-1
menu.json
src/views/layout/leftAside/menu.json
+12
-0
Mock.vue
src/views/mock/Mock.vue
+6
-6
CheckData.vue
src/views/vcc/CheckData.vue
+1
-0
GenData.vue
src/views/vcc/GenData.vue
+18
-17
No files found.
src/api/getAotoInterface.js
View file @
0dd85af0
import
request
from
'
@/utils/holmesRequest
'
import
request
from
'
@/utils/holmesRequest
'
// 项目模块相关接口
export
function
getProjectList
(
queryInfo
)
{
export
function
getProjectList
(
queryInfo
)
{
return
request
({
return
request
({
url
:
'
/auto/project/list
'
,
url
:
'
/auto/project/list
'
,
...
@@ -28,11 +28,43 @@ export function delProject(queryInfo) {
...
@@ -28,11 +28,43 @@ export function delProject(queryInfo) {
params
:
queryInfo
params
:
queryInfo
})
})
}
}
// 模块列表
// 模块列表
相关接口
export
function
m
odulList
(
queryInfo
)
{
export
function
getM
odulList
(
queryInfo
)
{
return
request
({
return
request
({
url
:
'
/auto/module/list
'
,
url
:
'
/auto/module/list
'
,
method
:
'
get
'
,
method
:
'
get
'
,
params
:
queryInfo
params
:
queryInfo
})
})
}
}
// 添加模块接口
export
function
addModul
(
data
)
{
return
request
({
url
:
'
/auto/module/add
'
,
method
:
'
post
'
,
data
})
}
// 编辑模块接口
export
function
editModel
(
data
)
{
return
request
({
url
:
'
/auto/module/modify
'
,
method
:
'
post
'
,
data
})
}
// 删除模块
export
function
delModel
(
queryInfo
)
{
return
request
({
url
:
'
/auto/module/delete
'
,
method
:
'
get
'
,
params
:
queryInfo
})
}
// 获取接口列表
export
function
interfaceDetailList
(
queryInfo
)
{
return
request
({
url
:
'
/auto/interface/list
'
,
method
:
'
get
'
,
params
:
queryInfo
})
}
src/api/jira.js
0 → 100644
View file @
0dd85af0
import
request
from
'
@/utils/holmesRequest
'
export
function
getProjectRobotList
(
queryInfo
)
{
return
request
({
url
:
'
/jira/list/robot
'
,
method
:
'
get
'
,
params
:
queryInfo
})
}
export
function
addProjectRobot
(
data
)
{
return
request
({
url
:
'
/jira/add/robot
'
,
method
:
'
post
'
,
data
})
}
export
function
modifyProjectRobot
(
data
)
{
return
request
({
url
:
'
/jira/modify/robot
'
,
method
:
'
post
'
,
data
})
}
export
function
delProjectRobot
(
queryInfo
)
{
return
request
({
url
:
'
/jira/delete/robot
'
,
method
:
'
get
'
,
params
:
queryInfo
})
}
src/main.js
View file @
0dd85af0
...
@@ -39,7 +39,8 @@ import {
...
@@ -39,7 +39,8 @@ import {
TabPane
,
TabPane
,
Switch
,
Switch
,
RadioGroup
,
RadioGroup
,
Radio
Radio
,
MessageBox
}
from
'
element-ui
'
}
from
'
element-ui
'
Vue
.
config
.
productionTip
=
false
Vue
.
config
.
productionTip
=
false
...
@@ -49,6 +50,7 @@ Vue.prototype.$echarts = echarts
...
@@ -49,6 +50,7 @@ Vue.prototype.$echarts = echarts
Vue
.
prototype
.
$message
=
Message
Vue
.
prototype
.
$message
=
Message
Vue
.
prototype
.
$loading
=
Loading
Vue
.
prototype
.
$loading
=
Loading
Vue
.
prototype
.
$messageBox
=
MessageBox
// axios.defaults.baseURL = 'https://qa-platform-pre.liangkebang.net'
// axios.defaults.baseURL = 'https://qa-platform-pre.liangkebang.net'
// axios.defaults.baseURL = 'http://localhost:8082'
// axios.defaults.baseURL = 'http://localhost:8082'
...
...
src/router/index.js
View file @
0dd85af0
...
@@ -17,6 +17,10 @@ import LoginWhiteList from '../views/effect/LoginWhiteList'
...
@@ -17,6 +17,10 @@ import LoginWhiteList from '../views/effect/LoginWhiteList'
// 2021-040-09新添加
// 2021-040-09新添加
import
ProjectList
from
'
../views/auto/Project
'
import
ProjectList
from
'
../views/auto/Project
'
import
ModelList
from
'
../views/auto/Model
'
import
ModelList
from
'
../views/auto/Model
'
import
InterfaceDetail
from
'
../views/auto/InterfaceDetail
'
import
JiraNotify
from
'
../views/jira/Notify
'
import
AddInterface
from
'
../views/auto/AddInterface
'
Vue
.
use
(
Router
)
Vue
.
use
(
Router
)
const
router
=
new
Router
({
const
router
=
new
Router
({
mode
:
'
history
'
,
mode
:
'
history
'
,
...
@@ -99,9 +103,24 @@ const router = new Router({
...
@@ -99,9 +103,24 @@ const router = new Router({
path
:
'
/auto/Model
'
,
path
:
'
/auto/Model
'
,
name
:
'
模块管理
'
,
name
:
'
模块管理
'
,
component
:
ModelList
component
:
ModelList
},
{
path
:
'
/auto/InterfaceDetail
'
,
name
:
'
接口详情
'
,
component
:
InterfaceDetail
},
{
path
:
'
/auto/AddInterface
'
,
name
:
'
添加接口
'
,
component
:
AddInterface
},
{
'
path
'
:
'
/effect/jira/notify
'
,
component
:
JiraNotify
}
}
]
]
}
}
]
]
})
})
export
default
router
export
default
router
src/views/auto/AddInterface.vue
0 → 100644
View file @
0dd85af0
<
template
>
<div>
<el-form
ref=
"interfaceForm"
:model=
"interfaceForm"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"接口名称:"
>
<el-input
v-model=
"interfaceForm.name"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"所属模块:"
>
<el-select
v-model=
"interfaceForm.moduleName"
placeholder=
"请选择模块"
>
<el-option
v-for=
"item in modelList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"请求方式:"
>
<el-select
v-model=
"interfaceForm.method"
placeholder=
"请选择模块"
>
<el-option
v-for=
"item in optionMethod"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!--
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"请求路径:"
style=
"float:left"
>
<el-input
v-model=
"interfaceForm.url"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"参数类型:"
class=
"col-style"
>
<el-select
v-model=
"interfaceForm.reqType"
placeholder=
"请选择参数类型"
>
<el-option
v-for=
"item in optionReqType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
-->
</el-form>
</div>
</
template
>
<
script
>
import
{
getModulList
}
from
'
@/api/getAotoInterface
'
export
default
{
data
()
{
return
{
queryModuleInfo
:
{
pageNum
:
1
,
pageSize
:
10
},
interfaceForm
:
{
name
:
''
,
moduleName
:
''
,
method
:
''
,
url
:
''
,
reqType
:
''
},
modelList
:
[],
rules
:
{
name
:
[
{
required
:
true
,
message
:
'
接口名称不能为空!
'
,
trigger
:
'
blur
'
}
],
modelName
:
[
{
required
:
true
,
message
:
'
接口名称不能为空!
'
,
trigger
:
'
blur
'
}
],
method
:
[
{
required
:
true
,
message
:
'
接口名称不能为空!
'
,
trigger
:
'
blur
'
}
],
url
:
[
{
required
:
true
,
message
:
'
接口名称不能为空!
'
,
trigger
:
'
blur
'
}
],
reqType
:
[
{
required
:
true
,
message
:
'
接口名称不能为空!
'
,
trigger
:
'
blur
'
}
]
},
optionMethod
:
[
{
id
:
'
get
'
,
name
:
'
get
'
},
{
id
:
'
post
'
,
name
:
'
post
'
}
],
optionReqType
:
[
{
id
:
'
params
'
,
name
:
'
params
'
},
{
id
:
'
json
'
,
name
:
'
json
'
},
{
id
:
'
form
'
,
name
:
'
form
'
}
]
}
},
created
()
{
this
.
getModelList
()
},
methods
:
{
// 模块列表
getModelList
()
{
getModulList
(
this
.
queryModuleInfo
).
then
((
resp
)
=>
{
this
.
modelList
=
resp
.
data
.
data
.
list
})
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
// .col-style {
// margin-left: 50px;
// float: left;
// }
// .col-new-style {
// margin-left: 20px;
// }
</
style
>
src/views/auto/InterfaceDetail.vue
0 → 100644
View file @
0dd85af0
<
template
>
<div>
<el-card>
<div>
项目:
<el-select
v-model=
"selectProjectId"
placeholder=
"请选择项目"
@
change=
"selectChange"
>
<el-option
v-for=
"item in projectList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
模块:
<el-select
v-model=
"interfaceDetailForm.moduleId"
placeholder=
"请选择模块"
>
<el-option
v-for=
"item in modelList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
<el-input
v-model=
"interfaceName"
clearable
placeholder=
"请输入接口名称"
style=
"width: 300px;"
></el-input>
<el-button
type=
"primary"
style=
"margin-left:20px"
@
click=
"queryData"
>
查询
</el-button>
<el-button
type=
"primary"
style=
"margin-left:20px"
@
click=
"addPage"
>
新增
</el-button>
</div>
<el-table
:data=
"interfaceList"
border
style=
"width: 100%;margin-top:20px"
>
<el-table-column
type=
'index'
width=
"50px"
></el-table-column>
<el-table-column
prop=
"name"
label=
"接口名称"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"moduleName"
label=
"所属模块"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"url"
label=
"接口路径"
width=
"300px"
></el-table-column>
<el-table-column
prop=
"method"
label=
"请求方式"
width=
"100px"
></el-table-column>
<el-table-column
prop=
"paramType"
label=
"参数类型"
width=
"100px"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"创建时间"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"updateTime"
label=
"修改时间"
width=
"200px"
></el-table-column>
<el-table-column
label=
"操作"
>
<slot
slot-scope=
"scope"
>
<el-button
type=
"success"
@
click=
"openEditDialog(scope.row)"
>
编辑
</el-button>
<el-button
type=
"danger"
@
click=
"delModelFrom(scope.row)"
>
删除
</el-button>
</slot>
</el-table-column>
</el-table>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page.sync=
"queryModuleInfo.pageNum"
:page-size=
"queryModuleInfo.pageSize"
layout=
"total, prev, pager, next"
:total=
"totalNum"
></el-pagination>
</el-card>
</div>
</
template
>
<
script
>
import
{
getModulList
,
getProjectList
,
interfaceDetailList
}
from
'
@/api/getAotoInterface
'
export
default
{
data
()
{
return
{
queryModuleInfo
:
{
pageNum
:
1
,
pageSize
:
10
,
projectId
:
''
},
totalNum
:
0
,
projectList
:
[],
modelList
:
[],
// 下来项目id
selectProjectId
:
''
,
interfaceName
:
''
,
interfaceList
:
[],
interfaceDetailForm
:
{}
}
},
created
()
{
this
.
getProjectList
()
this
.
getInterfaceDetailList
()
},
methods
:
{
// 项目列表
getProjectList
()
{
getProjectList
(
this
.
queryModuleInfo
).
then
((
resp
)
=>
{
this
.
projectList
=
resp
.
data
.
data
.
list
})
},
// 下来框选中改变事件
selectChange
()
{
this
.
queryModuleInfo
.
projectId
=
this
.
selectProjectId
getModulList
(
this
.
queryModuleInfo
).
then
((
resp
)
=>
{
this
.
modelList
=
resp
.
data
.
data
.
list
})
},
// 查询方法
queryData
()
{},
// 添加跳转页面
addPage
()
{
this
.
$router
.
push
(
'
AddInterface
'
)
},
// 获取接口列表
getInterfaceDetailList
()
{
interfaceDetailList
(
this
.
queryModuleInfo
).
then
((
resp
)
=>
{
this
.
interfaceList
=
resp
.
data
.
data
.
list
})
},
handleSizeChange
(
newSize
)
{
this
.
queryModuleInfo
.
pageSize
=
newSize
this
.
getInterfaceDetailList
()
},
handleCurrentChange
(
newPage
)
{
this
.
queryModuleInfo
.
pageNum
=
newPage
this
.
getInterfaceDetailList
()
}
}
}
</
script
>
src/views/auto/Model.vue
View file @
0dd85af0
...
@@ -4,30 +4,211 @@
...
@@ -4,30 +4,211 @@
<div
class=
"filter"
>
<div
class=
"filter"
>
<el-button
type=
"primary"
@
click=
"DialogVisible = true"
>
新增
</el-button>
<el-button
type=
"primary"
@
click=
"DialogVisible = true"
>
新增
</el-button>
</div>
</div>
<el-table
:data=
"modelList"
border
style=
"width: 100%"
>
<el-table
:data=
"modelList"
border
style=
"width: 100%;margin-top:20px"
>
<el-table-column
prop=
"id"
label=
"序号"
width=
"80px"
></el-table-column>
<!--
<el-table-column
prop=
"id"
label=
"序号"
width=
"80px"
></el-table-column>
-->
<el-table-column
type=
'index'
width=
"50px"
></el-table-column>
<el-table-column
prop=
"name"
label=
"模块名称"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"name"
label=
"模块名称"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"
description"
label=
"所属项目"
width=
"3
00px"
></el-table-column>
<el-table-column
prop=
"
projectName"
label=
"所属项目"
width=
"2
00px"
></el-table-column>
<el-table-column
prop=
"
createTime"
label=
"域名"
width=
"2
00px"
></el-table-column>
<el-table-column
prop=
"
domain"
label=
"域名"
width=
"3
00px"
></el-table-column>
<el-table-column
prop=
"
updateTime"
label=
"描述"
width=
"20
0px"
></el-table-column>
<el-table-column
prop=
"
description"
label=
"描述"
width=
"21
0px"
></el-table-column>
<el-table-column
prop=
"
upd
ateTime"
label=
"创建时间"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"
cre
ateTime"
label=
"创建时间"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"updateTime"
label=
"修改时间"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"updateTime"
label=
"修改时间"
width=
"200px"
></el-table-column>
<el-table-column
label=
"操作"
>
<el-table-column
label=
"操作"
>
<slot
slot-scope=
"scope"
>
<slot
slot-scope=
"scope"
>
<el-button
type=
"success"
@
click=
"openEditDialog(scope.row)"
>
编辑
</el-button>
<el-button
type=
"success"
@
click=
"openEditDialog(scope.row)"
>
编辑
</el-button>
<el-button
type=
"danger"
@
click=
"del
Project
From(scope.row)"
>
删除
</el-button>
<el-button
type=
"danger"
@
click=
"del
Model
From(scope.row)"
>
删除
</el-button>
</slot>
</slot>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<
el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page.sync=
"queryModuleList.pageNum"
:page-size=
"queryModuleList.pageSize"
layout=
"total, prev, pager, next"
<
!-- 分页 -->
:total=
"totalNum"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page.sync=
"queryModuleInfo.pageNum"
:page-size=
"queryModuleInfo.pageSize"
layout=
"total, prev, pager, next"
</el-pagination>
:total=
"totalNum"
>
</el-pagination>
</el-card>
</el-card>
<!-- 新增模块 -->
<el-dialog
title=
"新增模块"
:visible.sync=
"DialogVisible"
width=
"30%"
>
<el-form
ref=
"modelForm"
:rules=
"rules"
:model=
"modelForm"
label-width=
"90px"
>
<el-form-item
label=
"模块名称:"
prop=
"name"
style=
"width:400px"
>
<el-input
v-model=
"modelForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"所属项目:"
prop=
"projectName"
>
<el-select
v-model=
"modelForm.projectId"
placeholder=
"请选择项目"
clearable
style=
"width:310px"
>
<el-option
v-for=
"item in projectList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"模块描述:"
prop=
"description"
style=
"width:400px"
>
<el-input
v-model=
"modelForm.description"
></el-input>
</el-form-item>
<el-form-item
label=
"域名:"
prop=
"domain"
style=
"width:400px"
>
<el-input
v-model=
"modelForm.domain"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"DialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addModelFrom"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getModulList
,
getProjectList
,
addModul
,
editModel
,
delModel
}
from
'
@/api/getAotoInterface
'
export
default
{
export
default
{
data
()
{
return
{
queryModuleInfo
:
{
pageNum
:
1
,
pageSize
:
10
},
totalNum
:
0
,
modelList
:
[],
projectList
:
[],
modelForm
:
{
name
:
''
,
projectId
:
''
,
description
:
''
,
domain
:
''
},
DialogVisible
:
false
,
delModelParam
:
{
moduleId
:
''
},
// 验证
rules
:
{
name
:
[
{
required
:
true
,
message
:
'
模块名称不能为空!
'
,
trigger
:
'
blur
'
}
],
projectName
:
[
{
required
:
true
,
message
:
'
模块名称不能为空!
'
,
trigger
:
'
blur
'
}
],
description
:
[
{
required
:
true
,
message
:
'
模块描述不能为空!
'
,
trigger
:
'
blur
'
}
],
domain
:
[
{
required
:
true
,
message
:
'
域名不能为空!
'
,
trigger
:
'
blur
'
}
]
}
}
},
created
()
{
this
.
getModelList
()
this
.
getProjectList
()
},
methods
:
{
// 获取模块列表
getModelList
()
{
getModulList
(
this
.
queryModuleInfo
).
then
((
resp
)
=>
{
this
.
modelList
=
resp
.
data
.
data
.
list
this
.
totalNum
=
resp
.
data
.
data
.
total
})
},
// 获取项目列表
getProjectList
()
{
getProjectList
(
this
.
queryModuleInfo
).
then
((
resp
)
=>
{
this
.
projectList
=
resp
.
data
.
data
.
list
})
},
// 分页展示
handleSizeChange
(
newSize
)
{
this
.
queryModuleInfo
.
pageSize
=
newSize
this
.
getModelList
()
},
// 分页展示
handleCurrentChange
(
newPage
)
{
this
.
queryModuleInfo
.
pageNum
=
newPage
this
.
getModelList
()
},
// 添加模块按钮
addModelFrom
()
{
if
(
this
.
modelForm
.
id
)
{
editModel
(
this
.
modelForm
).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
DialogVisible
=
false
this
.
$message
.
success
(
'
修改成功!
'
)
this
.
getModelList
()
}
else
{
this
.
$message
.
error
(
resp
.
data
.
msg
)
}
})
}
else
{
// 添加模块
addModul
(
this
.
modelForm
)
.
then
((
resp
)
=>
{
console
.
log
(
'
保存信息
'
,
this
.
modelForm
)
if
(
resp
.
data
.
data
===
true
)
{
this
.
DialogVisible
=
false
this
.
$message
.
success
(
'
新增成功!
'
)
this
.
modelList
.
name
=
''
this
.
modelList
.
projectName
=
''
this
.
modelList
.
description
=
''
this
.
modelList
.
domain
=
''
this
.
getModelList
()
}
else
{
this
.
$message
.
error
(
resp
.
data
.
msg
)
}
})
.
catch
((
error
)
=>
{
this
.
$message
({
type
:
'
error
'
,
message
:
error
})
})
}
},
// 编辑模块
openEditDialog
(
row
)
{
this
.
DialogVisible
=
true
this
.
modelForm
=
row
},
// 对话框方法
openMessage
(
message
,
confirmText
,
doit
)
{
this
.
$messageBox
.
confirm
(
message
,
'
确定
'
,
{
cancelButtonText
:
'
取消
'
,
confirmButtonText
:
confirmText
,
type
:
'
warning
'
})
.
then
(()
=>
{
doit
()
})
.
catch
(()
=>
{})
},
// 删除模块
delModelFrom
(
row
)
{
this
.
delModelParam
.
moduleId
=
row
.
id
this
.
openMessage
(
'
您确定要删除吗?
'
,
'
删除
'
,
()
=>
{
delModel
(
this
.
delModelParam
)
.
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
$message
.
success
(
'
删除成功!
'
)
this
.
getModelList
()
}
else
if
(
resp
.
data
.
data
===
false
)
{
this
.
$message
.
error
(
resp
.
data
.
msg
)
}
})
.
catch
((
error
)
=>
{
this
.
$message
({
type
:
'
error
'
,
message
:
error
})
})
})
}
}
}
}
</
script
>
</
script
>
src/views/auto/Project.vue
View file @
0dd85af0
...
@@ -6,8 +6,9 @@
...
@@ -6,8 +6,9 @@
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"searchMockList"
>
查询
</el-button>
-->
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"searchMockList"
>
查询
</el-button>
-->
<el-button
type=
"primary"
@
click=
"DialogVisible = true"
>
新增
</el-button>
<el-button
type=
"primary"
@
click=
"DialogVisible = true"
>
新增
</el-button>
</div>
</div>
<el-table
:data=
"projectList"
border
style=
"width: 100%"
>
<el-table
:data=
"projectList"
border
style=
"width: 100%;margin-top:20px"
>
<el-table-column
prop=
"id"
label=
"序号"
width=
"80px"
></el-table-column>
<!--
<el-table-column
prop=
"id"
label=
"序号"
width=
"80px"
></el-table-column>
-->
<el-table-column
type=
'index'
width=
"50px"
></el-table-column>
<el-table-column
prop=
"name"
label=
"名称"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"name"
label=
"名称"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"description"
label=
"描述"
width=
"300px"
></el-table-column>
<el-table-column
prop=
"description"
label=
"描述"
width=
"300px"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"创建时间"
width=
"200px"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"创建时间"
width=
"200px"
></el-table-column>
...
@@ -19,7 +20,7 @@
...
@@ -19,7 +20,7 @@
</slot>
</slot>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page.sync=
"queryModule
List.pageNum"
:page-size=
"queryModuleList
.pageSize"
layout=
"total, prev, pager, next"
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page.sync=
"queryModule
Info.pageNum"
:page-size=
"queryModuleInfo
.pageSize"
layout=
"total, prev, pager, next"
:total=
"totalNum"
>
:total=
"totalNum"
>
</el-pagination>
</el-pagination>
</el-card>
</el-card>
...
@@ -53,12 +54,7 @@ export default {
...
@@ -53,12 +54,7 @@ export default {
return
{
return
{
queryModuleInfo
:
{
queryModuleInfo
:
{
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
20
pageSize
:
10
},
queryModuleList
:
{
pageNo
:
1
,
pageSize
:
10
,
modlue
:
''
},
},
projectList
:
[],
projectList
:
[],
totalNum
:
0
,
totalNum
:
0
,
...
@@ -109,7 +105,7 @@ export default {
...
@@ -109,7 +105,7 @@ export default {
.
then
((
resp
)
=>
{
.
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
DialogVisible
=
false
this
.
DialogVisible
=
false
this
.
$message
.
success
(
'
修改
项目
成功!
'
)
this
.
$message
.
success
(
'
修改成功!
'
)
this
.
getProjectList
()
this
.
getProjectList
()
}
else
if
(
resp
.
data
.
data
===
false
)
{
}
else
if
(
resp
.
data
.
data
===
false
)
{
this
.
$message
.
error
(
resp
.
data
.
msg
)
this
.
$message
.
error
(
resp
.
data
.
msg
)
...
@@ -124,12 +120,14 @@ export default {
...
@@ -124,12 +120,14 @@ export default {
.
then
((
resp
)
=>
{
.
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
DialogVisible
=
false
this
.
DialogVisible
=
false
this
.
$message
.
success
(
'
新增
项目
成功!
'
)
this
.
$message
.
success
(
'
新增成功!
'
)
this
.
projectForm
.
name
=
''
this
.
projectForm
.
name
=
''
this
.
projectForm
.
description
=
''
this
.
projectForm
.
description
=
''
this
.
getProjectList
()
this
.
getProjectList
()
}
else
if
(
resp
.
data
.
data
===
false
)
{
}
else
{
this
.
$message
.
error
(
resp
.
data
.
msg
)
this
.
$message
.
error
(
resp
.
data
.
msg
)
this
.
projectForm
.
name
=
''
this
.
projectForm
.
description
=
''
}
}
})
})
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
...
@@ -162,7 +160,7 @@ export default {
...
@@ -162,7 +160,7 @@ export default {
delProject
(
this
.
delProjectParam
)
delProject
(
this
.
delProjectParam
)
.
then
((
resp
)
=>
{
.
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
$message
.
success
(
'
删除
项目
成功!
'
)
this
.
$message
.
success
(
'
删除成功!
'
)
this
.
getProjectList
()
this
.
getProjectList
()
}
else
if
(
resp
.
data
.
data
===
false
)
{
}
else
if
(
resp
.
data
.
data
===
false
)
{
this
.
$message
.
error
(
resp
.
data
.
msg
)
this
.
$message
.
error
(
resp
.
data
.
msg
)
...
@@ -175,12 +173,12 @@ export default {
...
@@ -175,12 +173,12 @@ export default {
},
},
// 分页展示
// 分页展示
handleSizeChange
(
newSize
)
{
handleSizeChange
(
newSize
)
{
this
.
queryModule
List
.
pageSize
=
newSize
this
.
queryModule
Info
.
pageSize
=
newSize
this
.
getProjectList
()
this
.
getProjectList
()
},
},
// 分页展示
// 分页展示
handleCurrentChange
(
newPage
)
{
handleCurrentChange
(
newPage
)
{
this
.
queryModule
List
.
pageNum
=
newPage
this
.
queryModule
Info
.
pageNum
=
newPage
this
.
getProjectList
()
this
.
getProjectList
()
},
},
closeEditDialog
()
{}
closeEditDialog
()
{}
...
...
src/views/jira/Notify.vue
0 → 100644
View file @
0dd85af0
<
template
>
<div>
<el-card>
<!-- 顶部搜索栏 -->
<div
class=
"top"
>
<el-button
type=
"primary"
icon=
"el-icon-circle-plus-outline"
@
click=
"addDialogVisible = true"
>
新增
</el-button>
</div>
<el-table
:data=
"dingRobotList"
border
style=
"width: 100%"
>
<!--
<el-table-column
prop=
"id"
label=
"编号"
width=
"80px"
></el-table-column>
-->
<el-table-column
type=
"index"
label=
"序号"
width=
"50px"
></el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目名"
width=
"250px"
></el-table-column>
<el-table-column
prop=
"dingUrl"
label=
"钉钉url"
></el-table-column>
<el-table-column
prop=
"creator"
label=
"创建人"
width=
"100px"
>
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"创建时间"
width=
"180px"
></el-table-column>
<el-table-column
label=
"操作"
width=
"200px"
>
<slot
slot-scope=
"scope"
>
<el-button
type=
"primary"
@
click=
"openEditDialog(scope.row)"
>
编辑
</el-button>
<el-button
type=
"danger"
@
click=
"delProjectRobot(scope.row.id)"
>
删除
</el-button>
</slot>
</el-table-column>
<!--
<el-table-column
prop=
"updateTime"
label=
"更新时间"
></el-table-column>
-->
</el-table>
</el-card>
<!-- 分页 -->
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page.sync=
"queryInfo.pageNum"
:page-size=
"queryInfo.pageSize"
layout=
"total, prev, pager, next"
:total=
"totalNum"
></el-pagination>
<!-- 新增对话框 -->
<el-dialog
title=
"新增robot"
:visible.sync=
"addDialogVisible"
width=
"60%"
@
close=
"closeAddDialog"
>
<el-form
ref=
"addRobotFormRef"
:rules=
"formRules"
:model=
"robotForm"
label-width=
"150px"
>
<el-form-item
label=
"项目名称"
prop=
"projectName"
>
<el-input
v-model=
"robotForm.projectName"
placeholder=
"请输入项目名称"
></el-input>
</el-form-item>
<el-form-item
label=
"钉钉通知地址"
prop=
"dingUrl"
>
<el-input
v-model=
"robotForm.dingUrl"
placeholder=
"请输入钉钉通知地址"
type=
"textarea"
></el-input>
</el-form-item>
<el-form-item
label=
"创建人"
>
<el-input
v-model=
"robotForm.creator"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addDialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addRobotProject"
>
保 存
</el-button>
</span>
</el-dialog>
<!-- 编辑对话框 -->
<el-dialog
title=
"编辑"
:visible.sync=
"editDialogVisible"
width=
"60%"
@
close=
"closeEditDialog"
>
<el-form
ref=
"editRobotFormRef"
:rules=
"formRules"
:model=
"editRobotForm"
label-width=
"150px"
>
<el-form-item
label=
"项目名称"
prop=
"projectName"
>
<el-input
v-model=
"editRobotForm.projectName"
placeholder=
"请输入项目名称"
></el-input>
</el-form-item>
<el-form-item
label=
"钉钉通知地址"
prop=
"dingUrl"
>
<el-input
v-model=
"editRobotForm.dingUrl"
placeholder=
"请输入钉钉通知地址"
type=
"textarea"
></el-input>
</el-form-item>
<el-form-item
label=
"创建人"
>
<el-input
v-model=
"editRobotForm.creator"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"editDialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"editRobotProject"
>
保 存
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getProjectRobotList
,
addProjectRobot
,
modifyProjectRobot
,
delProjectRobot
}
from
'
@/api/jira
'
export
default
{
data
()
{
return
{
dingRobotList
:
[],
queryInfo
:
{
pageNum
:
1
,
pageSize
:
10
},
totalNum
:
0
,
addDialogVisible
:
false
,
editDialogVisible
:
false
,
robotForm
:
{
projectName
:
''
,
dingUrl
:
''
,
creator
:
''
},
editRobotForm
:
{},
delRobotParams
:
{
projectRobotId
:
''
},
formRules
:
{
projectName
:
[
{
required
:
true
,
message
:
'
请输入项目名称
'
,
trigger
:
'
blur
'
}
],
dingUrl
:
[
{
required
:
true
,
message
:
'
请输入钉钉机器人url
'
,
trigger
:
'
blur
'
}
]
}
}
},
methods
:
{
getProjectRobotList
()
{
getProjectRobotList
(
this
.
queryInfo
).
then
((
resp
)
=>
{
this
.
dingRobotList
=
resp
.
data
.
data
.
list
this
.
totalNum
=
resp
.
data
.
data
.
total
})
},
// 新增
addRobotProject
()
{
this
.
$refs
.
addRobotFormRef
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
return
false
}
else
{
addProjectRobot
(
this
.
robotForm
).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
addDialogVisible
=
false
this
.
getProjectRobotList
()
return
this
.
$message
.
success
(
'
新增成功!
'
)
}
else
if
(
resp
.
data
.
data
===
false
)
{
return
this
.
$message
.
error
(
resp
.
data
.
msg
)
}
})
}
})
},
// 编辑
editRobotProject
()
{
this
.
$refs
.
editRobotFormRef
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
return
false
}
else
{
modifyProjectRobot
(
this
.
editRobotForm
).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
editDialogVisible
=
false
this
.
getProjectRobotList
()
return
this
.
$message
.
success
(
'
修改成功!
'
)
}
else
if
(
resp
.
data
.
data
===
false
)
{
return
this
.
$message
.
error
(
resp
.
data
.
msg
)
}
})
}
})
},
// 删除
delProjectRobot
(
robotId
)
{
this
.
delRobotParams
.
projectRobotId
=
robotId
this
.
$messageBox
.
confirm
(
'
此操作将永久删除, 是否继续?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
})
.
then
(()
=>
{
delProjectRobot
(
this
.
delRobotParams
).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
$message
.
success
(
'
删除成功!
'
)
return
this
.
getProjectRobotList
()
}
else
if
(
resp
.
data
.
data
===
false
)
{
return
this
.
$message
.
error
(
resp
.
data
.
msg
)
}
})
})
.
catch
(()
=>
{
this
.
$message
({
type
:
'
info
'
,
message
:
'
已取消删除
'
})
})
},
handleSizeChange
(
newSize
)
{
this
.
queryInfo
.
pageSize
=
newSize
this
.
getProjectRobotList
()
},
handleCurrentChange
(
newPage
)
{
this
.
queryInfo
.
pageNum
=
newPage
this
.
getProjectRobotList
()
},
openEditDialog
(
projectRobot
)
{
this
.
editDialogVisible
=
true
this
.
editRobotForm
=
projectRobot
},
closeAddDialog
()
{
this
.
$refs
.
addRobotFormRef
.
resetFields
()
},
closeEditDialog
()
{
this
.
$refs
.
editRobotFormRef
.
resetFields
()
}
},
created
()
{
this
.
getProjectRobotList
()
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.el-input {
width: 300px;
margin-right: 20px;
}
.top {
margin-bottom: 20px;
}
</
style
>
src/views/layout/leftAside/Aside.vue
View file @
0dd85af0
...
@@ -73,6 +73,7 @@ export default {
...
@@ -73,6 +73,7 @@ export default {
},
},
created
()
{
created
()
{
this
.
getNav
()
this
.
getNav
()
this
.
activePath
=
window
.
sessionStorage
.
getItem
(
'
activePath
'
)
}
}
}
}
</
script
>
</
script
>
...
@@ -90,7 +91,7 @@ export default {
...
@@ -90,7 +91,7 @@ export default {
}
}
> span {
> span {
font-size: 22px;
font-size: 22px;
color: #3
F9EFF
;
color: #3
f9eff
;
margin-left: 15px;
margin-left: 15px;
}
}
}
}
...
...
src/views/layout/leftAside/menu.json
View file @
0dd85af0
...
@@ -79,6 +79,12 @@
...
@@ -79,6 +79,12 @@
"title"
:
"登录白名单"
,
"title"
:
"登录白名单"
,
"icon"
:
"el-icon-coffee"
,
"icon"
:
"el-icon-coffee"
,
"path"
:
"/effect/whitelist"
"path"
:
"/effect/whitelist"
},
{
"id"
:
4
,
"title"
:
"jira-钉钉通知"
,
"icon"
:
"el-icon-ice-tea"
,
"path"
:
"/effect/jira/notify"
}
}
]
]
},
},
...
@@ -98,6 +104,12 @@
...
@@ -98,6 +104,12 @@
"title"
:
"模块管理"
,
"title"
:
"模块管理"
,
"icon"
:
"el-icon-wallet"
,
"icon"
:
"el-icon-wallet"
,
"path"
:
"/auto/Model"
"path"
:
"/auto/Model"
},
{
"id"
:
3
,
"title"
:
"接口详情"
,
"icon"
:
"el-icon-bank-card"
,
"path"
:
"/auto/InterfaceDetail"
}
}
]
]
}
}
...
...
src/views/mock/Mock.vue
View file @
0dd85af0
...
@@ -94,7 +94,7 @@
...
@@ -94,7 +94,7 @@
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属模块"
>
<el-form-item
label=
"所属模块"
>
<el-select
v-model=
"addMockForm.mod
lu
e"
placeholder=
"模块"
clearable
>
<el-select
v-model=
"addMockForm.mod
ul
e"
placeholder=
"模块"
clearable
>
<el-option
v-for=
"item in moduleList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
<el-option
v-for=
"item in moduleList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-option>
</el-select>
</el-select>
...
@@ -140,7 +140,7 @@
...
@@ -140,7 +140,7 @@
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属模块"
>
<el-form-item
label=
"所属模块"
>
<el-select
v-model=
"editMockForm.mod
lu
e"
placeholder=
"模块"
clearable
>
<el-select
v-model=
"editMockForm.mod
ul
e"
placeholder=
"模块"
clearable
>
<el-option
v-for=
"item in moduleList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
<el-option
v-for=
"item in moduleList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-option>
</el-select>
</el-select>
...
@@ -179,7 +179,7 @@ export default {
...
@@ -179,7 +179,7 @@ export default {
queryModuleList
:
{
queryModuleList
:
{
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
,
mod
lu
e
:
''
mod
ul
e
:
''
},
},
moduleList
:
[],
moduleList
:
[],
selectModule
:
''
,
selectModule
:
''
,
...
@@ -197,7 +197,7 @@ export default {
...
@@ -197,7 +197,7 @@ export default {
description
:
''
,
description
:
''
,
success
:
''
,
success
:
''
,
fail
:
''
,
fail
:
''
,
flag
:
''
,
flag
:
1
,
type
:
1
,
type
:
1
,
encrypt
:
0
,
encrypt
:
0
,
module
:
''
module
:
''
...
@@ -230,7 +230,7 @@ export default {
...
@@ -230,7 +230,7 @@ export default {
},
},
// 选中模块变化时
// 选中模块变化时
selectModuleChange
()
{
selectModuleChange
()
{
this
.
queryModuleList
.
mod
lu
e
=
this
.
selectModule
this
.
queryModuleList
.
mod
ul
e
=
this
.
selectModule
},
},
// 获取mock列表
// 获取mock列表
getMockList
()
{
getMockList
()
{
...
@@ -274,7 +274,7 @@ export default {
...
@@ -274,7 +274,7 @@ export default {
this
.
editMockForm
.
flag
=
String
(
row
.
flag
)
this
.
editMockForm
.
flag
=
String
(
row
.
flag
)
this
.
editMockForm
.
type
=
row
.
type
this
.
editMockForm
.
type
=
row
.
type
this
.
editMockForm
.
encrypt
=
row
.
encrypt
this
.
editMockForm
.
encrypt
=
row
.
encrypt
this
.
editMockForm
.
module
=
row
.
mod
lu
e
this
.
editMockForm
.
module
=
row
.
mod
ul
e
},
},
// 修改mock
// 修改mock
editMock
()
{
editMock
()
{
...
...
src/views/vcc/CheckData.vue
View file @
0dd85af0
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
<div
class=
"filter"
>
<div
class=
"filter"
>
手机号:
<el-input
手机号:
<el-input
v-model=
"queryInfo.phoneNo"
v-model=
"queryInfo.phoneNo"
maxlength=
"11"
placeholder=
"请输入手机号"
placeholder=
"请输入手机号"
></el-input>
></el-input>
<!-- 身份证号码:
<el-input
<!-- 身份证号码:
<el-input
...
...
src/views/vcc/GenData.vue
View file @
0dd85af0
...
@@ -9,18 +9,10 @@
...
@@ -9,18 +9,10 @@
<!-- 卡片区域 -->
<!-- 卡片区域 -->
<el-card>
<el-card>
<div>
<div>
手机号:
<el-input
手机号:
<el-input
v-model=
"genDataParams.phoneNo"
placeholder=
"请输入手机号"
maxlength=
"11"
></el-input>
v-model=
"genDataParams.phoneNo"
placeholder=
"请输入手机号"
></el-input>
用户状态:
用户状态:
<el-select
v-model=
"genDataParams.status"
placeholder=
"请选择用户状态"
>
<el-select
v-model=
"genDataParams.status"
placeholder=
"请选择用户状态"
>
<el-option
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
</el-select>
<el-button
type=
"primary"
@
click=
"genData"
>
生成数据
</el-button>
<el-button
type=
"primary"
@
click=
"genData"
>
生成数据
</el-button>
...
@@ -78,7 +70,6 @@ export default {
...
@@ -78,7 +70,6 @@ export default {
lock
:
true
,
lock
:
true
,
spinner
:
'
el-icon-loading
'
,
spinner
:
'
el-icon-loading
'
,
background
:
'
rgba(0,0,0,0.7)
'
background
:
'
rgba(0,0,0,0.7)
'
}
}
}
}
},
},
...
@@ -96,7 +87,11 @@ export default {
...
@@ -96,7 +87,11 @@ export default {
}
}
// 开户失败校验,尾号必须为9
// 开户失败校验,尾号必须为9
if
(
this
.
genDataParams
.
status
===
4
)
{
if
(
this
.
genDataParams
.
status
===
4
)
{
if
(
this
.
genDataParams
.
phoneNo
.
charAt
(
this
.
genDataParams
.
phoneNo
.
length
-
1
)
!==
'
9
'
)
{
if
(
this
.
genDataParams
.
phoneNo
.
charAt
(
this
.
genDataParams
.
phoneNo
.
length
-
1
)
!==
'
9
'
)
{
return
this
.
$message
.
error
(
'
开户失败对应手机尾号必须为9
'
)
return
this
.
$message
.
error
(
'
开户失败对应手机尾号必须为9
'
)
}
}
}
}
...
@@ -107,12 +102,18 @@ export default {
...
@@ -107,12 +102,18 @@ export default {
formData
.
set
(
'
channel
'
,
this
.
genDataParams
.
channel
)
formData
.
set
(
'
channel
'
,
this
.
genDataParams
.
channel
)
formData
.
set
(
'
status
'
,
this
.
genDataParams
.
status
)
formData
.
set
(
'
status
'
,
this
.
genDataParams
.
status
)
const
tLoading
=
this
.
$loading
.
service
(
this
.
loadingOptions
)
const
tLoading
=
this
.
$loading
.
service
(
this
.
loadingOptions
)
genVccData
(
formData
).
then
((
resp
)
=>
{
genVccData
(
formData
)
.
then
((
resp
)
=>
{
if
(
resp
!==
null
)
{
if
(
resp
!==
null
)
{
tLoading
.
close
()
tLoading
.
close
()
}
}
this
.
tableData
.
push
(
resp
.
data
.
data
)
this
.
tableData
.
push
(
resp
.
data
.
data
)
})
})
.
catch
((
error
)
=>
{
console
.
log
(
error
)
tLoading
.
close
()
this
.
$$message
.
error
(
'
vcc或用户中心相关服务异常,请检查!
'
)
})
}
}
}
}
}
}
...
...
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