ca975928 by 华明祺

Merge branch '世锦赛' of https://code.itechtop.cn/yangyang/dance-pc into 世锦赛

# Conflicts:
#	src/viewsPc/components/homeQuick.vue
2 parents 508b1a6c 45db652c
......@@ -6,23 +6,23 @@
</div>
<div class="box">
<div class="searchBar">
<el-input :placeholder="language==0?'请输入关键字搜索':'Search'" v-model="query.name" class="no-border">
<el-input v-model="query.name" :placeholder="language==0?'请输入关键字搜索':'Search'" class="no-border">
</el-input>
<el-button size="large" type="primary" class="btn-lineG" icon="search" @click="getList">
<el-button class="btn-lineG" icon="search" size="large" type="primary" @click="getList">
{{ language == 0 ? '搜索' : 'Search' }}
</el-button>
</div>
</div>
<div class="box" v-loading="loading">
<div v-loading="loading" class="box">
<el-row :gutter="20">
<el-col :lg="24" :md="24" :sm="24" :xs="24" :xl="24" v-for="(h,index) in list" class="mb20">
<el-col v-for="(h,index) in list" :lg="24" :md="24" :sm="24" :xl="24" :xs="24" class="mb20">
<el-card @click="goDetail(h)">
<!-- 酒店列表-->
<el-row class="hotel" align="middle" :gutter="20">
<el-row :gutter="20" align="middle" class="hotel">
<el-col :lg="6" :md="6">
<div class="imgbox">
<img class="w100" :src="fillImgUrl(h.photos?.split(',')[0])"/>
<img :src="fillImgUrl(h.photos?.split(',')[0])" class="w100"/>
</div>
</el-col>
<el-col :lg="12" :md="12">
......@@ -35,7 +35,7 @@
<a v-show="h.label?.split(',').length>4">{{ language == 0 ? '更多' : 'MORE' }} ></a>
</div>
<p class="esp addr mt20">
<el-icon size="16" style="position: relative;top: 2px" color="#929AA0">
<el-icon color="#929AA0" size="16" style="position: relative;top: 2px">
<LocationFilled/>
</el-icon>
{{ h.address }}
......@@ -55,7 +55,7 @@
<el-empty v-show="!loading&&list.length==0" :image="`/img/order_no.png`" :image-size="228" description=""/>
<div style="height: 50px"></div>
</div>
</div>
</template>
......@@ -74,7 +74,7 @@ const route = useRoute()
const useStore = useUserStore()
const user = useStore.user
const flag = useRouteQuery('flag')
// const flag = useRouteQuery('flag')
const language = useStorage('language', 0)
const query = ref({
......@@ -90,13 +90,11 @@ onMounted(() => {
function getList() {
loading.value = true
booking.getHotelList(Object.assign({
meeting: flag.value,
},query.value)).then(res => {
booking.getHotelList(Object.assign({}, query.value)).then(res => {
list.value = res.rows
loading.value = false
console.log(list.value)
}).catch(e => {
loading.value = false
})
......@@ -107,73 +105,84 @@ function goDetail(item) {
useStore.setVisitor()
return
}
if (item.meeting == '1') {
ElMessageBox.confirm(item.meetText, '', {
cancelButtonText: language.value == 1 ? 'Close ' : '关闭',
confirmButtonText: language.value == 1 ? 'Continue to book' : '继续预订',
dangerouslyUseHTMLString: true,
type: 'warning',
}).then((res) => {
router.push({
name: 'hotelDetail',
params: {
hotelId: item.hotelId,
},
query: {
id: item.id
}
})
})
} else {
router.push({
name: 'hotelDetail',
params: {
hotelId: item.hotelId,
},
query: {
id: item.id
}
})
}
router.push({
name: 'hotelDetail',
params: {
hotelId: item.hotelId,
},
query: {
id: item.id
}
})
// if (item.meeting == '1') {
// ElMessageBox.confirm(item.meetText, '', {
// cancelButtonText: language.value == 1 ? 'Close ' : '关闭',
// confirmButtonText: language.value == 1 ? 'Continue to book' : '继续预订',
// dangerouslyUseHTMLString: true,
// type: 'warning',
// }).then((res) => {
// router.push({
// name: 'hotelDetail',
// params: {
// hotelId: item.hotelId,
// },
// query: {
// id: item.id
// }
// })
// })
// } else {
// router.push({
// name: 'hotelDetail',
// params: {
// hotelId: item.hotelId,
// },
// query: {
// id: item.id
// }
// })
// }
}
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
.hotel {
h3 {
margin: 0 0 10px;
}
img.w100 {
object-fit: cover;
aspect-ratio: 16/9
}
.addr {
font-size: 14px;
color: #929AA0;
font-weight: 400;
margin: 0 0 10px;
}
.price {
margin: 0 0 8px;
color: #FF8124;
font-size: 18px;
span {
font-size: 36px;
margin: 0 8px;
font-family: 'DINAlternate-Bold';
font-weight: 600;
}
i {
font-style: normal;
color: #929AA0;
}
}
.blackBtn {
background: #000;
border: #000;
......@@ -188,7 +197,7 @@ function goDetail(item) {
display: flex;
align-items: center;
justify-content: center;
img {
display: block;
margin: -30px auto 0;
......@@ -208,7 +217,7 @@ function goDetail(item) {
.no-border {
border: none;
background: #F5F7F9;
:deep(.el-input__wrapper) {
border: none;
box-shadow: none;
......@@ -220,12 +229,12 @@ function goDetail(item) {
width: 100%;
height: 100%;
position: relative;
img {
width: 100%;
height: 100%;
}
.starBox {
position: absolute;
bottom: 0;
......@@ -240,7 +249,7 @@ function goDetail(item) {
.starBox {
border-radius: 14px 0 0 0;
img {
display: inline-block;
margin-right: 4px;
......@@ -250,12 +259,12 @@ function goDetail(item) {
.tagbox {
margin: 10px 0;
a {
color: #AFB5B9;
font-size: 12px;
}
span {
border-radius: 13px;
font-size: 12px;
......@@ -263,22 +272,22 @@ function goDetail(item) {
margin-right: 10px;
font-weight: 400;
}
span:nth-child(4n) {
background: rgba(50, 177, 108, 0.2);
color: rgba(50, 177, 108, 1);
}
span:nth-child(4n+1) {
background: rgba(243, 152, 0, 0.2);
color: rgba(243, 152, 0, 1);
}
span:nth-child(4n+2) {
background: rgba(0, 160, 233, 0.2);
color: rgba(0, 160, 233, 1);
}
span:nth-child(4n+3) {
background: rgba(247, 64, 166, 0.2);
color: rgba(247, 64, 166, 1);
......
<template>
<div class="itemBox" v-if="language === 0">
<div v-if="language === 0" class="itemBox">
<el-row :gutter="20">
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(0)"><img src="@/assets/dance/btn01.png">签证服务</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(1)"><img src="@/assets/dance/btn02.png">酒店预订</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(2)"><img src="@/assets/dance/btn03.png">接送服务</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(10)"><img src="@/assets/dance/btn04.png">票务服务</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">媒体注册</div>
</el-col>
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
......@@ -24,27 +24,27 @@
<!-- </el-col>-->
</el-row>
</div>
<div class="itemBox_en" v-else>
<div v-else class="itemBox_en">
<el-row :gutter="20" justify="space-around">
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(0)"><img src="@/assets/dance/btn01.png">Visa Services</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(1)"><img src="@/assets/dance/btn02.png">HOTEL RESERVATION</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(2)"><img src="@/assets/dance/btn03.png">TRANSPORTATION RESERVATION</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(10)"><img src="@/assets/dance/btn04.png">TICKET SERVICES</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">Media Registration</div>
</el-col>
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
<!-- <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">Around Activity</div>-->
<!-- </el-col>-->
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
<!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">live streaming</div>-->
<!-- </el-col>-->
......@@ -100,7 +100,7 @@ watch(matchId, (val) => {
console.log(err)
form.value = null
})
match.getInfoByCptId({cptId: props.matchId}).then((res) => {
liveData.value = res.data || {}
})
......@@ -109,9 +109,9 @@ watch(matchId, (val) => {
const liveClick = () => {
if (liveData.value.videoStatus == "1") {
if (language.value == 0) {
window.open(liveData.value.videoUrlCn)
} else {
window.open(liveData.value.videoUrlEn)
......@@ -135,7 +135,7 @@ onMounted(() => {
function building() {
ElMessage.warning(language.value == 0 ? '感谢您对本次比赛的关注,该服务暂无可预订信息,敬请期待。' : 'Thank you for your attention to this competition. The service is currently unavailable for booking. Please stay tuned.')
return
}
function applyInvitation() {
......@@ -149,9 +149,12 @@ function applyInvitation() {
const user = useUserStore().user
function goMedia() {
proxy.$modal.msgWarning(language.value == 0 ? '暂未开放' : 'Not yet open')
return;
// proxy.$modal.msgWarning(language.value == 0 ? '暂未开放' : 'Not yet open')
// return;
if (form.value.isMedia == 0) {
building()
return
}
//如果没登录
if (!user) {
ElMessage({
......@@ -160,7 +163,7 @@ function goMedia() {
})
return
}
proxy.$refs['mediaRegisterRef'].open({cptId: matchId.value})
}
......@@ -169,15 +172,20 @@ function popRemark(type) {
building()
return
}
if (type == '0') {
ElMessage.warning('The visa invitation letter application will be available soon. Thank you for your patience.')
return;
// ElMessage.warning('The visa invitation letter application will be available soon. Thank you for your patience.')
// return;
// 签证
if (language.value === 0) {
if (language.value == 0) {
ElMessage.warning('请切换英文页面办理')
return
} else {
if (form.value.isVisa == 0) {
building()
return
}
if (!user) {
ElMessage({
type: 'warning',
......@@ -185,34 +193,29 @@ function popRemark(type) {
})
return
}
applyInvitation()
return
}
}
if (type == '1') {
proxy.$modal.msgWarning(language.value == 0 ? '暂未开放' : 'Not yet open')
return;
}
if ((form.value.isJdView == 0 && type == '1')
|| (form.value.isCarView == 0 && type == '2')
|| (form.value.isFoodView == 0 && type == '3')
|| (form.value.isMealView == 0 && type == '4')
|| (form.value.isPhotoView == 0 && type == '5')
|| (form.value.isTicketView == 0 && type == '10')
|| (form.value.isCarView == 0 && type == '2')
|| (form.value.isFoodView == 0 && type == '3')
|| (form.value.isMealView == 0 && type == '4')
|| (form.value.isPhotoView == 0 && type == '5')
|| (form.value.isTicketView == 0 && type == '10')
) {
building()
return
}
if (type == '2') {
emit("pickUp")
return;
}
const params = {
matchId: props.matchId,
title: language.value == 0 ? '预订说明' : 'Booking Instructions',
......@@ -220,13 +223,15 @@ function popRemark(type) {
cptName: props.cptName
}
proxy.$refs['orderRemarkRef'].open(params)
// goBooking(type)
}
function goBooking(n, f) {
switch (n) {
case 10:
// 票务
// router.push({
// path: `/booking/ticket/${props.matchId}`,
// params: {id:props.matchId},
......@@ -235,7 +240,10 @@ function goBooking(n, f) {
break;
case 1:
//酒店
router.push({path: `/booking/hotel/${props.matchId}`, query: {flag: f}})
router.push({
path: `/booking/hotel/${props.matchId}`
// , query: {flag: f}
})
break;
case 2:
//车辆
......@@ -257,7 +265,7 @@ function goBooking(n, f) {
}
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
.itemBox, .itemBox_en {
padding: 20px;
background: #fff;
......@@ -281,7 +289,7 @@ function goBooking(n, f) {
background-size: 100% 100%;
border-radius: 15px;
gap: 10px;
img {
object-fit: contain;
width: 75px;
......@@ -294,19 +302,19 @@ function goBooking(n, f) {
text-align: center;
text-transform: uppercase;
height: 100%;
img {
position: relative;
transition: all 0.2s;
}
&:hover {
box-shadow: 0 0 10px #eee;
img {
transform: rotateY(180deg);
}
p {
color: #000;
}
......@@ -322,7 +330,7 @@ function goBooking(n, f) {
height: auto !important;
padding: 15px 0;
margin: 10px 0;
img {
width: 50px;
height: 50px
......
<template>
<el-dialog :title="title" v-model="show" @close="close">
<div>
<h2 class="text-warning text-center" v-if="cptName">{{cptName}}</h2>
<div v-if="type==1" class="plr20" v-html="form.reserveDes"></div>
<div v-if="type==2" class="plr20" v-html="form.reserveDesCar"></div>
<div v-if="type==3" class="plr20" v-html="form.reserveDesFood"></div>
<div v-if="type==4" class="plr20" v-html="form.reserveDesMeal"></div>
<div v-if="type==5" class="plr20" v-html="form.reserveDesPhoto"></div>
<div v-if="type==10" class="plr20" v-html="form.reserveDesTitck"></div>
<el-row v-if="type==1" justify="center">
<el-radio-group v-model="hotelType">
<el-radio label="0">{{language==0?'运动队酒店':'Team Hotel Reservation'}}</el-radio>
<el-radio label="1">{{language==0?'执委大会酒店':'Conference Hotel Reservation'}}</el-radio>
</el-radio-group>
</el-row>
</div>
<template #footer>
<div class="dialog-footer text-center">
<el-button type="primary" class="btn-lineG w200px" round @click="ok">{{language==0?'确定':'Confirm'}}</el-button>
</div>
</template>
</el-dialog>
<el-dialog v-model="show" :title="title" @close="close">
<div>
<h2 v-if="cptName" class="text-warning text-center">{{ cptName }}</h2>
<div v-if="type==1" class="plr20" v-html="form.reserveDes"></div>
<div v-if="type==2" class="plr20" v-html="form.reserveDesCar"></div>
<div v-if="type==3" class="plr20" v-html="form.reserveDesFood"></div>
<div v-if="type==4" class="plr20" v-html="form.reserveDesMeal"></div>
<div v-if="type==5" class="plr20" v-html="form.reserveDesPhoto"></div>
<div v-if="type==10" class="plr20" v-html="form.reserveDesTitck"></div>
<!-- <el-row v-if="type==1" justify="center">-->
<!-- <el-radio-group v-model="hotelType">-->
<!-- <el-radio label="0">{{language==0?'运动队酒店':'Team Hotel Reservation'}}</el-radio>-->
<!-- <el-radio label="1">{{language==0?'执委大会酒店':'Conference Hotel Reservation'}}</el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-row>-->
</div>
<template #footer>
<div class="dialog-footer text-center">
<el-button class="btn-lineG w200px" round type="primary" @click="ok">{{ language == 0 ? '确定' : 'Confirm' }}
</el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
import {getBaseInfoByActiveId} from "@/apiPc/booking";
import {getCurrentInstance} from "@vue/runtime-core";
import {useStorage} from "@vueuse/core/index";
const emit = defineEmits([ 'submit'])
const emit = defineEmits(['submit'])
const {proxy} = getCurrentInstance()
const language= useStorage('language',0)
const language = useStorage('language', 0)
import useUserStore from "@/store/modules/user";
const user = useUserStore().user
const title = ref('')
const cptName = ref('')
const show = ref(false)
const form = ref({})
const hotelType= ref('1')
const hotelType = ref('1')
let matchId = ''
let type = ''
......@@ -58,28 +61,30 @@ defineExpose({
function getData() {
console.log(matchId)
getBaseInfoByActiveId(matchId).then(res=>{
getBaseInfoByActiveId(matchId).then(res => {
form.value = res.data || {}
console.log(form.value)
}).catch(err=>{
}).catch(err => {
console.log(err)
})
}
function close() {
show.value = false
}
function ok() {
// type
show.value = false
// if(!user){
// useUserStore().setVisitor()
// } else {
emit('submit', type, hotelType.value)
emit('submit', type, hotelType.value)
// }
}
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
</style>
......
......@@ -9,7 +9,7 @@
<div v-if="isLogin">
<group-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/>
<coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/>
<div v-if="user.utype=='1'&&myMemberTable.length>0" class="pd20">
<div class="leftboderTT">{{ language == 0 ? '随行人员清单' : 'List of accompanying personnel' }}
</div>
......@@ -75,7 +75,7 @@
</el-icon>
{{ language == 0 ? '导出设项报名清单' : 'Export LIST OF REGISTERED COMPETITIONS' }}
</el-link>
<el-link type="primary" @click="exportPdf">
<el-icon>
<Upload/>
......@@ -105,7 +105,7 @@
</el-button>
</div>
</el-card>
<el-card class="mt20 mb20">
<el-row class="result">
<el-col :lg="12">
......@@ -227,7 +227,7 @@
</svg>
</el-radio>
</el-radio-group>
<div v-if="payType == '2'&&wePayCodeUrl">
<div class="payImgbox flexCenter">
<div>
......@@ -249,9 +249,10 @@
please refresh the page
</div>
</div>
<div v-if="payType == '3'">
<table cellpadding="0" cellspacing="0" class="table-border table">
<tbody>
<tr>
<th class="head" colspan="2">
{{ language == 0 ? '线下缴费的收款信息' : 'Offline Payment Collection Information' }}
......@@ -313,8 +314,8 @@
<span v-else class="text-danger size12">*You can confirm with the contact person by phone after uploading the remittance form. The specific payment results can be viewed in the My Registration section of the personal center to check the progress</span>
</td>
</tr>
</tbody>
</table>
<div class="text-center">
<el-button class="btn-lineG w200px" round type="primary" @click="upRR">{{
language == 0 ? '保存' : 'Save'
......@@ -336,7 +337,7 @@
</el-icon>
<p class="text-success">{{ language == 0 ? '支付成功' : 'successful!' }}</p>
<h3 class="wePrice">{{ language == 0 ? '¥' : '$' }}{{ form.totalFee || 0 }}</h3>
<el-button v-if="language != 0" class="btn-lineG w200px" round type="primary" @click="downInvoice">
{{ language == 0 ? '下载收据' : 'DownLoad Invoice' }}
</el-button>
......@@ -357,7 +358,7 @@
</div>
</el-card>
</div>
<div v-if="errorBox" class="box">
<el-result
:sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'"
......@@ -371,7 +372,7 @@
</template>
</el-result>
</div>
<el-dialog v-model="showSJDialog" :close-on-click-modal="false" :close-on-press-escape="false"
:title="language==0?'开收据':'Issue a receipt'" width="460px">
<div class="flex">
......@@ -389,7 +390,7 @@
</div>
</div>
</el-dialog>
</div>
</template>
......@@ -460,7 +461,7 @@ onMounted(() => {
}
var is_mobile = navigator.userAgent.toLowerCase().match(/(ipod|ipad|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null;
console.log(is_mobile)
if (is_mobile) {
isphone.value = true
} else {
......@@ -524,7 +525,7 @@ function getSignList() {
}).catch(err => {
if (isLogin.value) {
router.push({name: 'myMatch'})
}
})
}
......@@ -617,7 +618,7 @@ function exportSignList(n) {
...obj
}, `${fileName}_${new Date().getTime()}.xlsx`)
}
}
function exportPdf() {
......@@ -637,7 +638,7 @@ function exportPdf() {
...obj
}, `${fileName}_${new Date().getTime()}.pdf`)
}
}
function copy(str) {
......@@ -747,27 +748,27 @@ const showSJ = () => {
width: 100%;
max-width: 1000px;
margin: 20px auto;
.head {
background: #EFF2F7;
height: 50px;
font-size: 16px;
font-weight: 400;
}
th {
background: #FAFBFD;
font-size: 14px;
border-bottom: 1px solid #E5E5E5;
border-right: 1px solid #E5E5E5;
}
td {
border-bottom: 1px solid #E5E5E5;
border-right: 1px solid #E5E5E5;
padding: 10px;
}
&.table-border {
border-top: 1px solid #E5E5E5;
border-left: 1px solid #E5E5E5;
......@@ -786,23 +787,23 @@ const showSJ = () => {
.result {
font-size: 22px;
.flex {
display: flex;
align-items: center;
font-weight: 500;
img {
margin-right: 10px
}
}
.priceb {
color: #7B7F83;
font-size: 16px;
text-align: right;
line-height: 50px;
span {
font-weight: bold;
font-size: 22px;
......@@ -815,7 +816,7 @@ const showSJ = () => {
.skeletonBox {
position: relative;
overflow: hidden;
.btn-lineG {
position: absolute;
left: 0;
......@@ -825,7 +826,7 @@ const showSJ = () => {
bottom: 0;
width: 200px;
box-shadow: 0 0 1000px 500px rgba(255, 255, 255, 0.5);
}
}
......@@ -837,26 +838,26 @@ const showSJ = () => {
.priceBar {
padding: 0 0 20px;
.flex {
display: flex;
justify-content: right;
align-items: baseline;
.item {
font-size: 16px;
margin-right: 15px;
label {
color: #95A1A6;
}
span {
font-family: DIN Alternate;
}
}
}
.size26 {
font-size: 26px;
}
......
import { defineConfig, loadEnv } from 'vite'
import path, { resolve } from 'path'
import {defineConfig, loadEnv} from 'vite'
import path, {resolve} from 'path'
import createVitePlugins from './vite/plugins'
import inject from '@rollup/plugin-inject'
import commonjs from '@rollup/plugin-commonjs'
// import legacy from '@vitejs/plugin-legacy'
// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {
export default defineConfig(({mode, command}) => {
const env = loadEnv(mode, process.cwd())
return {
// 部署生产环境和开发环境下的URL。
......@@ -76,24 +76,24 @@ export default defineConfig(({ mode, command }) => {
rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
},
'/dev-api/ztx-webSite': {
target: 'http://192.168.1.118:8082/',
// target: 'https://ces.2025wtcwuxi.com/stage-api/',
// target: 'http://192.168.1.118:8082/',
target: 'https://ces.2025wtcwuxi.com/stage-api/',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
},
'/dev-api': {
target: 'http://192.168.1.118:8082/',
// target: 'http://192.168.1.118:8082/',
// target: 'http://192.168.1.131:8081/',
// target: 'https://ces.2025wtcwuxi.com/stage-api/',
// target: 'http://124.70.181.90:1880/stage-api',
// target: 'https://wdsfwuxicenter.com/stage-api/',
target: 'https://sys.2025wtcwuxi.com/stage-api/',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')
},
'/ticket': {
// target: 'http://192.168.1.131:8098/',
// target: 'http://192.168.1.131:8081/',
target: 'https://jijin.wtwuxicenter.com/h5/',
target: 'http://36.153.235.222:8899/',
// target: 'https://jijin.wtwuxicenter.com/h5/',
// target: 'https://ticketh5.wdsfwuxicenter.com/h5/',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/ticket/, '')
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!