111
This commit is contained in:
@@ -1,13 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="section-footer">
|
<section class="section-footer">
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<div class="left">
|
<div class="left" v-show="!isHome">
|
||||||
<div @click="skip('about')">{{ $t('footer.About') }}</div>
|
<div @click="skip('about')">{{ $t('footer.About') }}</div>
|
||||||
<div @click="skip('privacy-policy')">{{ $t('footer.PrivacyPolicy') }}</div>
|
<div @click="skip('privacy-policy')">{{ $t('footer.PrivacyPolicy') }}</div>
|
||||||
<div @click="skip('terms-of-use')">{{ $t('footer.TermsOfUse') }}</div>
|
<div @click="skip('terms-of-use')">{{ $t('footer.TermsOfUse') }}</div>
|
||||||
<div @click="skip('disclaimer')">{{ $t('footer.Disclaimer') }}</div>
|
<div @click="skip('disclaimer')">{{ $t('footer.Disclaimer') }}</div>
|
||||||
<div @click="skip('site-map')">{{ $t('footer.SiteMap') }}</div>
|
<div @click="skip('site-map')">{{ $t('footer.SiteMap') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="left" v-show="isHome">
|
||||||
|
<div class="text" @click="skip('code-create')">© Code-Create 2026</div>
|
||||||
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<img src="@/assets/images/icons/xiaohongshu.png" @click="skip('xiaohongshu')" />
|
<img src="@/assets/images/icons/xiaohongshu.png" @click="skip('xiaohongshu')" />
|
||||||
<img src="@/assets/images/icons/linkedin.png" @click="skip('linkedin')" />
|
<img src="@/assets/images/icons/linkedin.png" @click="skip('linkedin')" />
|
||||||
@@ -15,7 +18,9 @@
|
|||||||
<img src="@/assets/images/icons/facebook.png" @click="skip('facebook')" />
|
<img src="@/assets/images/icons/facebook.png" @click="skip('facebook')" />
|
||||||
<img src="@/assets/images/icons/douyin.png" @click="skip('tiktok')" />
|
<img src="@/assets/images/icons/douyin.png" @click="skip('tiktok')" />
|
||||||
<img src="@/assets/images/icons/youtube.png" @click="skip('youtube')" />
|
<img src="@/assets/images/icons/youtube.png" @click="skip('youtube')" />
|
||||||
<div class="text" @click="skip('code-create')">© Code-Create 2026</div>
|
<div v-show="!isHome" class="text" @click="skip('code-create')">
|
||||||
|
© Code-Create 2026
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -23,6 +28,12 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, ref } from 'vue'
|
import { computed, ref } from 'vue'
|
||||||
|
const props = defineProps({
|
||||||
|
isHome: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
})
|
||||||
let urlList = ref({
|
let urlList = ref({
|
||||||
xiaohongshu: 'https://xhslink.com/m/5Ony2FapizV',
|
xiaohongshu: 'https://xhslink.com/m/5Ony2FapizV',
|
||||||
linkedin: 'https://www.linkedin.com/company/code-create-limited/posts?feedView=all',
|
linkedin: 'https://www.linkedin.com/company/code-create-limited/posts?feedView=all',
|
||||||
@@ -35,7 +46,7 @@
|
|||||||
'privacy-policy': 'https://code-create.com.hk/privacy-policy/',
|
'privacy-policy': 'https://code-create.com.hk/privacy-policy/',
|
||||||
'terms-of-use': 'https://code-create.com.hk/terms-of-use/',
|
'terms-of-use': 'https://code-create.com.hk/terms-of-use/',
|
||||||
disclaimer: 'https://code-create.com.hk/disclaimer/',
|
disclaimer: 'https://code-create.com.hk/disclaimer/',
|
||||||
'site-map': 'https://code-create.com.hk/site-map/',
|
'site-map': 'https://code-create.com.hk/site-map/'
|
||||||
})
|
})
|
||||||
const skip = (name: string) => {
|
const skip = (name: string) => {
|
||||||
window.open(urlList.value[name], '_blank')
|
window.open(urlList.value[name], '_blank')
|
||||||
@@ -71,7 +82,7 @@
|
|||||||
margin-left: 2rem;
|
margin-left: 2rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.text{
|
.text {
|
||||||
margin-left: 4rem;
|
margin-left: 4rem;
|
||||||
font-family: KaiseiOpti-Regular;
|
font-family: KaiseiOpti-Regular;
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
|
|||||||
@@ -211,7 +211,3 @@ export function FormatBytes(bytes, options: { decimals?: number, unitBig?: boole
|
|||||||
const value = bytes / Math.pow(k, i);
|
const value = bytes / Math.pow(k, i);
|
||||||
return `${Number(value.toFixed(decimals))} ${sizes[i]}`;
|
return `${Number(value.toFixed(decimals))} ${sizes[i]}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openAida = () => {
|
|
||||||
window.open('https://www.aida.com.hk/', '_blank')
|
|
||||||
}
|
|
||||||
8
src/views/home/UrlList.js
Normal file
8
src/views/home/UrlList.js
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
export const UrlList = {
|
||||||
|
aida: 'https://www.aida.com.hk/',
|
||||||
|
codeCreate: 'https://www.code-create.com/',
|
||||||
|
|
||||||
|
}
|
||||||
|
export const openView = (url) => {
|
||||||
|
window.open(url, '_blank')
|
||||||
|
}
|
||||||
@@ -5,14 +5,14 @@
|
|||||||
<div class="aida-logo"><img src="@/assets/images/logos/aida.png" /></div>
|
<div class="aida-logo"><img src="@/assets/images/logos/aida.png" /></div>
|
||||||
<div class="title">{{ $t('Home.AidaTitle') }}</div>
|
<div class="title">{{ $t('Home.AidaTitle') }}</div>
|
||||||
<div class="tip">{{ $t('Home.AidaTip') }}</div>
|
<div class="tip">{{ $t('Home.AidaTip') }}</div>
|
||||||
<button custom @click="openAida">{{ $t('Home.TryNow') }}</button>
|
<button custom @click="openView(UrlList.aida)">{{ $t('Home.TryNow') }}</button>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, ref } from 'vue'
|
import { computed, ref } from 'vue'
|
||||||
import { openAida } from '@/utils/tools'
|
import { UrlList, openView } from './UrlList'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
|
|||||||
@@ -3,13 +3,21 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="mate">
|
<div class="mate">
|
||||||
<div class="logos">
|
<div class="logos">
|
||||||
<img src="@/assets/images/logos/code-create-black.png" />
|
<img
|
||||||
|
src="@/assets/images/logos/code-create-black.png"
|
||||||
|
@click="openView(UrlList.codeCreate)"
|
||||||
|
/>
|
||||||
<img src="@/assets/images/logos/stylish-parade-black.png" />
|
<img src="@/assets/images/logos/stylish-parade-black.png" />
|
||||||
<img src="@/assets/images/logos/aida-black.png" />
|
<img
|
||||||
|
src="@/assets/images/logos/aida-black.png"
|
||||||
|
@click="openView(UrlList.aida)"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="tip">{{ $t('Home.FooterTip') }}</div>
|
<div class="tip">{{ $t('Home.FooterTip') }}</div>
|
||||||
<div class="link">
|
<div class="link">
|
||||||
<span class="text" @click="openAida">{{ $t('Home.FooterAidaTip') }}</span>
|
<span class="text" @click="openView(UrlList.aida)">{{
|
||||||
|
$t('Home.FooterAidaTip')
|
||||||
|
}}</span>
|
||||||
<span class="icon"><svg-icon name="arrow_right" size="12" /></span>
|
<span class="icon"><svg-icon name="arrow_right" size="12" /></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -35,25 +43,16 @@
|
|||||||
<div class="item">{{ $t('Home.JoinWithUs') }}</div>
|
<div class="item">{{ $t('Home.JoinWithUs') }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<HomeFooter class="footer" isHome />
|
||||||
<div class="left">© Code-Create 2026</div>
|
|
||||||
<div class="right">
|
|
||||||
<img src="@/assets/images/icons/xiaohongshu.png" />
|
|
||||||
<img src="@/assets/images/icons/linkedin.png" />
|
|
||||||
<img src="@/assets/images/icons/instagram.png" />
|
|
||||||
<img src="@/assets/images/icons/facebook.png" />
|
|
||||||
<img src="@/assets/images/icons/douyin.png" />
|
|
||||||
<img src="@/assets/images/icons/wechat.png" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, ref } from 'vue'
|
import { computed, ref } from 'vue'
|
||||||
import { openAida } from '@/utils/tools'
|
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
import HomeFooter from '@/components/Footer.vue'
|
||||||
|
import { UrlList, openView } from './UrlList'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
@@ -135,24 +134,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
> .footer {
|
> .footer {
|
||||||
padding: 0 8rem;
|
border: none;
|
||||||
height: 7rem;
|
width: 100%;
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
> .left {
|
|
||||||
font-family: KaiseiOpti-Regular;
|
|
||||||
font-size: 1.2rem;
|
|
||||||
color: #585858;
|
|
||||||
}
|
|
||||||
> .right {
|
|
||||||
display: flex;
|
|
||||||
> img {
|
|
||||||
width: 2rem;
|
|
||||||
height: 2rem;
|
|
||||||
margin-left: 1.6rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user