feat: 开发环境跳转award携带dev参数

This commit is contained in:
2026-04-15 15:01:56 +08:00
parent 0985a004de
commit ce0f9f0bbf
2 changed files with 112 additions and 84 deletions

View File

@@ -1,22 +1,37 @@
<template> <template>
<div class="account_systemMessage"> <div class="account_systemMessage">
<div class="account_generalMessage_title modal_title_text"> <div class="account_generalMessage_title modal_title_text">
<!-- <span>系统消息</span> --> <!-- <span>系统消息</span> -->
<div class="account_generalMessage_title_setting" @click="allRead">{{$t('account.AllRead')}}</div> <div class="account_generalMessage_title_setting" @click="allRead">
{{ $t("account.AllRead") }}
</div>
</div> </div>
<div class="account_generalMessage_item modal_title_text" v-for="item in dataList" :key="item.id" @click="setRead(item)"> <div
class="account_generalMessage_item modal_title_text"
v-for="item in dataList"
:key="item.id"
@click="setRead(item)"
>
<a-badge :dot="item.isRead == 0"></a-badge> <a-badge :dot="item.isRead == 0"></a-badge>
<div class="account_generalMessage_item_title"> <div class="account_generalMessage_item_title">
<div class="account_generalMessage_item_title_text" :title="item.content">{{ item.content.title }}</div> <div class="account_generalMessage_item_title_text" :title="item.content">
{{ item.content.title }}
</div>
<div class="modal_title_text_intro">{{ item.createTime }}</div> <div class="modal_title_text_intro">{{ item.createTime }}</div>
</div> </div>
<div class="modal_title_text_intro"> <div class="modal_title_text_intro">
{{ item.content.content }} {{ item.content.content }}
<span v-if="item.content.link" class="account_generalMessage_item_link">{{ item.content.link }}</span> <span v-if="item.content.link" class="account_generalMessage_item_link">{{
item.content.link
}}</span>
</div> </div>
</div> </div>
<div class="account_generalMessage_item modal_title_text" style="display:flex;justify-content: center;" v-if="dataList.length == 0 && isNoData"> <div
{{$t('account.dataNull')}} class="account_generalMessage_item modal_title_text"
style="display: flex; justify-content: center"
v-if="dataList.length == 0 && isNoData"
>
{{ $t("account.dataNull") }}
</div> </div>
<div class="page_loading_box" v-show="!isNoData"> <div class="page_loading_box" v-show="!isNoData">
<span class="page_loading" ref="loadingDom" v-show="!isShowMark"></span> <span class="page_loading" ref="loadingDom" v-show="!isShowMark"></span>
@@ -24,126 +39,138 @@
<a-spin size="large" /> <a-spin size="large" />
</span> </span>
</div> </div>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent,computed,ref,reactive,nextTick,toRefs,createVNode, onMounted} from 'vue' import {
import { Https } from "@/tool/https"; defineComponent,
import { useRouter,useRoute } from 'vue-router' computed,
import { useStore } from "vuex"; ref,
import { useI18n } from 'vue-i18n' reactive,
import { isValidUrl } from '@/tool/util'; nextTick,
toRefs,
createVNode,
onMounted
} from "vue"
import { Https } from "@/tool/https"
import { useRouter, useRoute } from "vue-router"
import { useStore } from "vuex"
import { useI18n } from "vue-i18n"
import { isValidUrl } from "@/tool/util"
export default defineComponent({ export default defineComponent({
components:{ components: {},
},
// emits:['putListData'], // emits:['putListData'],
props:['setReadStatus','setAllmessage','getHistory'], props: ["setReadStatus", "setAllmessage", "getHistory"],
setup(prop,{emit}) { setup(prop, { emit }) {
const router = useRouter() const router = useRouter()
const store = useStore(); const store = useStore()
let accountMessage = reactive({ let accountMessage = reactive({
dataList: [], dataList: [],
page:1, page: 1,
size:10, size: 10,
isNoData: false, isNoData: false,
isShowMark: false, isShowMark: false
}) })
let loadingDom:any = ref(null) let loadingDom: any = ref(null)
let setmessageList = ()=>{ let setmessageList = () => {
accountMessage.isShowMark = true accountMessage.isShowMark = true
let data = { let data = {
page: accountMessage.page, page: accountMessage.page,
size: accountMessage.size, size: accountMessage.size
} }
prop.getHistory(data).then((rv:any)=>{ prop.getHistory(data)
accountMessage.isShowMark = false .then((rv: any) => {
accountMessage.isShowMark = false
if(rv.content.length == 0) {
if (rv.content.length == 0) {
accountMessage.isNoData = true
} else {
rv.content.forEach((item: any) => {
item.content = JSON.parse(item.content)
})
accountMessage.dataList.push(...rv.content)
}
})
.catch(() => {
accountMessage.isShowMark = false
accountMessage.isNoData = true accountMessage.isNoData = true
}else{ })
rv.content.forEach((item:any) => {
item.content = JSON.parse(item.content)
});
accountMessage.dataList.push(...rv.content)
}
}).catch(() => {
accountMessage.isShowMark = false
accountMessage.isNoData = true
})
} }
let setRead = (item: any) => { let setRead = (item: any) => {
const content = item.content.content let content = item.content.content
if (isValidUrl(content)) { if (isValidUrl(content)) {
window.open(content, '_blank'); if (import.meta.env.VITE_APP_BASE_URL === "https://develop.api.aida.com.hk") {
content += "&env=dev"
} }
window.open(content, "_blank")
prop.setReadStatus(item).then((rv:any)=>{ }
item.isRead = 1
}).catch((err:any)=>{ prop.setReadStatus(item)
}) .then((rv: any) => {
}
let allRead = ()=>{
// emit('setAllmessage')
prop.setAllmessage().then(()=>{
accountMessage.dataList.forEach((item:any)=>{
item.isRead = 1 item.isRead = 1
}) })
}).catch((err:any)=>{ .catch((err: any) => {})
}) }
let allRead = () => {
// emit('setAllmessage')
prop.setAllmessage()
.then(() => {
accountMessage.dataList.forEach((item: any) => {
item.isRead = 1
})
})
.catch((err: any) => {})
} }
// provide('exhibitionList',exhibitionList) // provide('exhibitionList',exhibitionList)
onMounted (()=>{ onMounted(() => {
accountMessage.isNoData = false accountMessage.isNoData = false
accountMessage.page = 0 accountMessage.page = 0
let imgParent:any = document.querySelector('.account_systemMessage .page_loading') let imgParent: any = document.querySelector(".account_systemMessage .page_loading")
new IntersectionObserver( new IntersectionObserver(
(entries, observer) => { (entries, observer) => {
// 如果不是相交,则直接返回 // 如果不是相交,则直接返回
// console.log(entries[0]); // console.log(entries[0]);
if (!entries[0].intersectionRatio) return; if (!entries[0].intersectionRatio) return
accountMessage.page+=1 accountMessage.page += 1
setmessageList() setmessageList()
}, }
// { root:worksPage } // { root:worksPage }
).observe(loadingDom.value); ).observe(loadingDom.value)
}) })
return{ return {
...toRefs(accountMessage), ...toRefs(accountMessage),
setmessageList, setmessageList,
setRead, setRead,
allRead, allRead,
loadingDom, loadingDom
} }
}, },
data(){ data() {
return{ return {}
}
}
},
}) })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.account_systemMessage{ .account_systemMessage {
width: 100%; width: 100%;
.account_generalMessage_item{ .account_generalMessage_item {
font-size: var(--aida-fsize1-6); font-size: var(--aida-fsize1-6);
.account_generalMessage_item_title{ .account_generalMessage_item_title {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 2rem; margin-bottom: 2rem;
.account_generalMessage_item_title_text{ .account_generalMessage_item_title_text {
max-width: 80%; max-width: 80%;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.modal_title_text_intro{ .modal_title_text_intro {
margin-left: 4rem; margin-left: 4rem;
} }
} }
} }
.modal_title_text_intro{ .modal_title_text_intro {
word-break: break-word; word-break: break-word;
white-space: pre-wrap; white-space: pre-wrap;
font-family: Arial, sans-serif; font-family: Arial, sans-serif;

View File

@@ -123,8 +123,9 @@ export default defineComponent({
let language = locale.value === "ENGLISH" ? "en" : "zh" let language = locale.value === "ENGLISH" ? "en" : "zh"
let url = `https://aida-global-design-awards.com.hk/${language}` let url = `https://aida-global-design-awards.com.hk/${language}`
// 如果是dev环境把域名换成http://192.168.31.198 // 如果是dev环境把域名换成http://192.168.31.198
if (process.env.NODE_ENV === "development") {
url = `http://192.168.31.198:8088/${language}` if (import.meta.env.VITE_APP_BASE_URL === "https://develop.api.aida.com.hk") {
url += "&env=dev"
} }
window.open(url, "_blank") window.open(url, "_blank")