Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
smart_gov_platform
Commits
258de1d2
Commit
258de1d2
authored
May 17, 2023
by
xj
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.scsmile.cn/zxf/smart_gov_platform
parents
6fbe8761
081e1fb6
Changes
23
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
3574 additions
and
3041 deletions
+3574
-3041
portal-manager-ui/admin/.env.development
portal-manager-ui/admin/.env.development
+0
-3
portal-manager-ui/admin/.env.production
portal-manager-ui/admin/.env.production
+2
-0
portal-manager-ui/admin/src/api/customer.js
portal-manager-ui/admin/src/api/customer.js
+2
-2
portal-manager-ui/admin/src/api/thePlatformIsSet.js
portal-manager-ui/admin/src/api/thePlatformIsSet.js
+36
-3
portal-manager-ui/admin/src/components/A_Upload/A_Upload.vue
portal-manager-ui/admin/src/components/A_Upload/A_Upload.vue
+16
-26
portal-manager-ui/admin/src/router/routes.js
portal-manager-ui/admin/src/router/routes.js
+9
-0
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/recordReportdetails.vue
...Admin/components/makeRecordReport/recordReportdetails.vue
+3
-0
portal-manager-ui/admin/src/views/thePlatformIsSet/components/APIServe/APIServe.vue
...c/views/thePlatformIsSet/components/APIServe/APIServe.vue
+69
-55
portal-manager-ui/admin/src/views/thePlatformIsSet/components/APIServe/components/portDocument.vue
...formIsSet/components/APIServe/components/portDocument.vue
+129
-136
portal-manager-ui/admin/src/views/thePlatformIsSet/components/dictionary/dictionary.vue
...ews/thePlatformIsSet/components/dictionary/dictionary.vue
+161
-0
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/InterfaceManage/alerting.vue
...nts/productManage/components/InterfaceManage/alerting.vue
+109
-85
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/InterfaceManage/components/Details.vue
...tManage/components/InterfaceManage/components/Details.vue
+355
-367
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/addEditAppName.vue
...et/components/productManage/components/addEditAppName.vue
+1
-5
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/appManage/application.vue
...onents/productManage/components/appManage/application.vue
+112
-61
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/appManage/components/Details.vue
...productManage/components/appManage/components/Details.vue
+67
-50
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/docData/components/Details.vue
...s/productManage/components/docData/components/Details.vue
+54
-48
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/docData/fileData.vue
.../components/productManage/components/docData/fileData.vue
+94
-58
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/productManage.vue
...ePlatformIsSet/components/productManage/productManage.vue
+2
-8
portal-manager/db/product_db.sql
portal-manager/db/product_db.sql
+27
-26
portal-manager/src/main/java/com/mortals/xhx/module/product/model/ProductInterfaceEntity.java
...tals/xhx/module/product/model/ProductInterfaceEntity.java
+203
-203
portal-manager/src/main/java/com/mortals/xhx/module/product/model/ProductInterfaceQuery.java
...rtals/xhx/module/product/model/ProductInterfaceQuery.java
+1205
-1018
portal-manager/src/main/java/com/mortals/xhx/module/product/web/ProductInterfaceController.java
...ls/xhx/module/product/web/ProductInterfaceController.java
+3
-0
portal-manager/src/main/resources/sqlmap/module/product/ProductInterfaceMapper.xml
...esources/sqlmap/module/product/ProductInterfaceMapper.xml
+915
-887
No files found.
portal-manager-ui/admin/.env.development
View file @
258de1d2
...
...
@@ -9,6 +9,3 @@ VUE_APP_API_PHP_URL=http://112.19.80.237:8090
#宜宾
#VUE_APP_API_BASE_URL=http://10.12.185.213:11072
#正式
VUE_APP_API_PRP_RUL=http://112.19.80.237:11007
portal-manager-ui/admin/.env.production
View file @
258de1d2
...
...
@@ -6,3 +6,5 @@ VUE_APP_API_BASE_URL=/basics_api
VUE_APP_API_PHP_URL=/zwfw_api
#图片显示拼接
VUE_APP_API_IMG_URL =
VUE_APP_API_PRP_RUL=http://112.19.80.237:11007
\ No newline at end of file
portal-manager-ui/admin/src/api/customer.js
View file @
258de1d2
import
http
from
"
../request/http
"
;
let
baseURL
=
"
http://8.136.255.30
"
let
proURL
=
process
.
env
.
VUE_APP_API_
PRP_RU
L
;
let
proURL
=
process
.
env
.
VUE_APP_API_
BASE_UR
L
;
// 查询客户管理列表
export
function
getCustomer
(
params
)
{
...
...
@@ -9,5 +9,5 @@ export function getCustomer(params) {
// 窗口列表
export
function
windowList
(
params
)
{
return
http
.
post
(
`
${
proURL
}
/bas
ics_api/bas
e/window/list`
,
params
);
return
http
.
post
(
`
${
proURL
}
/base/window/list`
,
params
);
}
portal-manager-ui/admin/src/api/thePlatformIsSet.js
View file @
258de1d2
...
...
@@ -5,20 +5,53 @@ let baseURL = process.env.VUE_APP_API_BASE_URL;
// ----------ps-----------------
//
查询产品信息
列表
//
产品
列表
export
function
getProduct
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/zwfw/product/list`
,
params
);
}
//
产品信息
//
保存更新产品
export
function
saveProduct
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/zwfw/product/save`
,
params
);
}
//
产品信息
//
删除产品
export
function
deleteProduct
(
params
)
{
return
http
.
get
(
`
${
baseURL
}
/zwfw/product/delete`
,
params
);
}
// 应用列表
export
function
getApps
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/zwfw/product/apps/list`
,
params
);
}
// 查看产品应用
export
function
getAppsInfo
(
params
)
{
return
http
.
get
(
`
${
baseURL
}
/zwfw/product/apps/info`
,
params
);
}
// 保存更新产品应用
export
function
saveApps
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/zwfw/product/apps/save`
,
params
);
}
// 删除产品应用
export
function
deleteApps
(
params
)
{
return
http
.
get
(
`
${
baseURL
}
/zwfw/product/apps/delete`
,
params
);
}
// 查询产品资料列表
export
function
getDocument
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/zwfw/product/document/list`
,
params
);
}
// 产品资料
export
function
getDocumentInfo
(
params
)
{
return
http
.
get
(
`
${
baseURL
}
/zwfw/product/document/info`
,
params
);
}
// 保存更新产品资料
export
function
saveDocument
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/zwfw/product/document/save`
,
params
);
}
// 删除产品资料
export
function
deleteDocument
(
params
)
{
return
http
.
get
(
`
${
baseURL
}
/zwfw/product/document/delete`
,
params
);
}
//-------------xj: --------------------
...
...
portal-manager-ui/admin/src/components/A_Upload/A_Upload.vue
View file @
258de1d2
<
template
>
<div
class=
"myUploadFile"
>
<a-upload
:name=
"defaultInfo.name"
:action=
"defaultInfo.action"
:listType=
"defaultInfo.listType"
:multiple=
"defaultInfo.multiple"
:showUploadList=
"defaultInfo.showUploadList"
:defaultFileList=
"defaultInfo.fileList"
:disabled=
"defaultInfo.disabled"
:directory=
"defaultInfo.directory"
:data=
"defaultInfo.objAttach"
:headers=
"headers"
:beforeUpload=
"beforeImageUpload"
:remove=
"uploadRemove"
@
change=
"uploadChange"
@
preview=
"handlePreview"
>
<a-upload
:name=
"defaultInfo.name"
:action=
"defaultInfo.action"
:listType=
"defaultInfo.listType"
:multiple=
"defaultInfo.multiple"
:showUploadList=
"defaultInfo.showUploadList"
:defaultFileList=
"defaultInfo.defaultFileList"
:file-list=
"defaultInfo.fileList"
:disabled=
"defaultInfo.disabled"
:directory=
"defaultInfo.directory"
:data=
"defaultInfo.objAttach"
:headers=
"headers"
:beforeUpload=
"beforeImageUpload"
:remove=
"uploadRemove"
@
change=
"uploadChange"
@
preview=
"handlePreview"
>
<slot></slot>
</a-upload>
<a-modal
:visible=
"defaultInfo.previewVisible"
:footer=
"null"
@
cancel=
"defaultInfo.previewVisible = false"
>
<a-modal
:visible=
"defaultInfo.previewVisible"
:footer=
"null"
@
cancel=
"defaultInfo.previewVisible = false"
>
<img
alt=
"example"
style=
"width: 100%"
:src=
"defaultInfo.previewImage"
/>
</a-modal>
</div>
...
...
@@ -81,20 +66,20 @@ export default {
if
(
this
.
defaultInfo
[
"
prePath
"
])
{
this
.
defaultInfo
[
"
action
"
]
=
`
${
this
.
VUE_APP_API_BASE_URL
}${
this
.
fileCommonupload
}
?prePath=
${
this
.
defaultInfo
[
"
prePath
"
]}
`
;
]
=
`
${
this
.
fileCommonupload
}
?prePath=
${
this
.
defaultInfo
[
"
prePath
"
]}
`
;
}
else
{
this
.
defaultInfo
[
"
action
"
]
=
`
${
this
.
VUE_APP_API_BASE_URL
}${
this
.
fileCommonupload
}
`
;
]
=
`
${
this
.
fileCommonupload
}
`
;
}
//
console.log(this.defaultInfo);
console
.
log
(
this
.
defaultInfo
);
},
deep
:
true
,
immediate
:
true
,
},
},
created
()
{},
created
()
{
},
methods
:
{
uploadRemove
(
file
)
{
if
(
file
.
id
!=
undefined
)
{
...
...
@@ -103,6 +88,10 @@ export default {
this
.
defaultInfo
.
fileList
=
this
.
defaultInfo
.
fileList
.
filter
(
(
item
)
=>
item
.
uid
!=
file
.
uid
);
console
.
log
(
this
.
defaultInfo
.
fileList
.
length
,
"
=--------
"
)
if
(
!
this
.
defaultInfo
.
fileList
.
length
){
this
.
$emit
(
"
input
"
,
""
);
//相对地址
}
},
beforeImageUpload
(
file
,
fileList
)
{
let
whiteFileList
=
this
.
defaultInfo
.
whiteFileList
;
//文件类型限制
...
...
@@ -128,6 +117,7 @@ export default {
return
result
;
},
uploadChange
({
file
,
fileList
})
{
console
.
log
(
fileList
)
if
(
file
.
status
===
"
error
"
)
{
return
;
this
.
$message
.
error
(
`
${
file
.
name
}
上传失败.`
);
...
...
@@ -139,7 +129,7 @@ export default {
}
else
if
(
file
.
status
===
"
removed
"
)
{
// this.$message.success(`${file.name} 删除成功`);
if
(
!
this
.
defaultInfo
.
multiple
&&
this
.
defaultInfo
.
limit
==
1
)
{
this
.
$emit
(
"
input
"
,
undefined
);
//相对地址
this
.
$emit
(
"
input
"
,
""
);
//相对地址
}
}
this
.
defaultInfo
.
fileList
=
fileList
;
...
...
portal-manager-ui/admin/src/router/routes.js
View file @
258de1d2
...
...
@@ -626,6 +626,15 @@ const routes = [
),
meta
:
{
title
:
"
接口信息
"
},
},
{
path
:
"
dictionary
"
,
name
:
"
dictionary
"
,
component
:
()
=>
import
(
/* webpackChunkName: "portDocument" */
"
@/views/thePlatformIsSet/components/dictionary/dictionary.vue
"
),
meta
:
{
title
:
"
字典管理
"
},
},
{
path
:
"
permissionsModel
"
,
name
:
"
permissionsModel
"
,
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/recordReportdetails.vue
View file @
258de1d2
...
...
@@ -31,6 +31,9 @@
<p>
<span>
预约方式:
</span>
{{
orderInfo
.
up_type
==
'
phone
'
?
'
微官网
'
:
orderInfo
.
up_type
==
'
app
'
?
'
自助终端
'
:
orderInfo
.
up_type
==
'
tftb
'
?
'
天府通办
'
:
'
--
'
}}
</p>
<p>
<span>
预约事项:
</span>
--
</p>
</div>
<div
class=
"qrcode"
>
<!--
<img
src=
"~@/assets/images/logo.png"
alt=
""
/>
-->
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/APIServe/APIServe.vue
View file @
258de1d2
...
...
@@ -3,11 +3,7 @@
<div
class=
"search_box"
ref=
"search_box"
>
<h3>
API服务
</h3>
<h4>
<a-input
placeholder=
"请输入API名称搜索"
v-model=
"searchVal"
@
pressEnter=
"getServiceApiList"
/>
<a-input
placeholder=
"请输入API名称搜索"
v-model=
"searchVal"
@
pressEnter=
"getServiceApiList"
/>
<button
class=
"search_btn btn"
@
click=
"handleSearch"
>
<span>
{{
isSearch
?
"
重置
"
:
"
搜索
"
}}
</span>
</button>
...
...
@@ -16,13 +12,9 @@
<div
class=
"stepbox"
:style=
"
{ height: contentHigh + 'px' }">
<div
class=
"_left"
>
<a-steps
progress-dot
direction=
"vertical"
>
<a-step
v-for=
"(item, index) in stepsList"
:status=
"active === index ? 'process' : 'wait'"
:key=
"index"
>
<a-step
v-for=
"(item, index) in stepsList"
:status=
"active === index ? 'process' : 'wait'"
:key=
"index"
>
<span
slot=
"title"
@
click=
"handleChange(item, index)"
>
{{
item
.
service
Name
item
.
product
Name
}}
</span>
</a-step>
</a-steps>
...
...
@@ -30,16 +22,12 @@
<div
class=
"_right"
>
<div
class=
"list_box step_sign"
>
<div
class=
"title-box"
>
<span
class=
"list_title"
>
{{
curApiInfo
.
serviceN
ame
}}
</span>
<span
class=
"count primary"
>
{{
curApiInfo
.
count
}}
</span>
<span
class=
"list_title"
>
{{
curApiInfo
.
n
ame
}}
</span>
<span
class=
"count primary"
>
{{
curApiInfo
.
total
}}
</span>
</div>
<div
class=
"list flex aic jcb"
v-for=
"v in curApiInfo.serviceList"
:key=
"v.id"
>
<div
class=
"api-name"
>
{{
v
.
apiName
}}
</div>
<span
class=
"service-name"
>
{{
v
.
systemServiceName
}}
</span>
<div
class=
"list flex aic jcb"
v-for=
"v in curApiInfo.list"
:key=
"v.id"
>
<div
class=
"api-name"
>
{{
v
.
interfaceName
}}
</div>
<span
class=
"service-name"
>
{{
v
.
description
}}
</span>
<a-button
icon=
"read"
type=
"primary"
class=
"addclass"
@
click=
"pushroeuter(v)"
>
查看文档
</a-button>
...
...
@@ -51,7 +39,8 @@
</
template
>
<
script
>
import
{
serviceApiList
}
from
"
@/api/APIServe.js
"
;
// import { serviceApiList } from "@/api/APIServe.js";
import
{
getProduct
,
getInterfaceList
}
from
"
@/api/thePlatformIsSet.js
"
;
import
common
from
"
@/mixins/common
"
;
export
default
{
name
:
"
PortalAdminVueAPIServe
"
,
...
...
@@ -62,6 +51,7 @@ export default {
stepsList
:
[],
isSearch
:
false
,
active
:
0
,
curApiInfo
:
{},
// 当前api信息
};
},
...
...
@@ -74,22 +64,35 @@ export default {
methods
:
{
getServiceApiList
()
{
serviceApiLis
t
({
getProduc
t
({
page
:
1
,
size
:
-
1
,
//每页条数
api
Name
:
`%
${
this
.
searchVal
}
%`
,
product
Name
:
`%
${
this
.
searchVal
}
%`
,
}).
then
((
res
)
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
==
1
)
{
if
(
data
.
data
.
length
)
{
this
.
stepsList
=
data
.
data
;
this
.
curApiInfo
=
data
.
data
[
0
];
this
.
getApiDetail
(
data
.
data
[
0
])
}
else
{
this
.
curApiInfo
=
{};
}
}
});
},
getApiDetail
(
item
)
{
getInterfaceList
({
page
:
1
,
size
:
-
1
,
productId
:
item
.
id
}).
then
((
res
)
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
==
1
)
{
this
.
curApiInfo
=
{
name
:
item
.
productName
,
list
:
data
.
data
,
total
:
data
.
total
}
}
});
},
handleSearch
()
{
this
.
isSearch
=
!
this
.
isSearch
;
if
(
this
.
isSearch
)
{
...
...
@@ -104,15 +107,14 @@ export default {
// 切换设备
handleChange
(
row
,
index
)
{
this
.
active
=
index
;
this
.
curApiInfo
=
row
;
this
.
searchVal
=
""
;
this
.
getApiDetail
(
row
)
},
pushroeuter
()
{
this
.
$message
.
warning
(
"
暂未开通文档查看
"
);
// this.$router.push({
// path: "/home/thePlatformIsSet/portDocument",
// // query: { testoption: "test001" },
// });
pushroeuter
(
v
)
{
this
.
$router
.
push
({
path
:
"
/home/thePlatformIsSet/portDocument
"
,
query
:
{
id
:
v
.
id
},
});
},
},
};
...
...
@@ -120,12 +122,14 @@ export default {
<
style
lang=
"less"
scoped
>
@headerH: 4.5rem;
.Container {
width: 100%;
height: 100vh;
background: #f5f5f5;
display: flex;
flex-direction: column;
.search_box {
height: 300px;
background: url("~@/assets/images/u210.png") top no-repeat;
...
...
@@ -134,16 +138,19 @@ export default {
align-items: center;
display: flex;
flex-flow: column;
h3 {
font-size: 2.4rem;
color: #fff;
font-weight: bold;
padding: 4rem 0 2rem;
}
h4 {
display: flex;
align-items: center;
}
/deep/.ant-input {
width: 30rem !important;
margin-right: 2rem;
...
...
@@ -169,7 +176,8 @@ export default {
line-height: 42px;
padding: 0;
border: none;
& > span {
&>span {
position: relative;
display: block;
width: 100%;
...
...
@@ -213,8 +221,8 @@ export default {
width: 100%;
}
&
>
span:before,
&
>
span:after {
&
>
span:before,
&
>
span:after {
position: absolute;
content: "";
left: 0;
...
...
@@ -227,39 +235,43 @@ export default {
transition: all 0.3s ease;
}
&
>
span:before {
&
>
span:before {
width: 2px;
height: 0%;
}
&
>
span:after {
&
>
span:after {
height: 2px;
width: 0%;
}
&
>
span:hover:before {
&
>
span:hover:before {
height: 100%;
}
&
>
span:hover:after {
&
>
span:hover:after {
width: 100%;
}
}
}
.stepbox {
width: 90%;
margin-left: 5%;
flex: 1;
display: flex;
/deep/.ant-steps-item-content {
cursor: pointer;
}
._left {
width: 300px;
height: 100%;
padding: 20px;
margin-right: 20px;
overflow: auto;
&::-webkit-scrollbar {
width: 3px;
height: 3px;
...
...
@@ -282,6 +294,7 @@ export default {
height: 100%;
padding: 20px;
overflow-y: auto;
&::-webkit-scrollbar {
width: 3px;
height: 3px;
...
...
@@ -297,16 +310,20 @@ export default {
border-radius: 3px;
background: #fff;
}
.title-box {
font-size: 24px;
.list_title {
margin-right: 10px;
font-weight: 600;
}
.count {
font-weight: 600;
}
}
.list {
width: 100%;
height: 80px;
...
...
@@ -314,38 +331,35 @@ export default {
padding: 0px 20px;
background-color: #fff;
border-radius: 4px;
.api-name {
font-size: 16px;
font-weight: 600;
}
.service-name {
font-size: 14px;
}
}
}
}
&::before {
content: "";
display: block;
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(
174deg,
background: -moz-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(108, 53, 247, 1) 85%);
background: -webkit-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(108, 53, 247, 1) 85%);
background: linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff",endColorstr="#6c35f7",GradientType=1);
rgba(108, 53, 247, 1) 85%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
}
}
</
style
>
\ No newline at end of file
portal-manager-ui/admin/src/views/thePlatformIsSet/components/APIServe/components/portDocument.vue
View file @
258de1d2
This diff is collapsed.
Click to expand it.
portal-manager-ui/admin/src/views/thePlatformIsSet/components/dictionary/dictionary.vue
0 → 100644
View file @
258de1d2
<
template
>
<div
class=
"Container"
>
<div
class=
"my-card"
>
<div
class=
"head-menu"
>
<div>
属性字典
</div>
</div>
<div
class=
"pd20"
>
<div
class=
"from-item"
>
<div
class=
"name"
>
排队机分辨率:
</div>
<div>
<a-tag
color=
"blue"
closable
v-for=
"item, index in fblList"
:key=
"index"
>
{{
item
.
name
}}
</a-tag>
</div>
<a-button
icon=
"plus"
size=
"small"
@
click=
"addZdShow('fblList', '排队机分辨率')"
>
添加字典值
</a-button>
</div>
<div
class=
"from-item"
>
<div
class=
"name"
>
接口标签:
</div>
<div>
<a-tag
color=
"blue"
closable
v-for=
"item, index in bqList"
:key=
"index"
>
{{
item
.
name
}}
</a-tag>
</div>
<a-button
icon=
"plus"
size=
"small"
@
click=
"addZdShow('bqList', '接口标签')"
>
添加字典值
</a-button>
</div>
</div>
</div>
<a-modal
:title=
"VisibleTitle"
:centered=
"true"
:destroyOnClose=
"true"
:visible=
"Visible"
@
cancel=
"Visible = false"
width=
"30%"
>
<a-form-model
:label-col=
"
{ span: 5 }" :wrapper-col="{ span: 19 }" layout="horizontal" ref="appInfoFome"
:model="appInfoFome" :rules="appInfoRules">
<a-form-model-item
label=
"字典值"
prop=
"productName"
>
<a-input
placeholder=
"请输入字典值"
allowClear
v-model=
"appInfoFome.productName"
/>
</a-form-model-item>
</a-form-model>
<template
slot=
"footer"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
@
click=
"resetForm"
>
重置
</a-button>
</
template
>
</a-modal>
</div>
</template>
<
script
>
import
common
from
"
@/mixins/common
"
;
export
default
{
name
:
"
dictionary
"
,
mixins
:
[
common
],
data
()
{
return
{
fblList
:
[{
name
:
"
1920*1080
"
},
{
name
:
"
1080*1920
"
},
{
name
:
"
1280*1280
"
}],
bqList
:
[
{
name
:
"
政务外网
"
},
{
name
:
"
便民服务
"
},
{
name
:
"
三化建设
"
},
],
VisibleTitle
:
""
,
Visible
:
false
,
appInfoFome
:
{
productName
:
undefined
,
siteId
:
JSON
.
parse
(
localStorage
.
getItem
(
"
siteId
"
))
},
//页面表单信息
appInfoRules
:
{
productName
:
[
{
required
:
true
,
//是否必选
whitespace
:
true
,
//必选时,空格是否会被视为错误
message
:
"
请输入字典值
"
,
trigger
:
"
blur
"
,
}
],
},
keyName
:
""
};
},
created
()
{
},
mounted
()
{
},
methods
:
{
addZdShow
(
key
,
title
)
{
this
.
Visible
=
true
this
.
resetForm
()
this
.
keyName
=
key
this
.
VisibleTitle
=
title
},
Modal_Ok
()
{
this
.
$refs
.
appInfoFome
.
validate
((
valid
)
=>
{
if
(
valid
)
{
this
[
this
.
keyName
].
push
({
name
:
this
.
appInfoFome
.
productName
})
this
.
Visible
=
false
this
.
resetForm
()
}
else
{
this
.
$message
.
error
(
`请完善表单信息!`
);
return
false
;
}
});
},
resetForm
()
{
this
.
$nextTick
(()
=>
{
this
.
appInfoFome
.
productName
=
''
});
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.from-item {
display: flex;
align-items: center;
margin-bottom: 20px;
.name {
width: 150px;
text-align: right;
padding-right: 20px;
}
}
.Container {
width: 100%;
min-height: 100vh;
background: #f5f5f5;
padding-top: 72px;
.my-card {
margin: 40px 80px;
background: #fff;
border-radius: 6px;
overflow: hidden;
min-height: 500px;
}
.head-menu {
display: flex;
align-items: center;
border-bottom: 1px solid #efefef;
div {
height: 52px;
line-height: 52px;
font-size: 16px;
font-weight: bold;
color: #0595FD;
border-bottom: 2px solid #0595FD;
padding: 0 30px;
margin-left: 20px;
}
}
}
</
style
>
\ No newline at end of file
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/InterfaceManage/alerting.vue
View file @
258de1d2
...
...
@@ -2,83 +2,44 @@
<div
class=
"PoliticsShow-Container"
>
<div
class=
"header_box"
>
<div>
<button
class=
"add_btn"
@
click=
"openDetails(
'新增',
{}
)">
<button
class=
"add_btn"
@
click=
"openDetails()"
>
<span>
新增
</span>
</button>
</div>
<span>
<a-input
allowClear
v-model=
"query.interfaceName"
placeholder=
"请输入接口名称查询"
>
<a-input
allowClear
v-model=
"query.interfaceName"
placeholder=
"请输入接口名称查询"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-select
default-value=
"001"
>
<!--
<a-select-option
v-for=
"(item, index) of selectOptions"
:key=
"index"
:value=
"item.value"
>
{{
item
.
label
}}
</a-select-option>
-->
<a-select-option
value=
"001"
>
来源001
</a-select-option>
<a-select-option
value=
"002"
>
来源002
</a-select-option>
<a-select
v-model=
"query.interfaceSource"
>
<a-select-option
value=
""
>
所有来源
</a-select-option>
<a-select-option
v-for=
"(item, index) of dict.interfaceSource"
:key=
"index"
:value=
"index"
>
{{
item
}}
</a-select-option>
</a-select>
<a-select
default-value=
"001"
>
<!--
<a-select-option
v-for=
"(item, index) of selectOptions"
:key=
"index"
:value=
"item.value"
>
{{
item
.
label
}}
</a-select-option>
-->
<a-select-option
value=
"001"
>
标签001
</a-select-option>
<a-select-option
value=
"002"
>
标签002
</a-select-option>
<a-select
v-model=
"query.interfaceTag"
>
<a-select-option
value=
""
>
所有标签
</a-select-option>
<a-select-option
v-for=
"(item, index) of dict.interfaceTag"
:key=
"index"
:value=
"index"
>
{{
item
}}
</a-select-option>
</a-select>
<a-select
default-value=
"001"
>
<!--
<a-select-option
v-for=
"(item, index) of selectOptions"
:key=
"index"
:value=
"item.value"
>
{{
item
.
label
}}
</a-select-option>
-->
<a-select-option
value=
"001"
>
策略001
</a-select-option>
<a-select-option
value=
"002"
>
策略002
</a-select-option>
</a-select>
<button
class=
"search_btn"
>
搜索
</button>
<button
class=
"search_btn"
@
click=
"getList()"
>
搜索
</button>
</span>
</div>
<div
class=
"main"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:scroll=
"
{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:scroll=
"
{ y: 590 }" :pagination="tablePagination"
@change="pagTableChange" :loading="tableLoading" :columns="tableHeaders" :dataSource="tableSourceData">
<template
slot=
"network"
slot-scope=
"text, record,index"
>
<span
v-for=
"item, idx of dict.network"
v-show=
"text.indexOf(idx) != -1"
:key=
"idx"
>
{{
item
}}
</span>
</
template
>
<
template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
@
click=
"openDetails('详情',record)"
>
详情
</a-button
>
<a-button
type=
"link"
@
click=
"openDetails('编辑',record)"
>
编辑
</a-button
>
<a-button
type=
"link"
style=
"color: #ff4420"
>
删除
</a-button
>
<a-button
type=
"link"
@
click=
"openDetails(record)"
>
编辑
</a-button>
<a-popconfirm
title=
"确定要删除此应用吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"delRow(record)"
>
<a-button
type=
"link"
style=
"color: #ff4420"
>
删除
</a-button>
</a-popconfirm>
</
template
>
</a-table>
<Details
ref=
"Details"
/>
<Details
ref=
"Details"
:dict=
"dict"
/>
</div>
</div>
</template>
...
...
@@ -86,7 +47,7 @@
<
script
>
import
table
from
"
@/mixins/table
"
;
import
Details
from
"
./components/Details.vue
"
;
import
{
getInterfaceList
}
from
'
@/api/thePlatformIsSet.js
'
import
{
getInterfaceList
,
getInterfaceDelete
}
from
'
@/api/thePlatformIsSet.js
'
export
default
{
mixins
:
[
table
],
name
:
"
PortalAdminVueAlerting
"
,
...
...
@@ -116,12 +77,13 @@ export default {
title
:
"
标签
"
,
align
:
"
center
"
,
dataIndex
:
"
interfaceTag
"
,
customRender
:
(
text
,
record
,
index
)
=>
this
.
dict
.
interfaceTag
[
text
]
},
{
title
:
"
请求协议
"
,
align
:
"
center
"
,
dataIndex
:
"
requestProtocol
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
requestProtocol
==
1
?
'
HTTP
'
:
'
HTTPS
'
}
`
,
customRender
:
(
text
,
record
,
index
)
=>
this
.
dict
.
requestProtocol
[
text
]
},
{
title
:
"
版本
"
,
...
...
@@ -132,7 +94,7 @@ export default {
title
:
"
来源
"
,
align
:
"
center
"
,
dataIndex
:
"
interfaceSource
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
interfaceSource
==
1
?
'
自有
'
:
'
非自有
'
}
`
,
customRender
:
(
text
,
record
,
index
)
=>
this
.
dict
.
interfaceSource
[
text
]
},
{
title
:
"
策略
"
,
...
...
@@ -144,7 +106,9 @@ export default {
title
:
"
访问网络
"
,
align
:
"
center
"
,
dataIndex
:
"
network
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
network
==
1
?
'
互联网
'
:
'
政务网
'
}
`
,
scopedSlots
:
{
customRender
:
"
network
"
,
}
},
{
...
...
@@ -157,12 +121,20 @@ export default {
},
},
],
query
:
{
query
:
{
interfaceName
:
undefined
,
page
:
1
,
size
:
10
,
interfaceSource
:
""
,
interfaceTag
:
""
,
productId
:
this
.
$route
.
query
.
id
,
},
total
:
0
tablePagination
:
{
current
:
1
,
pageSize
:
10
},
dict
:
{
},
total
:
0
};
},
components
:
{
...
...
@@ -173,8 +145,22 @@ export default {
},
methods
:
{
getList
()
{
getInterfaceList
(
this
.
query
).
then
(
res
=>
{
this
.
tableSourceData
=
res
.
data
.
data
getInterfaceList
({
page
:
this
.
tablePagination
.
current
,
size
:
this
.
tablePagination
.
pageSize
,
...
this
.
query
}).
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
let
{
data
,
total
,
dict
}
=
res
.
data
;
this
.
dict
=
dict
;
this
.
tableSourceData
=
data
;
this
.
tablePagination
.
total
=
total
;
return
data
}
})
},
QueueState
(
type
)
{
...
...
@@ -188,11 +174,35 @@ export default {
return
"
type0
"
;
}
},
openDetails
(
type
)
{
this
.
$refs
.
Details
.
modalInfo
.
title
=
type
;
delRow
(
item
)
{
getInterfaceDelete
({
id
:
item
.
id
}).
then
((
res
)
=>
{
let
{
code
,
msg
}
=
res
if
(
code
==
1
)
{
this
.
$message
.
success
(
'
删除成功
'
);
this
.
getList
()
}
else
{
this
.
$message
.
error
(
msg
);
}
})
},
openDetails
(
item
)
{
if
(
item
)
{
this
.
$refs
.
Details
.
modalInfo
.
title
=
"
编辑接口
"
;
this
.
$refs
.
Details
.
getInfo
(
item
.
id
)
}
else
{
this
.
$refs
.
Details
.
modalInfo
.
title
=
"
新增接口
"
;
}
this
.
$refs
.
Details
.
modalInfo
.
visible
=
true
;
this
.
$refs
.
Details
.
modalInfo
.
width
=
"
55%
"
;
},
//分页
pagTableChange
(
page
)
{
this
.
tablePagination
.
current
=
page
.
current
this
.
tablePagination
.
pageSize
=
page
.
pageSize
this
.
getList
();
},
},
};
</
script
>
...
...
@@ -201,13 +211,15 @@ export default {
/deep/.ant-spin-container {
display: block;
}
.PoliticsShow-Container {
.header_box {
padding-bottom: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
& > div {
&>div {
display: flex;
justify-content: flex-start;
align-items: center;
...
...
@@ -227,6 +239,7 @@ export default {
overflow: hidden;
background: #43a4ff;
color: ghostwhite;
& span {
position: relative;
z-index: 10;
...
...
@@ -262,7 +275,7 @@ export default {
}
}
&
>
span {
&
>
span {
display: flex;
justify-content: space-between;
align-items: center;
...
...
@@ -271,21 +284,26 @@ export default {
width: 15rem !important;
margin-right: 1rem !important;
}
/deep/.ant-input {
height: 2.3rem !important;
}
/deep/.ant-select-selection {
width: 170px !important;
height: 2.3rem !important;
margin-right: 1rem !important;
}
/deep/.ant-select-selection__rendered {
height: 100% !important;
}
/deep/.ant-select-selection-selected-value {
height: 100% !important;
line-height: 2.3rem !important;
}
.search_btn {
padding: 0.8rem 1.2rem;
border: 0;
...
...
@@ -317,13 +335,16 @@ export default {
}
}
}
.main {
.type0 {
color: #888888;
}
.type1 {
color: #f94545;
}
.levelState {
padding: 5px 8px;
border-radius: 8px;
...
...
@@ -331,12 +352,15 @@ export default {
background: #ffedeb;
border: 1px solid #f94545;
}
.type2 {
color: #04ca8f;
}
/deep/.ant-btn-link {
padding: 0 !important;
& + .ant-btn-link {
&+.ant-btn-link {
margin-left: 1rem !important;
}
}
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/InterfaceManage/components/Details.vue
View file @
258de1d2
This diff is collapsed.
Click to expand it.
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/addEditAppName.vue
View file @
258de1d2
...
...
@@ -36,11 +36,7 @@ export default {
whitespace
:
true
,
//必选时,空格是否会被视为错误
message
:
"
请输入产品名称
"
,
trigger
:
"
blur
"
,
},
// {
// pattern: /^[A-Za-z]+$/,
// message: "请输入正确的用户名格式!",
// },
}
],
},
};
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/appManage/application.vue
View file @
258de1d2
...
...
@@ -2,63 +2,45 @@
<div
class=
"PoliticsShow-Container"
>
<div
class=
"header_box"
>
<div>
<button
class=
"add_btn"
>
<button
class=
"add_btn"
@
click=
"openDetails()"
>
<span>
新增
</span>
</button>
</div>
<span>
<a-input
allowClear
v-model=
"searchName"
placeholder=
"请输入应用名称查询"
>
<a-input
allowClear
v-model=
"searchForm.appName"
placeholder=
"请输入应用名称查询"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-select
default-value=
"001"
>
<!--
<a-select-option
v-for=
"(item, index) of selectOptions"
:key=
"index"
:value=
"item.value"
>
{{
item
.
label
}}
</a-select-option>
-->
<a-select-option
value=
"001"
>
语言001
</a-select-option>
<a-select-option
value=
"002"
>
语言002
</a-select-option>
<a-select
v-model=
"searchForm.deveLanguage"
>
<a-select-option
value=
""
>
全部
</a-select-option>
<a-select-option
v-for=
"(item, index) of dict.deveLanguage"
:key=
"index"
:value=
"index"
>
{{
item
}}
</a-select-option>
</a-select>
<button
class=
"search_btn"
>
搜索
</button>
<button
class=
"search_btn"
@
click=
"getList()"
>
搜索
</button>
</span>
</div>
<div
class=
"main"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:scroll=
"
{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:scroll=
"
{ y: 590 }" :pagination="tablePagination"
@change="pagTableChange" :loading="tableLoading" :columns="tableHeaders" :dataSource="tableSourceData">
<template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
>
下载应用
{{
index
+
1
}}
</a-button>
<a-button
type=
"link"
@
click=
"openDetails"
>
编辑
{{
index
+
1
}}
</a-button
>
<a-button
type=
"link"
style=
"color: #ff4420"
>
删除
{{
index
+
1
}}
</a-button
>
<a-button
type=
"link"
v-if=
"record.appFileUrl"
@
click=
"handleDowload(record.appFileUrl)"
>
下载应用
</a-button>
<a-button
type=
"link"
@
click=
"openDetails(record)"
>
编辑
</a-button>
<a-popconfirm
title=
"确定要删除此应用吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"delRow(record)"
>
<a-button
type=
"link"
style=
"color: #ff4420"
>
删除
</a-button>
</a-popconfirm>
</
template
>
</a-table>
<Details
ref=
"Details"
/>
<Details
ref=
"Details"
:deveLanguage=
"dict.deveLanguage"
/>
</div>
</div>
</template>
<
script
>
import
{
getApps
,
deleteApps
}
from
"
@/api/thePlatformIsSet.js
"
;
import
table
from
"
@/mixins/table
"
;
import
Details
from
"
./components/Details.vue
"
;
export
default
{
...
...
@@ -78,34 +60,35 @@ export default {
{
title
:
"
应用名称
"
,
align
:
"
center
"
,
dataIndex
:
"
应用名称
"
,
dataIndex
:
"
appName
"
,
},
{
title
:
"
开发语言
"
,
align
:
"
center
"
,
dataIndex
:
"
开发语言
"
,
dataIndex
:
"
deveLanguage
"
,
},
{
title
:
"
版本
"
,
align
:
"
center
"
,
dataIndex
:
"
版本
"
,
dataIndex
:
"
versionNumber
"
,
},
{
title
:
"
版本信息
"
,
align
:
"
center
"
,
dataIndex
:
"
版本信息
"
,
dataIndex
:
"
versionInfo
"
,
},
{
title
:
"
是否启用
"
,
align
:
"
center
"
,
dataIndex
:
"
是否启用
"
,
dataIndex
:
"
isEnable
"
,
customRender
:
(
text
,
record
,
index
)
=>
text
==
1
?
'
是
'
:
"
否
"
,
},
{
title
:
"
上传时间
"
,
align
:
"
center
"
,
dataIndex
:
"
上传时间
"
,
dataIndex
:
"
createTime
"
,
customRender
:
(
text
,
record
,
index
)
=>
this
.
$moment
(
text
).
format
(
"
YYYY年MM月DD日 HH:mm:ss
"
),
},
{
title
:
"
操作
"
,
align
:
"
center
"
,
...
...
@@ -116,7 +99,18 @@ export default {
},
},
],
searchName
:
undefined
,
tablePagination
:
{
current
:
1
,
pageSize
:
10
},
searchForm
:
{
deveLanguage
:
""
,
productId
:
this
.
$route
.
query
.
id
,
},
dict
:
{
deveLanguage
:
{},
isEnable
:
{}
}
};
},
components
:
{
...
...
@@ -124,23 +118,66 @@ export default {
},
mounted
()
{
this
.
setMoment
();
for
(
let
key
=
0
;
key
<
20
;
key
++
)
{
this
.
tableSourceData
.
push
({
id
:
`00
${
key
+
1
}
`
,
应用名称
:
`排队信息查询接口
${
key
+
1
}
`
,
开发语言
:
`PHP
${
key
+
1
}
`
,
版本
:
`v
${
key
+
1
}
.0`
,
版本信息
:
`修复unit功能及部分鉴权问题
${
key
+
1
}
`
,
是否启用
:
1
,
上传时间
:
`2022-07-03 20:00:00`
,
});
}
this
.
getList
();
},
methods
:
{
openDetails
()
{
getList
(
search
)
{
getApps
({
page
:
this
.
tablePagination
.
current
,
size
:
this
.
tablePagination
.
pageSize
,
...
this
.
searchForm
,
...
search
,
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
let
{
data
,
total
,
dict
}
=
res
.
data
;
this
.
dict
=
dict
;
this
.
tableSourceData
=
data
;
this
.
tablePagination
.
total
=
total
;
return
data
}
})
},
//分页
pagTableChange
(
page
)
{
this
.
tablePagination
.
current
=
page
.
current
this
.
tablePagination
.
pageSize
=
page
.
pageSize
this
.
getList
();
},
delRow
(
item
)
{
deleteApps
({
id
:
item
.
id
}).
then
((
res
)
=>
{
console
.
log
(
res
)
let
{
code
,
msg
}
=
res
if
(
code
==
1
)
{
this
.
$message
.
success
(
'
删除成功
'
);
this
.
getList
()
}
else
{
this
.
$message
.
error
(
msg
);
}
})
},
handleDowload
(
url
)
{
let
arr
=
url
.
split
(
'
/
'
)
const
a
=
document
.
createElement
(
"
a
"
);
a
.
href
=
process
.
env
.
VUE_APP_API_BASE_URL
+
'
/
'
+
url
;
a
.
download
=
arr
[
arr
.
length
-
1
];
a
.
click
();
},
openDetails
(
item
)
{
if
(
item
)
{
this
.
$refs
.
Details
.
modalInfo
.
title
=
"
编辑应用
"
;
this
.
$refs
.
Details
.
getInfo
(
item
.
id
)
}
else
{
this
.
$refs
.
Details
.
modalInfo
.
title
=
"
新增应用
"
;
}
this
.
$refs
.
Details
.
modalInfo
.
visible
=
true
;
this
.
$refs
.
Details
.
modalInfo
.
width
=
"
30%
"
;
},
},
};
...
...
@@ -150,13 +187,15 @@ export default {
/deep/.ant-spin-container {
display: block;
}
.PoliticsShow-Container {
.header_box {
padding-bottom: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
& > div {
&>div {
display: flex;
justify-content: flex-start;
align-items: center;
...
...
@@ -176,6 +215,7 @@ export default {
overflow: hidden;
background: #43a4ff;
color: ghostwhite;
& span {
position: relative;
z-index: 10;
...
...
@@ -211,7 +251,7 @@ export default {
}
}
&
>
span {
&
>
span {
display: flex;
justify-content: space-between;
align-items: center;
...
...
@@ -220,21 +260,26 @@ export default {
width: 15rem !important;
margin-right: 1rem !important;
}
/deep/.ant-input {
height: 2.3rem !important;
}
/deep/.ant-select-selection {
width: 170px !important;
height: 2.3rem !important;
margin-right: 1rem !important;
}
/deep/.ant-select-selection__rendered {
height: 100% !important;
}
/deep/.ant-select-selection-selected-value {
height: 100% !important;
line-height: 2.3rem !important;
}
.search_btn {
padding: 0.8rem 1.2rem;
border: 0;
...
...
@@ -266,13 +311,16 @@ export default {
}
}
}
.main {
.type0 {
color: #888888;
}
.type1 {
color: #f94545;
}
.levelState {
padding: 5px 8px;
border-radius: 8px;
...
...
@@ -280,12 +328,15 @@ export default {
background: #ffedeb;
border: 1px solid #f94545;
}
.type2 {
color: #04ca8f;
}
/deep/.ant-btn-link {
padding: 0 !important;
& + .ant-btn-link {
&+.ant-btn-link {
margin-left: 1rem !important;
}
}
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/appManage/components/Details.vue
View file @
258de1d2
<
template
>
<a-modal
:width=
"modalInfo.width"
:visible=
"modalInfo.visible"
:title=
"modalInfo.title"
@
cancel=
"modalInfo.visible = false"
centered
destroyOnClose
>
<a-form-model
:label-col=
"
{
<a-modal
:width=
"modalInfo.width"
:visible=
"modalInfo.visible"
:title=
"modalInfo.title"
@
cancel=
"modalInfo.visible = false"
centered
destroyOnClose
>
<a-form-model
:label-col=
"
{
span: 5,
}"
:wrapper-col="{
}" :wrapper-col="{
span: 19,
}"
layout="horizontal"
ref="appForm"
:model="appForm"
:rules="appRules"
>
<a-form-model-item
label=
"应用名称"
prop=
"应用名称"
>
<a-input
v-model=
"appForm.应用名称"
placeholder=
"请输入"
allowClear
/>
}" layout="horizontal" ref="appForm" :model="appForm" :rules="appRules">
<a-form-model-item
label=
"应用名称"
prop=
"appName"
>
<a-input
v-model=
"appForm.appName"
placeholder=
"请输入"
allowClear
/>
</a-form-model-item>
<a-form-model-item
label=
"开发语言"
prop=
"开发语言"
>
<a-select
v-model=
"appForm.开发语言"
placeholder=
"请选择"
allowClear
>
<a-select-option
value=
"001"
>
选项001
</a-select-option>
<a-form-model-item
label=
"开发语言"
prop=
"deveLanguage"
>
<a-select
v-model=
"appForm.deveLanguage"
placeholder=
"请选择"
allowClear
>
<a-select-option
v-for=
"(item, index) of deveLanguage"
:key=
"index"
:value=
"index"
>
{{
item
}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item
label=
"版本号"
prop=
"
版本号
"
>
<a-input
v-model=
"appForm.
版本号
"
placeholder=
"请输入"
allowClear
/>
<a-form-model-item
label=
"版本号"
prop=
"
versionNumber
"
>
<a-input
v-model=
"appForm.
versionNumber
"
placeholder=
"请输入"
allowClear
/>
</a-form-model-item>
<a-form-model-item
label=
"版本信息"
prop=
"
版本信息
"
>
<a-textarea
v-model=
"appForm.
版本信息
"
placeholder=
"请输入"
:rows=
"4"
/>
<a-form-model-item
label=
"版本信息"
prop=
"
versionInfo
"
>
<a-textarea
v-model=
"appForm.
versionInfo
"
placeholder=
"请输入"
:rows=
"4"
/>
</a-form-model-item>
<a-form-model-item
label=
"应用包"
prop=
"应用包"
>
<MyUpload
v-model=
"appForm.应用包"
:uploadInfo=
"uploadInfo"
@
uploadChange=
"uploadChange"
>
<a-form-model-item
label=
"应用包"
prop=
"appFileUrl"
>
<MyUpload
v-model=
"appForm.appFileUrl"
:uploadInfo=
"uploadInfo"
>
<a-button
style=
"background: #04ca8f; color: #fff"
>
上传文件
</a-button>
</MyUpload>
</a-form-model-item>
<a-form-model-item
label=
"是否启用"
prop=
"
是否启用
"
>
<a-switch
v-model=
"appForm.
是否启用
"
/>
<a-form-model-item
label=
"是否启用"
prop=
"
isEnable
"
>
<a-switch
v-model=
"appForm.
isEnable
"
/>
</a-form-model-item>
</a-form-model>
<template
slot=
"footer"
>
...
...
@@ -54,9 +39,11 @@
</template>
<
script
>
import
{
saveApps
,
getAppsInfo
}
from
"
@/api/thePlatformIsSet.js
"
;
import
{
deepClone
}
from
"
@/utils/js/common.js
"
;
export
default
{
name
:
"
PortalAdminVueDetails
"
,
props
:
[
"
deveLanguage
"
],
data
()
{
return
{
modalInfo
:
{
...
...
@@ -65,12 +52,13 @@ export default {
width
:
"
30%
"
,
},
appForm
:
{
应用名称
:
undefined
,
开发语言
:
undefined
,
版本号
:
undefined
,
版本信息
:
undefined
,
应用包
:
undefined
,
是否启用
:
true
,
productId
:
this
.
$route
.
query
.
id
,
appName
:
""
,
deveLanguage
:
undefined
,
versionNumber
:
""
,
versionInfo
:
""
,
appFileUrl
:
""
,
isEnable
:
false
,
},
uploadInfo
:
{
removeFileList
:
[],
//移除文件列表
...
...
@@ -82,23 +70,52 @@ export default {
// 其他参数 data
// test: "001",
},
verload
:
3
,
// 单位 M
verload
:
3
00
,
// 单位 M
limit
:
1
,
//限制文件上传数量
whiteFileList
:
[
"
apk
"
],
},
appRules
:
{},
appRules
:
{
appName
:
[{
required
:
true
,
message
:
"
请输入应用名称
"
,
trigger
:
[
'
blur
'
,
'
change
'
]
}],
deveLanguage
:
[{
required
:
true
,
message
:
"
请选择开发语言
"
,
trigger
:
[
'
blur
'
,
'
change
'
]
}],
},
};
},
mounted
()
{},
mounted
()
{
},
methods
:
{
uploadChange
(
fileInfo
)
{
this
.
uploadInfo
.
fileList
=
deepClone
(
fileInfo
.
fileList
);
getInfo
(
id
)
{
getAppsInfo
({
id
:
id
}).
then
(
res
=>
{
res
.
data
.
isEnable
=
res
.
data
.
isEnable
==
1
this
.
appForm
=
res
.
data
if
(
res
.
data
.
appFileUrl
)
{
this
.
uploadInfo
.
fileList
=
[
{
uid
:
id
,
name
:
res
.
data
.
appFileUrl
,
url
:
res
.
data
.
appFileUrl
,
}
]
}
})
},
Modal_Ok
()
{
this
.
$refs
.
appForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
console
.
log
(
this
.
appForm
);
let
json
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
appForm
))
json
.
isEnable
=
json
.
isEnable
?
1
:
0
saveApps
(
json
).
then
(
res
=>
{
let
{
code
,
msg
}
=
res
if
(
code
==
1
)
{
this
.
$message
.
success
(
'
保存成功
'
);
this
.
resetForm
();
this
.
modalInfo
.
visible
=
false
this
.
$parent
.
getList
()
}
else
{
this
.
$message
.
error
(
msg
);
}
})
}
else
{
this
.
$message
.
error
(
`请完善表单信息!`
);
return
false
;
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/docData/components/Details.vue
View file @
258de1d2
<
template
>
<a-modal
:width=
"modalInfo.width"
:visible=
"modalInfo.visible"
:title=
"modalInfo.title"
@
cancel=
"modalInfo.visible = false"
centered
destroyOnClose
>
<a-form-model
:label-col=
"
{
<a-modal
:width=
"modalInfo.width"
:visible=
"modalInfo.visible"
:title=
"modalInfo.title"
@
cancel=
"modalInfo.visible = false"
centered
destroyOnClose
>
<a-form-model
:label-col=
"
{
span: 4,
}"
:wrapper-col="{
}" :wrapper-col="{
span: 20,
}"
layout="horizontal"
ref="appForm"
:model="appForm"
:rules="appRules"
>
<a-form-model-item
label=
"材料名称"
prop=
"材料名称"
>
<a-input
v-model=
"appForm.材料名称"
placeholder=
"请输入"
allowClear
/>
}" layout="horizontal" ref="appForm" :model="appForm" :rules="appRules">
<a-form-model-item
label=
"材料名称"
prop=
"docName"
>
<a-input
v-model=
"appForm.docName"
placeholder=
"请输入"
allowClear
/>
</a-form-model-item>
<a-form-model-item
label=
"版本号"
prop=
"
版本号
"
>
<a-input
v-model=
"appForm.
版本号
"
placeholder=
"请输入"
allowClear
/>
<a-form-model-item
label=
"版本号"
prop=
"
versionNumber
"
>
<a-input
v-model=
"appForm.
versionNumber
"
placeholder=
"请输入"
allowClear
/>
</a-form-model-item>
<a-form-model-item
label=
"版本信息"
prop=
"
版本信息
"
>
<a-textarea
v-model=
"appForm.
版本信息
"
placeholder=
"请输入"
:rows=
"4"
/>
<a-form-model-item
label=
"版本信息"
prop=
"
versionInfo
"
>
<a-textarea
v-model=
"appForm.
versionInfo
"
placeholder=
"请输入"
:rows=
"4"
/>
</a-form-model-item>
<a-form-model-item
label=
"材料文件"
prop=
"材料文件"
>
<MyUpload
v-model=
"appForm.材料文件"
:uploadInfo=
"uploadInfo"
@
uploadChange=
"uploadChange"
>
<a-form-model-item
label=
"材料文件"
prop=
"docFileUrl"
>
<MyUpload
v-model=
"appForm.docFileUrl"
:uploadInfo=
"uploadInfo"
>
<a-button
style=
"background: #04ca8f; color: #fff"
>
上传文件
</a-button>
</MyUpload>
</a-form-model-item>
...
...
@@ -47,6 +30,7 @@
</template>
<
script
>
import
{
saveDocument
,
getDocumentInfo
}
from
"
@/api/thePlatformIsSet.js
"
;
import
{
deepClone
}
from
"
@/utils/js/common.js
"
;
export
default
{
name
:
"
PortalAdminVueDetails
"
,
...
...
@@ -58,38 +42,60 @@ export default {
width
:
"
30%
"
,
},
appForm
:
{
材料名称
:
undefined
,
版本号
:
undefined
,
版本信息
:
undefined
,
材料文件
:
undefined
,
productId
:
this
.
$route
.
query
.
id
,
docName
:
""
,
versionNumber
:
""
,
versionInfo
:
""
,
docFileUrl
:
""
},
uploadInfo
:
{
removeFileList
:
[],
//移除文件列表
fileList
:
[],
//文件列表
defaultFileList
:
[],
multiple
:
false
,
//多文件
listType
:
"
text
"
,
//text, picture 和 picture-card
prePath
:
"
file/fileupload
"
,
//附件存放相对路径 否 不填时候默认为 file/fileupload
objAttach
:
{
// 其他参数 data
// test: "001",
},
verload
:
3
,
// 单位 M
objAttach
:
{},
verload
:
300
,
// 单位 M
limit
:
1
,
//限制文件上传数量
whiteFileList
:
[
"
doc
"
],
whiteFileList
:
[
"
doc
"
,
"
docx
"
,
"
pdf
"
,
"
xlsx
"
,
"
xls
"
],
},
appRules
:
{
docName
:
[{
required
:
true
,
message
:
"
请输入材料名称
"
,
trigger
:
[
'
blur
'
,
'
change
'
]
}],
},
appRules
:
{},
};
},
mounted
()
{},
mounted
()
{
},
methods
:
{
uploadChange
(
fileInfo
)
{
this
.
uploadInfo
.
fileList
=
deepClone
(
fileInfo
.
fileList
);
getInfo
(
id
)
{
getDocumentInfo
({
id
:
id
}).
then
(
res
=>
{
this
.
appForm
=
res
.
data
if
(
res
.
data
.
docFileUrl
)
{
this
.
uploadInfo
.
fileList
=
[
{
uid
:
id
,
name
:
res
.
data
.
docFileUrl
,
url
:
res
.
data
.
docFileUrl
,
}
]
}
})
},
Modal_Ok
()
{
this
.
$refs
.
appForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
console
.
log
(
this
.
appForm
);
saveDocument
(
this
.
appForm
).
then
(
res
=>
{
let
{
code
,
msg
}
=
res
if
(
code
==
1
)
{
this
.
$message
.
success
(
'
保存成功
'
);
this
.
resetForm
();
this
.
modalInfo
.
visible
=
false
this
.
$parent
.
getList
()
}
else
{
this
.
$message
.
error
(
msg
);
}
})
}
else
{
this
.
$message
.
error
(
`请完善表单信息!`
);
return
false
;
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/docData/fileData.vue
View file @
258de1d2
...
...
@@ -2,55 +2,26 @@
<div
class=
"PoliticsShow-Container"
>
<div
class=
"header_box"
>
<div>
<button
class=
"add_btn"
>
<button
class=
"add_btn"
@
click=
"openDetails()"
>
<span>
新增
</span>
</button>
</div>
<span>
<a-input
allowClear
v-model=
"searchName"
placeholder=
"请输入应用名称查询"
>
<a-input
allowClear
v-model=
"searchName"
placeholder=
"请输入资料名称查询"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-select
default-value=
"001"
>
<!--
<a-select-option
v-for=
"(item, index) of selectOptions"
:key=
"index"
:value=
"item.value"
>
{{
item
.
label
}}
</a-select-option>
-->
<a-select-option
value=
"001"
>
语言001
</a-select-option>
<a-select-option
value=
"002"
>
语言002
</a-select-option>
</a-select>
<button
class=
"search_btn"
>
搜索
</button>
<button
class=
"search_btn"
@
click=
"getList()"
>
搜索
</button>
</span>
</div>
<div
class=
"main"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:scroll=
"
{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:scroll=
"
{ y: 590 }" :pagination="tablePagination"
@change="pagTableChange" :loading="tableLoading" :columns="tableHeaders" :dataSource="tableSourceData">
<template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
>
下载
{{
index
+
1
}}
</a-button>
<a-button
type=
"link"
@
click=
"openDetails"
>
编辑
{{
index
+
1
}}
</a-button
>
<a-button
type=
"link"
style=
"color: #ff4420"
>
删除
{{
index
+
1
}}
</a-button
>
<a-button
type=
"link"
v-if=
"record.docFileUrl"
@
click=
"handleDowload(record.docFileUrl)"
>
下载
</a-button>
<a-button
type=
"link"
@
click=
"openDetails(record)"
>
编辑
</a-button>
<a-popconfirm
title=
"确定要删除此应用吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"delRow(record)"
>
<a-button
type=
"link"
style=
"color: #ff4420"
>
删除
</a-button>
</a-popconfirm>
</
template
>
</a-table>
<Details
ref=
"Details"
/>
...
...
@@ -59,6 +30,7 @@
</template>
<
script
>
import
{
getDocument
,
deleteDocument
}
from
"
@/api/thePlatformIsSet.js
"
;
import
table
from
"
@/mixins/table
"
;
import
Details
from
"
./components/Details.vue
"
;
export
default
{
...
...
@@ -78,24 +50,25 @@ export default {
{
title
:
"
材料名称
"
,
align
:
"
center
"
,
dataIndex
:
"
材料名称
"
,
dataIndex
:
"
docName
"
,
},
{
title
:
"
版本
"
,
align
:
"
center
"
,
dataIndex
:
"
版本
"
,
dataIndex
:
"
versionNumber
"
,
},
{
title
:
"
材料信息
"
,
align
:
"
center
"
,
dataIndex
:
"
材料信息
"
,
dataIndex
:
"
versionInfo
"
,
},
{
title
:
"
上传时间
"
,
align
:
"
center
"
,
dataIndex
:
"
上传时间
"
,
dataIndex
:
"
createTime
"
,
customRender
:
(
text
,
record
,
index
)
=>
this
.
$moment
(
text
).
format
(
"
YYYY年MM月DD日 HH:mm:ss
"
),
},
{
...
...
@@ -109,6 +82,10 @@ export default {
},
],
searchName
:
undefined
,
tablePagination
:
{
current
:
1
,
pageSize
:
10
},
};
},
components
:
{
...
...
@@ -116,21 +93,66 @@ export default {
},
mounted
()
{
this
.
setMoment
();
for
(
let
key
=
0
;
key
<
20
;
key
++
)
{
this
.
tableSourceData
.
push
({
id
:
`00
${
key
+
1
}
`
,
材料名称
:
`排队信息查询接口
${
key
+
1
}
`
,
版本
:
`v
${
key
+
1
}
.0`
,
材料信息
:
`修复unit功能及部分鉴权问题
${
key
+
1
}
`
,
上传时间
:
`2022-07-03 20:00:00`
,
});
}
this
.
getList
();
},
methods
:
{
openDetails
()
{
getList
(
search
)
{
getDocument
({
page
:
this
.
tablePagination
.
current
,
size
:
this
.
tablePagination
.
pageSize
,
docName
:
this
.
searchName
,
productId
:
this
.
$route
.
query
.
id
,
...
search
,
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
let
{
data
,
total
,
dict
}
=
res
.
data
;
this
.
dict
=
dict
;
this
.
tableSourceData
=
data
;
this
.
tablePagination
.
total
=
total
;
return
data
}
})
},
//分页
pagTableChange
(
page
)
{
this
.
tablePagination
.
current
=
page
.
current
this
.
tablePagination
.
pageSize
=
page
.
pageSize
this
.
getList
();
},
delRow
(
item
)
{
deleteDocument
({
id
:
item
.
id
}).
then
((
res
)
=>
{
console
.
log
(
res
)
let
{
code
,
msg
}
=
res
if
(
code
==
1
)
{
this
.
$message
.
success
(
'
删除成功
'
);
this
.
getList
()
}
else
{
this
.
$message
.
error
(
msg
);
}
})
},
handleDowload
(
url
)
{
let
arr
=
url
.
split
(
'
/
'
)
const
a
=
document
.
createElement
(
"
a
"
);
a
.
href
=
process
.
env
.
VUE_APP_API_BASE_URL
+
'
/
'
+
url
;
a
.
download
=
arr
[
arr
.
length
-
1
];
a
.
click
();
},
openDetails
(
item
)
{
if
(
item
)
{
this
.
$refs
.
Details
.
modalInfo
.
title
=
"
编辑材料
"
;
this
.
$refs
.
Details
.
getInfo
(
item
.
id
)
}
else
{
this
.
$refs
.
Details
.
modalInfo
.
title
=
"
新增材料
"
;
}
this
.
$refs
.
Details
.
modalInfo
.
visible
=
true
;
this
.
$refs
.
Details
.
modalInfo
.
width
=
"
27
%
"
;
this
.
$refs
.
Details
.
modalInfo
.
width
=
"
30
%
"
;
},
},
};
...
...
@@ -140,13 +162,15 @@ export default {
/deep/.ant-spin-container {
display: block;
}
.PoliticsShow-Container {
.header_box {
padding-bottom: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
& > div {
&>div {
display: flex;
justify-content: flex-start;
align-items: center;
...
...
@@ -166,6 +190,7 @@ export default {
overflow: hidden;
background: #43a4ff;
color: ghostwhite;
& span {
position: relative;
z-index: 10;
...
...
@@ -201,7 +226,7 @@ export default {
}
}
&
>
span {
&
>
span {
display: flex;
justify-content: space-between;
align-items: center;
...
...
@@ -210,21 +235,26 @@ export default {
width: 15rem !important;
margin-right: 1rem !important;
}
/deep/.ant-input {
height: 2.3rem !important;
}
/deep/.ant-select-selection {
width: 170px !important;
height: 2.3rem !important;
margin-right: 1rem !important;
}
/deep/.ant-select-selection__rendered {
height: 100% !important;
}
/deep/.ant-select-selection-selected-value {
height: 100% !important;
line-height: 2.3rem !important;
}
.search_btn {
padding: 0.8rem 1.2rem;
border: 0;
...
...
@@ -256,13 +286,16 @@ export default {
}
}
}
.main {
.type0 {
color: #888888;
}
.type1 {
color: #f94545;
}
.levelState {
padding: 5px 8px;
border-radius: 8px;
...
...
@@ -270,12 +303,15 @@ export default {
background: #ffedeb;
border: 1px solid #f94545;
}
.type2 {
color: #04ca8f;
}
/deep/.ant-btn-link {
padding: 0 !important;
& + .ant-btn-link {
&+.ant-btn-link {
margin-left: 1rem !important;
}
}
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/productManage.vue
View file @
258de1d2
...
...
@@ -15,7 +15,7 @@
</a-button>
<ul
class=
"content"
>
<li
class=
"list"
v-for=
"item, index of listData"
:key=
"index"
>
<a-popover
placement=
"leftBottom"
>
<a-popover
placement=
"leftBottom"
trigger=
"click"
>
<template
slot=
"content"
>
<div
class=
"popoverContent"
>
<p>
...
...
@@ -24,7 +24,7 @@
</a-button>
</p>
<p>
<a-popconfirm
title=
"确定要删除此产品吗?"
ok-text=
"
Yes"
cancel-text=
"No
"
@
confirm=
"delModal(item)"
>
<a-popconfirm
title=
"确定要删除此产品吗?"
ok-text=
"
确定"
cancel-text=
"取消
"
@
confirm=
"delModal(item)"
>
<a-button
type=
"link"
size=
"small"
style=
"color: #ff4d4f"
>
删除
</a-button>
...
...
@@ -91,12 +91,6 @@ export default {
this
.
listData
=
res
.
data
.
data
})
},
pushroeuter
()
{
this
.
$router
.
push
({
path
:
"
/home/thePlatformIsSet/portDocument
"
,
// query: { testoption: "test001" },
});
},
showModal
(
item
)
{
if
(
item
)
{
this
.
$refs
.
AddEditAppName
.
VisibleTitle
=
"
编辑
"
;
...
...
portal-manager/db/product_db.sql
View file @
258de1d2
...
...
@@ -19,32 +19,33 @@ CREATE TABLE `mortals_xhx_product` (
-- 产品接口表
-- ----------------------------
DROP
TABLE
IF
EXISTS
`mortals_xhx_product_interface`
;
CREATE
TABLE
`mortals_xhx_product_interface`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'序号,主键,自增长'
,
CREATE
TABLE
mortals_xhx_product_interface
(
`id`
bigint
(
20
)
AUTO_INCREMENT
COMMENT
'序号,主键,自增长'
,
`productId`
bigint
(
20
)
NOT
NULL
COMMENT
'产品id'
,
`interfaceName`
varchar
(
128
)
NOT
NULL
COMMENT
'接口名称'
,
`versionNumber`
varchar
(
64
)
NOT
NULL
COMMENT
'版本号'
,
`requestType`
tinyint
(
2
)
DEFAULT
'1'
COMMENT
'请求类型1:POST,2:GET'
,
`requestProtocol`
tinyint
(
2
)
DEFAULT
'1'
COMMENT
'请求协议1:HTTP,2:HTTPS'
,
`requestUrl`
varchar
(
128
)
DEFAULT
NULL
COMMENT
'请求路径'
,
`timeoutValue`
int
(
8
)
DEFAULT
NULL
COMMENT
'超时时间(秒)'
,
`limitStrategy`
tinyint
(
2
)
DEFAULT
NULL
COMMENT
'限流策略1:分钟,2:小时'
,
`network`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'访问网络1互联网2政务网'
,
`requestUrl`
varchar
(
128
)
COMMENT
'请求路径'
,
`timeoutValue`
int
(
8
)
COMMENT
'超时时间(秒)'
,
`limitStrategy`
tinyint
(
2
)
COMMENT
'限流策略1:分钟,2:小时'
,
`network`
varchar
(
64
)
COMMENT
'访问网络1互联网2政务网'
,
`description`
text
COMMENT
'接口描述'
,
`flowControl`
text
COMMENT
'流控信息'
,
`authorizeInfo`
text
COMMENT
'授权信息'
,
`interfaceTag`
tinyint
(
2
)
DEFAULT
NULL
COMMENT
'标签'
,
`contentType`
varchar
(
128
)
COMMENT
'内容类型'
,
`interfaceTag`
tinyint
(
2
)
COMMENT
'标签'
,
`interfaceSource`
tinyint
(
2
)
DEFAULT
'1'
COMMENT
'来源1自有2非自有'
,
`inEncrypt`
tinyint
(
2
)
COMMENT
'入参是否加密'
,
`requestParameters`
text
COMMENT
'请求参数'
,
`outEncrypt`
tinyint
(
2
)
COMMENT
'出参是否加密'
,
`responseParameters`
text
COMMENT
'响应数据'
,
`errorCode`
text
COMMENT
'错误码'
,
`changeHistory`
text
COMMENT
'变更历史'
,
`remark`
text
COMMENT
'接口描述'
,
`createUserId`
bigint
(
20
)
NOT
NULL
COMMENT
'创建用户'
,
`createTime`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`updateUserId`
bigint
(
20
)
DEFAULT
NULL
COMMENT
'更新用户'
,
`updateTime`
datetime
DEFAULT
NULL
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'产品接口表'
;
`updateUserId`
bigint
(
20
)
COMMENT
'更新用户'
,
`updateTime`
datetime
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'产品接口'
;
-- ----------------------------
-- 产品应用表
...
...
portal-manager/src/main/java/com/mortals/xhx/module/product/model/ProductInterfaceEntity.java
View file @
258de1d2
...
...
@@ -2,11 +2,11 @@ package com.mortals.xhx.module.product.model;
import
com.mortals.xhx.module.product.model.vo.ProductInterfaceVo
;
/**
* 产品接口实体对象
*
* @author zxfei
* @date 2023-02-22
*/
* 产品接口实体对象
*
* @author zxfei
* @date 2023-05-16
*/
public
class
ProductInterfaceEntity
extends
ProductInterfaceVo
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -52,13 +52,9 @@ public class ProductInterfaceEntity extends ProductInterfaceVo {
*/
private
String
description
;
/**
* 流控信息
*/
private
String
flowControl
;
/**
* 授权信息
* 内容类型
*/
private
String
authorizeInfo
;
private
String
contentType
;
/**
* 标签
*/
...
...
@@ -67,22 +63,26 @@ public class ProductInterfaceEntity extends ProductInterfaceVo {
* 来源1自有2非自有
*/
private
Integer
interfaceSource
;
/**
* 入参是否加密
*/
private
Integer
inEncrypt
;
/**
* 请求参数
*/
private
String
requestParameters
;
/**
* 响应数据
* 出参是否加密
*/
private
String
responseParameters
;
private
Integer
outEncrypt
;
/**
* 错误码
* 响应数据
*/
private
String
errorCode
;
private
String
responseParameters
;
/**
* 变更历史
* 接口描述
*/
private
String
changeHistory
;
private
String
remark
;
...
...
@@ -228,32 +228,18 @@ public class ProductInterfaceEntity extends ProductInterfaceVo {
this
.
description
=
description
;
}
/**
* 获取 流控信息
* @return String
*/
public
String
getFlowControl
(){
return
flowControl
;
}
/**
* 设置 流控信息
* @param flowControl
*/
public
void
setFlowControl
(
String
flowControl
){
this
.
flowControl
=
flowControl
;
}
/**
* 获取 授权信息
* 获取 内容类型
* @return String
*/
public
String
get
AuthorizeInfo
(){
return
authorizeInfo
;
public
String
get
ContentType
(){
return
contentType
;
}
/**
* 设置 授权信息
* @param authorizeInfo
* 设置 内容类型
* @param contentType
*/
public
void
set
AuthorizeInfo
(
String
authorizeInfo
){
this
.
authorizeInfo
=
authorizeInfo
;
public
void
set
ContentType
(
String
contentType
){
this
.
contentType
=
contentType
;
}
/**
* 获取 标签
...
...
@@ -283,6 +269,20 @@ public class ProductInterfaceEntity extends ProductInterfaceVo {
public
void
setInterfaceSource
(
Integer
interfaceSource
){
this
.
interfaceSource
=
interfaceSource
;
}
/**
* 获取 入参是否加密
* @return Integer
*/
public
Integer
getInEncrypt
(){
return
inEncrypt
;
}
/**
* 设置 入参是否加密
* @param inEncrypt
*/
public
void
setInEncrypt
(
Integer
inEncrypt
){
this
.
inEncrypt
=
inEncrypt
;
}
/**
* 获取 请求参数
* @return String
...
...
@@ -297,6 +297,20 @@ public class ProductInterfaceEntity extends ProductInterfaceVo {
public
void
setRequestParameters
(
String
requestParameters
){
this
.
requestParameters
=
requestParameters
;
}
/**
* 获取 出参是否加密
* @return Integer
*/
public
Integer
getOutEncrypt
(){
return
outEncrypt
;
}
/**
* 设置 出参是否加密
* @param outEncrypt
*/
public
void
setOutEncrypt
(
Integer
outEncrypt
){
this
.
outEncrypt
=
outEncrypt
;
}
/**
* 获取 响应数据
* @return String
...
...
@@ -312,32 +326,18 @@ public class ProductInterfaceEntity extends ProductInterfaceVo {
this
.
responseParameters
=
responseParameters
;
}
/**
* 获取 错误码
* @return String
*/
public
String
getErrorCode
(){
return
errorCode
;
}
/**
* 设置 错误码
* @param errorCode
*/
public
void
setErrorCode
(
String
errorCode
){
this
.
errorCode
=
errorCode
;
}
/**
* 获取 变更历史
* 获取 接口描述
* @return String
*/
public
String
get
ChangeHistory
(){
return
changeHistory
;
public
String
get
Remark
(){
return
remark
;
}
/**
* 设置 变更历史
* @param changeHistory
* 设置 接口描述
* @param remark
*/
public
void
set
ChangeHistory
(
String
changeHistory
){
this
.
changeHistory
=
changeHistory
;
public
void
set
Remark
(
String
remark
){
this
.
remark
=
remark
;
}
...
...
@@ -371,14 +371,14 @@ public class ProductInterfaceEntity extends ProductInterfaceVo {
sb
.
append
(
",limitStrategy:"
).
append
(
getLimitStrategy
());
sb
.
append
(
",network:"
).
append
(
getNetwork
());
sb
.
append
(
",description:"
).
append
(
getDescription
());
sb
.
append
(
",flowControl:"
).
append
(
getFlowControl
());
sb
.
append
(
",authorizeInfo:"
).
append
(
getAuthorizeInfo
());
sb
.
append
(
",contentType:"
).
append
(
getContentType
());
sb
.
append
(
",interfaceTag:"
).
append
(
getInterfaceTag
());
sb
.
append
(
",interfaceSource:"
).
append
(
getInterfaceSource
());
sb
.
append
(
",inEncrypt:"
).
append
(
getInEncrypt
());
sb
.
append
(
",requestParameters:"
).
append
(
getRequestParameters
());
sb
.
append
(
",outEncrypt:"
).
append
(
getOutEncrypt
());
sb
.
append
(
",responseParameters:"
).
append
(
getResponseParameters
());
sb
.
append
(
",errorCode:"
).
append
(
getErrorCode
());
sb
.
append
(
",changeHistory:"
).
append
(
getChangeHistory
());
sb
.
append
(
",remark:"
).
append
(
getRemark
());
return
sb
.
toString
();
}
...
...
@@ -404,20 +404,20 @@ public class ProductInterfaceEntity extends ProductInterfaceVo {
this
.
description
=
""
;
this
.
flowControl
=
""
;
this
.
authorizeInfo
=
""
;
this
.
contentType
=
""
;
this
.
interfaceTag
=
null
;
this
.
interfaceSource
=
1
;
this
.
inEncrypt
=
null
;
this
.
requestParameters
=
""
;
this
.
responseParameters
=
""
;
this
.
outEncrypt
=
null
;
this
.
errorCode
=
""
;
this
.
responseParameters
=
""
;
this
.
changeHistory
=
""
;
this
.
remark
=
""
;
}
}
\ No newline at end of file
portal-manager/src/main/java/com/mortals/xhx/module/product/model/ProductInterfaceQuery.java
View file @
258de1d2
This diff is collapsed.
Click to expand it.
portal-manager/src/main/java/com/mortals/xhx/module/product/web/ProductInterfaceController.java
View file @
258de1d2
...
...
@@ -33,9 +33,12 @@ public class ProductInterfaceController extends BaseCRUDJsonBodyMappingControlle
this
.
addDict
(
model
,
"requestType"
,
paramService
.
getParamBySecondOrganize
(
"ProductInterface"
,
"requestType"
));
this
.
addDict
(
model
,
"requestProtocol"
,
paramService
.
getParamBySecondOrganize
(
"ProductInterface"
,
"requestProtocol"
));
this
.
addDict
(
model
,
"limitStrategy"
,
paramService
.
getParamBySecondOrganize
(
"ProductInterface"
,
"limitStrategy"
));
this
.
addDict
(
model
,
"contentType"
,
paramService
.
getParamBySecondOrganize
(
"ProductInterface"
,
"contentType"
));
this
.
addDict
(
model
,
"network"
,
paramService
.
getParamBySecondOrganize
(
"ProductInterface"
,
"network"
));
this
.
addDict
(
model
,
"interfaceTag"
,
paramService
.
getParamBySecondOrganize
(
"ProductInterface"
,
"interfaceTag"
));
this
.
addDict
(
model
,
"interfaceSource"
,
paramService
.
getParamBySecondOrganize
(
"ProductInterface"
,
"interfaceSource"
));
this
.
addDict
(
model
,
"inEncrypt"
,
paramService
.
getParamBySecondOrganize
(
"ProductApps"
,
"isEnable"
));
this
.
addDict
(
model
,
"outEncrypt"
,
paramService
.
getParamBySecondOrganize
(
"ProductApps"
,
"isEnable"
));
super
.
init
(
model
,
context
);
}
...
...
portal-manager/src/main/resources/sqlmap/module/product/ProductInterfaceMapper.xml
View file @
258de1d2
This diff is collapsed.
Click to expand it.
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