From 64cce677c4de4c65e7a670f494e73deac66e7414 Mon Sep 17 00:00:00 2001 From: 10086 <845831435@qq.com> Date: Tue, 8 Oct 2024 17:51:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20sig=20=E8=AF=A6=E6=83=85=E9=A1=B5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8F=82=E6=95=B0=E6=94=B9=E4=B8=BA=20params?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/.vitepress/config.ts | 1 + app/.vitepress/src/components/AppHeader.vue | 7 +++ .../src/views/sig/sig-detail/SigMeeting.vue | 3 +- .../src/views/sig/sig-detail/TheSigDetail.vue | 56 +++++++------------ .../src/views/sig/sig-list/SigList.vue | 3 +- app/zh/sig/[sig].md | 8 +++ app/zh/sig/[sig].paths.ts | 16 ++++++ 7 files changed, 56 insertions(+), 38 deletions(-) create mode 100644 app/zh/sig/[sig].md create mode 100644 app/zh/sig/[sig].paths.ts diff --git a/app/.vitepress/config.ts b/app/.vitepress/config.ts index ec0438390..5784196d3 100644 --- a/app/.vitepress/config.ts +++ b/app/.vitepress/config.ts @@ -122,6 +122,7 @@ const config: UserConfig = { }); }, }, + cleanUrls: true, themeConfig: { // locales: { // '/': i18n.zh, diff --git a/app/.vitepress/src/components/AppHeader.vue b/app/.vitepress/src/components/AppHeader.vue index 9cbc81b18..236af5481 100644 --- a/app/.vitepress/src/components/AppHeader.vue +++ b/app/.vitepress/src/components/AppHeader.vue @@ -114,8 +114,14 @@ watch( ); const toBody = ref(false); +// ---------------- 防止logo 刷新闪烁 ------------------- +const logoVisible = ref(false); onMounted(() => { toBody.value = true; + // 设置0.5秒后显示元素 + setTimeout(() => { + logoVisible.value = true; + }, 500); }); onUnmounted(() => { toBody.value = false; @@ -240,6 +246,7 @@ const navItemClick = () => { } } .logo { + visibility: hidden; height: 32px; cursor: pointer; margin-right: var(--e-spacing-h4); diff --git a/app/.vitepress/src/views/sig/sig-detail/SigMeeting.vue b/app/.vitepress/src/views/sig/sig-detail/SigMeeting.vue index f1243172a..a3d30e326 100644 --- a/app/.vitepress/src/views/sig/sig-detail/SigMeeting.vue +++ b/app/.vitepress/src/views/sig/sig-detail/SigMeeting.vue @@ -36,9 +36,10 @@ const props = defineProps({ }, mail: { type: String, - default: '', + default: 'dev@openeuler.org', }, }); + const commonStore = useCommon(); let currentMeet = reactive({ date: '', diff --git a/app/.vitepress/src/views/sig/sig-detail/TheSigDetail.vue b/app/.vitepress/src/views/sig/sig-detail/TheSigDetail.vue index 537ece534..160dfbe10 100644 --- a/app/.vitepress/src/views/sig/sig-detail/TheSigDetail.vue +++ b/app/.vitepress/src/views/sig/sig-detail/TheSigDetail.vue @@ -26,7 +26,7 @@ import { } from '@/api/api-sig'; const router = useRouter(); -const { lang } = useData(); +const { lang, params } = useData(); const i18n = useI18n(); const screenWidth = useWindowResize(); const isIphone = computed(() => { @@ -37,7 +37,10 @@ const paginLayout = computed(() => ? 'prev, slot, jumper, next' : 'sizes, prev, pager, next, slot, jumper' ); -const sigDetailName = ref(''); + +const sigName = computed(() => { + return params.value?.sig || ''; +}); const sigDetail = computed(() => { return i18n.value.sig.SIG_DETAIL; }); @@ -45,13 +48,13 @@ const mail = ref(''); const sigMeetingData: any = ref(''); const sigMemberData: any = ref(''); const memberList: any = ref([]); -const params = reactive({ +const pageParams = reactive({ size: 50, page: 1, }); function getSigDetails() { - getSigDetail(sigDetailName.value, params) + getSigDetail(sigName.value, pageParams) .then((res: any) => { sigMeetingData.value = res.data; }) @@ -63,7 +66,7 @@ function getSigDetails() { function getSigMembers() { const param = { community: 'openeuler', - sig: sigDetailName.value, + sig: sigName.value, }; getSigMember(param).then((res: any) => { if (res?.data[0]) { @@ -123,7 +126,7 @@ const repositoryList = computed(() => { const getRepositoryList = () => { const param = { community: 'openeuler', - sig: sigDetailName.value, + sig: sigName.value, }; getSigRepositoryList(param).then((data) => { if (data.code === 200) { @@ -150,23 +153,6 @@ function setDefaultImage(e: any) { } } onMounted(() => { - function getUrlParam(paraName: any) { - const searchArray = location.search.split('?'); - if (searchArray.length > 1) { - const arrPara = searchArray[1].split('&'); - let arr; - for (let i = 0; i < arrPara.length; i++) { - arr = arrPara[i].split('='); - if (arr !== null && arr[0] === paraName) { - return arr[1]; - } - } - return ''; - } else { - return ''; - } - } - sigDetailName.value = getUrlParam('name'); getSigDetails(); getSigMembers(); getRepositoryList(); @@ -207,22 +193,22 @@ onUpdated(() => { } }); // 获取easyeditor编辑发布的信息 -const href = `https://www.openeuler.org/${lang.value}/sig/sig-detail/?name=`; +const href = `https://www.openeuler.org/${lang.value}/sig/sig-detail/?name=${sigName.value}`; const easyeditorInfo: any = ref({}); function getEasyeditorInfo() { - getSigDetailInfo(href + sigDetailName.value) - .then((res) => { - if (res.statusCode === 200 && res.data?.length) { - res.data.forEach((item: EasyeditorInfoDataItemT) => { - easyeditorInfo.value[item.name] = item; - }); - } - }) - .catch((error) => { - throw new Error(error); - }); + getSigDetailInfo(href).then((res) => { + if (res.statusCode === 200 && res.data?.length) { + res.data.forEach((item: EasyeditorInfoDataItemT) => { + easyeditorInfo.value[item.name] = item; + }); + } + }); } onMounted(() => { + const path = window.location.pathname; + if (path.at(-1) !== '/') { + history.replaceState(null, '', window.location.pathname + '/'); + } getEasyeditorInfo(); }); // 转换md语法 diff --git a/app/.vitepress/src/views/sig/sig-list/SigList.vue b/app/.vitepress/src/views/sig/sig-list/SigList.vue index 5fc643a80..23e152a73 100644 --- a/app/.vitepress/src/views/sig/sig-list/SigList.vue +++ b/app/.vitepress/src/views/sig/sig-list/SigList.vue @@ -338,11 +338,10 @@ onMounted(() => {