Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
occloud-server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yangjiarong
occloud-server
Commits
fd12b9a3
Commit
fd12b9a3
authored
Jul 08, 2022
by
liuliufashi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updatye
parent
74dd8590
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
323 additions
and
123 deletions
+323
-123
.env.dev
web-vue-admin/.env.dev
+2
-1
.env.prod
web-vue-admin/.env.prod
+2
-1
request.ts
web-vue-admin/src/utils/request.ts
+2
-0
index.vue
web-vue-admin/src/views/goods-cabinet/index.vue
+25
-2
index.vue
web-vue-admin/src/views/pay-bind/index.vue
+214
-111
index.vue
...vue-admin/src/views/pay-config/compoents/header/index.vue
+1
-1
index.vue
web-vue-admin/src/views/pay-config/index.vue
+3
-3
index.vue
web-vue-admin/src/views/pay-list/index.vue
+73
-3
vue.config.js
web-vue-admin/vue.config.js
+1
-1
No files found.
web-vue-admin/.env.dev
View file @
fd12b9a3
VUE_APP_MODE = 'dev'
NODE_ENV = 'development'
VUE_APP_BASE_URL = ''
VUE_APP_BASE_URL = '
http://47.102.211.197:8092
'
VUE_APP_TEXT = '测试环境'
\ No newline at end of file
web-vue-admin/.env.pro
→
web-vue-admin/.env.pro
d
View file @
fd12b9a3
VUE_APP_MODE = 'prod'
NODE_ENV = 'production'
VUE_APP_BASE_URL
=
''
VUE_APP_BASE_URL = '
http://47.102.211.197:8092
'
VUE_APP_TEXT = '生产环境'
\ No newline at end of file
web-vue-admin/src/utils/request.ts
View file @
fd12b9a3
...
...
@@ -2,6 +2,8 @@ import axios from "axios";
import
{
message
}
from
"ant-design-vue"
;
import
{
getToken
}
from
"./token"
;
// 创建axios实例
console
.
log
(
process
.
env
.
VUE_APP_BASE_URL
,
'process.env'
);
const
instance
=
axios
.
create
({
baseURL
:
"http://192.168.3.131:8080/"
,
// 设置相应的时间
...
...
web-vue-admin/src/views/goods-cabinet/index.vue
View file @
fd12b9a3
...
...
@@ -20,6 +20,7 @@
</div>
</div>
<div
class=
"goods-list"
v-if=
"!isShowGoods"
>
<a-table
:columns=
"columns"
:data-source=
"data"
>
<template
#
headerCell=
"
{ column }">
<template
v-if=
"column.key === 'name'"
>
...
...
@@ -69,13 +70,20 @@
</a-table>
</div>
<div
v-if=
"isShowGoods"
>
<GoodsBags
:props=
"{ propsData }"
@
onBack=
"onBack"
></GoodsBags>
<div
style=
"display: flex; align-items: center; justify-content: space-between"
v-if=
"isShowGoods"
>
<a-button
class=
"small left"
@
click=
"onBack"
>
<
template
#
icon
>
<LeftOutlined
/>
</
template
>
</a-button>
</div>
<GoodsBags
:props=
"{ propsData }"
></GoodsBags>
</div>
</div>
</template>
<
script
lang=
"ts"
setup
>
import
{
ref
,
reactive
,
defineExpose
}
from
"vue"
;
import
{
SmileOutlined
,
DownOutlined
}
from
"@ant-design/icons-vue"
;
import
{
SmileOutlined
,
DownOutlined
,
LeftOutlined
}
from
"@ant-design/icons-vue"
;
import
GoodsBags
from
"./components/index.vue"
;
const
columns
=
[
{
...
...
@@ -177,5 +185,20 @@ defineExpose({
.goods-list
{
margin-top
:
10px
;
}
.small
{
border
:
none
;
height
:
30px
;
width
:
50px
;
}
.left
{
border-left
:
1px
solid
rgb
(
236
,
236
,
236
);
border-top
:
1px
solid
rgb
(
236
,
236
,
236
);
border-bottom
:
1px
solid
rgb
(
236
,
236
,
236
);
border-right-width
:
80%
;
border-right
:
1px
solid
rgb
(
236
,
236
,
236
);
border-bottom-left-radius
:
25px
;
border-top-left-radius
:
25px
;
}
}
</
style
>
web-vue-admin/src/views/pay-bind/index.vue
View file @
fd12b9a3
<
template
>
<div
class=
"bind-page"
>
<div
style=
"display: flex; align-items: center; justify-content: space-between"
>
<div
style=
"display: flex; align-items: center; justify-content: space-between"
>
<div>
<a-button
class=
"small left"
@
click=
"onSetShowTable"
>
<a-button
class=
"small left"
@
click=
"onSet
Back
ShowTable"
>
<template
#
icon
>
<LeftOutlined
/>
</
template
>
...
...
@@ -15,80 +17,177 @@
</div>
<div>
<a-button
type=
"primary"
block
@
click=
"onSetShowTable"
v-if=
"query && query.isShow"
>
新建支付通道
</a-button>
<a-button
type=
"primary"
block
@
click=
"showModal"
v-if=
"query && query.isShow"
>
新建支付通道
</a-button
>
</div>
</div>
<div
style=
"margin-top: 10px;"
>
<a-table
:columns=
"columns"
:data-source=
"data"
:pagination=
"false"
v-if=
"isShowTable"
>
<div
style=
"margin-top: 10px"
>
<a-table
:columns=
"columns"
:data-source=
"list"
:pagination=
"false"
v-if=
"isShowTable"
>
<
template
#
bodyCell=
"{ column, record }"
>
<template
v-if=
"column.key === 'name'"
>
<a>
{{
record
.
name
}}
{{
record
.
name
||
"~"
}}
</a>
</
template
>
<
template
v-if=
"column.key === 'wx'"
>
<div
v-if=
"record.paytype == '1'"
>
<CheckCircleFilled
style=
"font-size:25px; color:rgb(12, 191, 33);"
></CheckCircleFilled>
</div>
<div
v-else
>
<CloseCircleFilled
style=
"font-size:25px;color: rgb(250, 116, 116);"
></CloseCircleFilled>
</div>
</
template
>
<
template
v-else-if=
"column.key === 'zfb'"
>
<div
v-if=
"record.paytype == '2'"
>
<CheckCircleFilled
style=
"font-size:25px;color:rgb(12, 191, 33);"
></CheckCircleFilled>
</div>
<div
v-else
>
<CloseCircleFilled
style=
"font-size:25px;color: rgb(250, 116, 116);"
></CloseCircleFilled>
</div>
</
template
>
<
template
v-else-if=
"column.key === 'tags'"
>
<span>
<a-tag
v-for=
"tag in record.tags"
:key=
"tag"
:color=
"
<a-tag
v-for=
"tag in record.tags"
:key=
"tag"
:color=
"
tag === 'loser'
? 'volcano'
: tag.length > 5
? 'geekblue'
: 'green'
"
>
"
>
{{
tag
.
toUpperCase
()
}}
</a-tag>
</span>
</
template
>
<
template
v-else-if=
"column.key === 'action'"
>
<span>
<a>
Invite 一
{{
record
.
name
}}
</a>
<a-divider
type=
"vertical"
/>
<a>
Delete
</a>
<a-divider
type=
"vertical"
/>
<a
class=
"ant-dropdown-link"
>
More actions
<down-outlined
/>
</a>
</span>
<
template
v-else-if=
"column.key === 'status'"
>
<div
v-if=
"record.status === 0"
>
<span
class=
"ml20"
style=
"color: rgba(12, 191, 33, 1)"
>
良好
</span>
</div>
<div
v-else-if=
"record.status === 1"
>
<span
class=
"ml20"
style=
"color: rgb(250, 116, 116)"
>
预警
</span>
</div>
</
template
>
<
template
v-else-if=
"column.key === 'weight'"
>
<a-input-number
id=
"inputNumber"
v-model:value=
"record.weight"
:min=
"1"
:max=
"10"
@
blur=
"onChangeWeight(record)"
/>
<span>
1-10
</span>
</
template
>
<
template
v-else-if=
"column.key === 'ref'"
>
<span>
<a-button
danger
@
click=
"onSetShowTable"
>
编辑
</a-button>
<a-button
danger
@
click=
"onSetShowTable"
>
配置
</a-button>
</span>
<span>
<a-button
danger
>
禁用
</a-button>
<a-button
danger
style=
"margin-left: 10px"
@
click=
"onDis(record)"
>
禁用
</a-button>
</span>
</
template
>
</template>
</a-table>
<div
v-else
>
<a-form
:label-col=
"{ span: 2 }"
:wrapper-col=
"{ span: 12 }"
>
<a-form-item
label=
"通道名称"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.name"
>
<a-input
v-model:value=
"modelRef.name"
placeholder=
"请输入通道名称"
/>
<a-form-item
label=
"通道名称"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.name"
>
<a-input
v-model:value=
"modelRef.name"
placeholder=
"请输入通道名称"
/>
</a-form-item>
<a-form-item
label=
"uid:"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.uid"
>
<a-form-item
label=
"uid:"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.uid"
>
<a-input
v-model:value=
"modelRef.uid"
placeholder=
"请输入uid"
/>
</a-form-item>
<a-form-item
label=
"appid:"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.appid"
>
<a-form-item
label=
"appid:"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.appid"
>
<a-input
v-model:value=
"modelRef.appid"
placeholder=
"请输入appid"
/>
</a-form-item>
<a-form-item
label=
"Appkey:"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.Appkey"
>
<a-input
v-model:value=
"modelRef.Appkey"
placeholder=
"请输入Appkey"
/>
<a-form-item
label=
"privatekey:"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.privatekey"
>
<a-input
v-model:value=
"modelRef.privatekey"
placeholder=
"请输入privatekey"
/>
</a-form-item>
<a-form-item
label=
"Secretkey:"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.Secretkey"
>
<a-input
v-model:value=
"modelRef.Secretkey"
placeholder=
"请输入Secretkey"
/>
<a-form-item
label=
"alipaypublickey:"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.alipaypublickey"
>
<a-input
v-model:value=
"modelRef.alipaypublickey"
placeholder=
"请输入alipaypublickey"
/>
</a-form-item>
<a-form-item
>
<a-form-item
label=
"域名配置:"
has-feedback
labelAlign=
"left"
v-bind=
"validateInfos.serveUrl"
>
<a-input
v-model:value=
"modelRef.server_url"
placeholder=
"请输入域名配置"
/>
</a-form-item>
<a-form-item>
<a-button
type=
"primary"
@
click=
"onSubmit"
>
保存
</a-button>
</a-form-item>
</a-form>
</div>
</div>
<a-modal
v-model:visible=
"visible"
title=
"支付通道名称"
@
ok=
"handleOk"
:footer=
"null"
>
<a-form
:model=
"formState"
name=
"basic"
:label-col=
"{ span: 8 }"
:wrapper-col=
"{ span: 16 }"
autocomplete=
"off"
@
finish=
"onFinish"
@
finishFailed=
"onFinishFailed"
>
<a-form-item
label=
"支付通道名称"
name=
"username"
:rules=
"[{ required: true, message: 'Please input your username!' }]"
>
<a-modal
v-model:visible=
"visible"
title=
"支付通道名称"
@
ok=
"handleOk"
:footer=
"null"
>
<a-form
:model=
"formState"
name=
"basic"
:label-col=
"{ span: 8 }"
:wrapper-col=
"{ span: 16 }"
autocomplete=
"off"
@
finish=
"onFinish"
@
finishFailed=
"onFinishFailed"
>
<a-form-item
label=
"支付通道名称"
name=
"username"
:rules=
"[{ required: true, message: 'Please input your username!' }]"
>
<a-input
v-model:value=
"formState.username"
/>
</a-form-item>
<p
class=
"title"
>
建议用该微信商户号主体名称作为通道名称
</p>
...
...
@@ -100,25 +199,27 @@
</div>
</template>
<
script
lang=
"ts"
setup
>
import
{
defineExpose
,
ref
,
reactive
,
computed
,
toRaw
}
from
"vue"
;
import
{
defineExpose
,
ref
,
reactive
,
computed
,
toRaw
,
onMounted
}
from
"vue"
;
import
{
useRoute
}
from
"vue-router"
;
import
{
Form
}
from
'ant-design-vue'
;
import
{
Form
}
from
"ant-design-vue"
;
import
{
LeftOutlined
,
MenuUnfoldOutlined
,
DownOutlined
,
CheckCircleFilled
,
CloseCircleFilled
,
}
from
"@ant-design/icons-vue"
;
import
{
onZfbPay
,
onWxPay
,
onTest
}
from
'@/api/index'
import
{
message
}
from
'ant-design-vue'
;
import
{
onZfbPay
,
onWxPay
,
payConfigGetSearch
}
from
"@/api/index"
;
import
{
message
}
from
"ant-design-vue"
;
interface
FormState
{
username
:
s
tring
;
username
:
S
tring
;
}
interface
AppFormState
{
uid
:
string
;
appid
:
string
;
Appkey
:
string
;
Secretkey
:
string
;
name
:
string
;
uid
:
String
;
appid
:
String
;
privatekey
:
String
;
alipaypublickey
:
String
;
name
:
String
;
server_url
:
String
;
}
const
useForm
=
Form
.
useForm
;
const
columns
=
[
...
...
@@ -129,22 +230,22 @@ const columns = [
},
{
title
:
"微信"
,
dataIndex
:
"
age
"
,
key
:
"
age
"
,
dataIndex
:
"
wx
"
,
key
:
"
wx
"
,
},
{
title
:
"支付宝"
,
dataIndex
:
"
address
"
,
key
:
"
address
"
,
dataIndex
:
"
zfb
"
,
key
:
"
zfb
"
,
},
{
title
:
"状态"
,
key
:
"
tag
s"
,
dataIndex
:
"
tag
s"
,
key
:
"
statu
s"
,
dataIndex
:
"
statu
s"
,
},
{
title
:
"权重"
,
key
:
"
action
"
,
key
:
"
weight
"
,
},
{
title
:
"操作"
,
...
...
@@ -152,81 +253,69 @@ const columns = [
},
];
const
data
=
[
{
key
:
"1"
,
name
:
"John Brown"
,
age
:
32
,
address
:
"New York No. 1 Lake Park"
,
tags
:
[
"nice"
,
"developer"
],
},
{
key
:
"2"
,
name
:
"Jim Green"
,
age
:
42
,
address
:
"London No. 1 Lake Park"
,
tags
:
[
"loser"
],
},
{
key
:
"3"
,
name
:
"Joe Black"
,
age
:
32
,
address
:
"Sidney No. 1 Lake Park"
,
tags
:
[
"cool"
,
"teacher"
],
},
];
const
route
=
useRoute
()
const
list
=
ref
([]);
const
route
=
useRoute
();
const
query
=
computed
({
get
:
()
=>
{
return
route
.
query
return
route
.
query
;
},
set
:
()
=>
{
return
route
.
query
}
})
return
route
.
query
;
}
,
})
;
const
modelRef
=
reactive
<
AppFormState
>
({
Secret
key
:
""
,
App
key
:
""
,
alipaypublic
key
:
""
,
private
key
:
""
,
uid
:
""
,
appid
:
""
,
name
:
""
,
server_url
:
""
,
});
const
onChangeWeight
=
(
record
:
any
)
=>
{
console
.
log
(
record
,
'e'
);
}
const
rulesRef
=
reactive
({
Secret
key
:
[
alipaypublic
key
:
[
{
required
:
true
,
message
:
'请输入Secretkey'
,
message
:
"请输入Secretkey"
,
},
],
App
key
:
[
private
key
:
[
{
required
:
true
,
message
:
'请输入Appkey'
,
message
:
"请输入Appkey"
,
},
],
name
:
[
{
required
:
true
,
message
:
'请输入通道名称'
,
message
:
"请输入通道名称"
,
},
],
uid
:
[
{
required
:
true
,
message
:
'请输入uid'
,
message
:
"请输入uid"
,
},
],
appid
:
[
{
required
:
true
,
message
:
'请输入appid'
,
message
:
"请输入appid"
,
},
],
serveUrl
:
[
{
required
:
true
,
message
:
"请输入server_url"
,
},
],
});
const
{
resetFields
,
validate
,
validateInfos
}
=
useForm
(
modelRef
,
rulesRef
);
const
onSubmit
=
async
()
=>
{
const
onSubmit
=
async
()
=>
{
// const data ={
// a:'a',
// b:{
...
...
@@ -236,22 +325,26 @@ const onSubmit =async () => {
// }
// await onTest(JSON.stringify(data))
validate
()
.
then
(
async
()
=>
{
let
data
=
{
.
then
(
async
()
=>
{
let
data
=
{};
const
prarms
=
{
paytype
:
query
.
value
.
paytype
,
...
toRaw
(
modelRef
),
};
console
.
log
(
query
.
value
.
paytype
);
if
(
query
.
value
.
paytype
==
"1"
)
{
data
=
await
onWxPay
(
prarms
);
}
else
if
(
query
.
value
.
paytype
==
"2"
)
{
data
=
await
onZfbPay
(
prarms
);
}
if
(
query
.
value
.
mode
===
'zfb'
){
data
=
await
onZfbPay
(
toRaw
(
modelRef
))
}
else
if
(
query
.
value
.
mode
===
'wx'
){
data
=
await
onWxPay
(
toRaw
(
modelRef
))
}
if
(
data
.
state
===
1
){
message
.
success
(
data
.
message
,
10
,);
}
else
{
message
.
warning
(
data
.
message
,
10
,);
if
(
data
.
state
===
1
)
{
message
.
success
(
data
.
message
,
10
);
}
else
{
message
.
warning
(
data
.
message
,
10
);
}
})
.
catch
(
err
=>
{
console
.
log
(
'error'
,
err
);
.
catch
(
(
err
)
=>
{
console
.
log
(
"error"
,
err
);
});
};
const
visible
=
ref
<
boolean
>
(
false
);
...
...
@@ -275,15 +368,24 @@ const onFinishFailed = (errorInfo: any) => {
console
.
log
(
"Failed:"
,
errorInfo
);
};
const
onSetShowTable
=
()
=>
{
isShowTable
.
value
=
!
isShowTable
.
valu
e
;
isShowTable
.
value
=
fals
e
;
};
const
onCreatPay
=
async
(
data
:
Object
)
=>
{
if
(
query
.
value
.
mode
===
'zfb'
){
await
onZfbPay
(
data
)
}
const
onSetBackShowTable
=
()
=>
{
isShowTable
.
value
=
true
;
};
const
onDis
=
(
data
:
any
)
=>
{
console
.
log
(
data
,
'data'
);
}
onMounted
(
async
()
=>
{
const
data
:
any
=
await
payConfigGetSearch
(
1
);
list
.
value
=
data
.
data
.
alipay
;
console
.
log
(
list
,
"list"
);
return
list
;
});
defineExpose
({
data
,
list
,
columns
,
visible
,
showModal
,
...
...
@@ -298,7 +400,8 @@ defineExpose({
modelRef
,
onSubmit
,
query
,
onCreatPay
onChangeWeight
,
onDis
});
</
script
>
<
style
lang=
"less"
scoped
>
...
...
web-vue-admin/src/views/pay-config/compoents/header/index.vue
View file @
fd12b9a3
...
...
@@ -92,7 +92,7 @@ const onOpenInfo = (record:any, index:any, column:any) => {
path
:
'/home/paybind'
,
query
:{
isShow
:
1
,
mode
:
record
.
mod
e
paytype
:
record
.
paytyp
e
}
})
};
...
...
web-vue-admin/src/views/pay-config/index.vue
View file @
fd12b9a3
...
...
@@ -13,7 +13,7 @@
<ContentHeaders
v-if=
"ShowIcon.HeaderIcon"
:list=
"list"
></ContentHeaders>
</div>
</a-layout-content>
<a-layout-content
class=
"body-content"
>
<
!--
<
a-layout-content
class=
"body-content"
>
<div>
<div
class=
"header-title"
>
<span>
域名配置
</span
...
...
@@ -38,7 +38,7 @@
</div>
<ContentFooters
v-if=
"ShowIcon.FooterIcon"
></ContentFooters>
</div>
</a-layout-footer>
</a-layout-footer>
-->
</a-layout>
</
template
>
<
script
lang=
"ts"
setup
>
...
...
@@ -52,7 +52,7 @@ import { DownOutlined, UpOutlined } from "@ant-design/icons-vue";
BodyIcon
:
Boolean
;
FooterIcon
:
Boolean
;
}
let
list
=
ref
<
Object
>
([{
name
:
'1'
,
num
:
2
,
status
:
'0'
,
mode
:
'zfb'
},{
name
:
'2'
,
num
:
2
,
status
:
'1'
,
mode
:
'wx'
},{
name
:
'3'
,
num
:
2
,
status
:
'0'
,
mode
:
'jd'
},{
name
:
'4'
,
num
:
2
,
status
:
'0'
,
mode
:
'hb'
},{
name
:
'5'
,
num
:
2
,
status
:
'0'
,
mode
:
'yl
'
}])
let
list
=
ref
<
Object
>
([{
name
:
'1'
,
num
:
2
,
status
:
'0'
,
paytype
:
'2'
},{
name
:
'2'
,
num
:
2
,
status
:
'1'
,
paytype
:
'1'
},{
name
:
'3'
,
num
:
2
,
status
:
'0'
,
paytype
:
'3'
},{
name
:
'4'
,
num
:
2
,
status
:
'0'
,
paytype
:
'4'
},{
name
:
'5'
,
num
:
2
,
status
:
'0'
,
paytype
:
'5
'
}])
const
ShowIcon
=
reactive
<
ShowIcon
>
({
HeaderIcon
:
true
,
BodyIcon
:
true
,
...
...
web-vue-admin/src/views/pay-list/index.vue
View file @
fd12b9a3
<
template
>
<div>
支付链接
</div>
<div>
<div
style=
"display: flex;align-items: center;justify-content: space-between;"
>
<div>
<a-space
direction=
"vertical"
>
<a-select
v-model:value=
"value1"
:size=
"size"
style=
"width: 200px"
:options=
"options"
></a-select>
</a-space>
<a-input-search
v-model:value=
"value"
placeholder=
"input search text"
style=
"width: 200px"
@
search=
"onSearch"
/>
<a-space
direction=
"vertical"
>
<a-select
v-model:value=
"value1"
:size=
"size"
style=
"width: 200px"
:options=
"options"
></a-select>
</a-space>
</div>
<div>
<a-button
type=
"primary"
block
>
新建支付项
</a-button>
</div>
</div>
<div
style=
"margin-top: 10px;"
>
<a-table
:dataSource=
"dataSource"
:columns=
"columns"
/>
</div>
</div>
</
template
>
<
script
lang=
"ts"
setup
>
import
type
{
SelectProps
}
from
'ant-design-vue'
;
import
{
ref
,
defineExpose
}
from
'vue'
;
const
popupScroll
=
()
=>
{
console
.
log
(
'popupScroll'
);
};
const
value
=
ref
<
string
>
(
''
);
const
onSearch
=
(
searchValue
:
string
)
=>
{
console
.
log
(
'use value'
,
searchValue
);
console
.
log
(
'or use this.value'
,
value
.
value
);
};
const
options
=
[...
Array
(
25
)].
map
((
_
,
i
)
=>
({
value
:
(
i
+
10
).
toString
(
36
)
+
(
i
+
1
)
}))
const
dataSource
=
[
{
key
:
'1'
,
name
:
'胡彦斌'
,
age
:
32
,
address
:
'西湖区湖底公园1号'
,
},
{
key
:
'2'
,
name
:
'胡彦祖'
,
age
:
42
,
address
:
'西湖区湖底公园1号'
,
},
]
const
columns
=
[
{
title
:
'姓名'
,
dataIndex
:
'name'
,
key
:
'name'
,
},
{
title
:
'年龄'
,
dataIndex
:
'age'
,
key
:
'age'
,
},
{
title
:
'住址'
,
dataIndex
:
'address'
,
key
:
'address'
,
},
]
defineExpose
({
size
:
ref
<
SelectProps
[
'size'
]
>
(
'middle'
),
value1
:
ref
(
'a1'
),
options
,
value
,
onSearch
,
dataSource
,
columns
})
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
web-vue-admin/vue.config.js
View file @
fd12b9a3
...
...
@@ -28,7 +28,7 @@ module.exports = {
devServer
:
{
proxy
:
{
'/api'
:
{
target
:
'http://47.102.211.197:8092'
,
//请求对象
target
:
process
.
env
.
VUE_APP_BASE_URL
,
ws
:
true
,
//代理websocked
changeOrigin
:
true
,
secure
:
false
,
//target是否为https接口
...
...
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