fix
This commit is contained in:
@@ -13,6 +13,7 @@ p {
|
|||||||
}
|
}
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
font-family: Poppins;
|
||||||
}
|
}
|
||||||
h1,
|
h1,
|
||||||
h2,
|
h2,
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ p {
|
|||||||
|
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
font-family: Poppins;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1,
|
h1,
|
||||||
|
|||||||
5
src/assets/fonts/fontFamily.css
Normal file
5
src/assets/fonts/fontFamily.css
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
/* 字体定义 */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
src: url('./poppins.woff2') format('woff2');
|
||||||
|
}
|
||||||
BIN
src/assets/fonts/poppins.woff2
Normal file
BIN
src/assets/fonts/poppins.woff2
Normal file
Binary file not shown.
@@ -1,14 +1,14 @@
|
|||||||
import { gsap, } from 'gsap'
|
import { gsap, } from 'gsap'
|
||||||
import { ScrollTrigger } from 'gsap/ScrollTrigger'
|
import { ScrollTrigger } from 'gsap/ScrollTrigger'
|
||||||
export default {
|
export default {
|
||||||
name: 'tween-Y',
|
name: 'tween',
|
||||||
mounted(el: HTMLElement, binding: any) {
|
mounted(el: HTMLElement, binding: any) {
|
||||||
const params = binding.value
|
const params = binding.value
|
||||||
// if(!binding.value.isGsap)return
|
// if(!binding.value.isGsap)return
|
||||||
let dom = document.querySelector('body')
|
let dom = document.querySelector('body')
|
||||||
gsap.registerPlugin(ScrollTrigger);
|
gsap.registerPlugin(ScrollTrigger);
|
||||||
let tl1 = gsap.timeline();
|
let tl1 = gsap.timeline();
|
||||||
tl1.from(el,1, {y:params || '30px',opacity:0},)
|
tl1.from(el,1, params,)
|
||||||
ScrollTrigger.create({
|
ScrollTrigger.create({
|
||||||
trigger: el, // 触发器元素
|
trigger: el, // 触发器元素
|
||||||
start: "top 90%", // 滚动触发器的起始滚动位置
|
start: "top 90%", // 滚动触发器的起始滚动位置
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { createI18n } from 'vue-i18n'
|
import { createI18n } from 'vue-i18n'
|
||||||
|
|
||||||
import enLocale from './en.ts'
|
import enLocale from './en'
|
||||||
import zhCnLocale from './zh-cn.ts'
|
import zhCnLocale from './zh-cn'
|
||||||
import zhTwLocale from './zh-tw.ts'
|
import zhTwLocale from './zh-tw'
|
||||||
|
|
||||||
export const LangType = {
|
export const LangType = {
|
||||||
en: "en", // 英文
|
en: "en", // 英文
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ const {} = toRefs(data);
|
|||||||
<template>
|
<template>
|
||||||
<section class="strategic-partners">
|
<section class="strategic-partners">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h2 v-tween-Y="'30px'">Strategic Partners</h2>
|
<h2 v-tween="{'y':'30px','opacity':0}">Strategic Partners</h2>
|
||||||
<div class="img-box" v-tween-Y="'30px'">
|
<div class="img-box" v-tween="{'y':'30px','opacity':0}">
|
||||||
<a href="https://www.aidlab.hk/">
|
<a href="https://www.aidlab.hk/">
|
||||||
<img src="https://code-create.com.hk/wp-content/uploads/2022/11/about_partners_01.png" alt="">
|
<img src="https://code-create.com.hk/wp-content/uploads/2022/11/about_partners_01.png" alt="">
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
22
src/pages/events/index.vue
Normal file
22
src/pages/events/index.vue
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import Swiper from './swiper.vue'
|
||||||
|
|
||||||
|
defineExpose({})
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
<div class="events">
|
||||||
|
<div class="placeholder"></div>
|
||||||
|
<Swiper />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.events{
|
||||||
|
.placeholder{
|
||||||
|
height: var(--main-header-height, 100px);
|
||||||
|
width: 100%;
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
background-color: #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
115
src/pages/events/swiper.vue
Normal file
115
src/pages/events/swiper.vue
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { ref, onMounted, onUnmounted, reactive, toRefs } from "vue";
|
||||||
|
import { Carousel as KagolCarousel } from '@kagol/vue-carousel'
|
||||||
|
import '@kagol/vue-carousel/dist/style.css'
|
||||||
|
//const props = defineProps({
|
||||||
|
//})
|
||||||
|
//const emit = defineEmits([
|
||||||
|
//])
|
||||||
|
let list = ref([
|
||||||
|
{
|
||||||
|
url:'https://code-create.com.hk/wp-content/uploads/2026/04/award_qrcode_en-819x1024.gif'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url:'https://code-create.com.hk/wp-content/uploads/2026/03/Code-Create-Limited-1536x1029.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url:'https://code-create.com.hk/wp-content/uploads/2026/04/award_qrcode_en-819x1024.gif'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url:'https://code-create.com.hk/wp-content/uploads/2026/03/Code-Create-Limited-1536x1029.jpg'
|
||||||
|
},
|
||||||
|
])
|
||||||
|
const activePage = ref(0)
|
||||||
|
onMounted(()=>{
|
||||||
|
})
|
||||||
|
onUnmounted(()=>{
|
||||||
|
})
|
||||||
|
defineExpose({})
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
<section class="events-swiper">
|
||||||
|
<div class="content">
|
||||||
|
<KagolCarousel
|
||||||
|
:autoplay="false"
|
||||||
|
:interval="1000"
|
||||||
|
class="events-carousel"
|
||||||
|
>
|
||||||
|
<div class="carousel-item" v-for="(item,index) in list" :key="index">
|
||||||
|
<img :src="item.url" alt="">
|
||||||
|
<div class="text-box">
|
||||||
|
<div class="title">
|
||||||
|
Honored to be selected as Alibaba JUMPSTARTER 2026 Top 30 Startup | Code-Create
|
||||||
|
</div>
|
||||||
|
<div class="info">
|
||||||
|
Honored to be selected as a Alibaba JUMPSTARTER 2026 Top 30 Startup |...
|
||||||
|
</div>
|
||||||
|
<div class="read-more">
|
||||||
|
Read More
|
||||||
|
<span class="iconfont icon-direction-right"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<template #pagination="{ prevPage, nextPage }">
|
||||||
|
<div class="prev-page" @click="prevPage">
|
||||||
|
<span class="iconfont icon-direction-left"></span>
|
||||||
|
</div>
|
||||||
|
<div class="next-page" @click="nextPage">
|
||||||
|
<span class="iconfont icon-direction-right"></span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #indicator></template>
|
||||||
|
</KagolCarousel>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.events-swiper{
|
||||||
|
width: 100%;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
padding: 40px 0px 40px 0px;
|
||||||
|
> .content{
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 1120px;
|
||||||
|
position: relative;
|
||||||
|
> .events-carousel{
|
||||||
|
.carousel-item{
|
||||||
|
img{
|
||||||
|
height: 600px;
|
||||||
|
width: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
background-color: #FFF;
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.prev-page, .next-page{
|
||||||
|
width: 96px;
|
||||||
|
height: 96px;
|
||||||
|
margin: 0 10px;
|
||||||
|
border: 1px solid #e1e1e1;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 50%;
|
||||||
|
transition: all .3s;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
> span{
|
||||||
|
font-size: 38px;
|
||||||
|
}
|
||||||
|
&:hover{
|
||||||
|
border: 1px solid #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.prev-page{
|
||||||
|
right: 112px;
|
||||||
|
}
|
||||||
|
.next-page{
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -31,6 +31,11 @@ export const routes: RouteRecordRaw[] = [
|
|||||||
path: 'aida',
|
path: 'aida',
|
||||||
name: 'Aida',
|
name: 'Aida',
|
||||||
component: () => import('./pages/aida/index.vue')
|
component: () => import('./pages/aida/index.vue')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'events',
|
||||||
|
name: 'events',
|
||||||
|
component: () => import('./pages/events/index.vue')
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,26 +1,28 @@
|
|||||||
{
|
{
|
||||||
"files": [],
|
// "files": [],
|
||||||
"include": ["env.d.ts", "src/**/*", "src/**/*.vue", "src/types/**/*.d.ts"],
|
"include": ["env.d.ts", "src/**/*", "src/**/*.vue", "src/types/**/*.d.ts"],
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
"noUnusedLocals": false, // 关闭未使用局部变量检查
|
||||||
|
"noUnusedParameters": false, // 关闭未使用参数检查
|
||||||
"forceConsistentCasingInFileNames": false, // ⚠️ 禁用大小写检查
|
"forceConsistentCasingInFileNames": false, // ⚠️ 禁用大小写检查
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"baseUrl": ".",
|
"types": ["node"],
|
||||||
"types": ["node", "unplugin-vue-define-options/macros-global"],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"@/*": ["./src/*"],
|
"@/*": ["./src/*"],
|
||||||
"_c/*": ["./src/components/*"]
|
"_c/*": ["./src/components/*"]
|
||||||
},
|
},
|
||||||
|
"rootDirs": ["./src"],
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"strict": false,
|
"strict": false,
|
||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": false,
|
||||||
"noEmitOnError": false
|
"noEmitOnError": false
|
||||||
},
|
}
|
||||||
|
|
||||||
"references": [
|
// "references": [
|
||||||
{ "path": "./tsconfig.app.json" },
|
// { "path": "./tsconfig.app.json" },
|
||||||
{
|
// {
|
||||||
"path": "./tsconfig.node.json"
|
// "path": "./tsconfig.node.json"
|
||||||
}
|
// }
|
||||||
]
|
// ]
|
||||||
}
|
}
|
||||||
1
tsconfig.tsbuildinfo
Normal file
1
tsconfig.tsbuildinfo
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"root":["./src/app.vue","./src/main.ts","./src/routes.ts","./src/vite-env.d.ts","./src/components/back-top.vue","./src/components/down-menu.vue","./src/components/main-footer.vue","./src/components/main-header.vue","./src/components/video-model.vue","./src/directives/custom-animation.js","./src/directives/index.ts","./src/directives/myevents.ts","./src/directives/scroll-progress.ts","./src/directives/tween-animation.ts","./src/lang/en.ts","./src/lang/index.ts","./src/lang/zh-cn.ts","./src/lang/zh-tw.ts","./src/pages/aboutview.vue","./src/pages/contactview.vue","./src/pages/productsview.vue","./src/pages/about-us/ecosystem.vue","./src/pages/about-us/index.vue","./src/pages/about-us/mission.vue","./src/pages/about-us/our-team.vue","./src/pages/about-us/strategic-partners.vue","./src/pages/about-us/title.vue","./src/pages/aida/index.vue","./src/pages/events/index.vue","./src/pages/events/swiper.vue","./src/pages/home/index.vue","./src/pages/home/components/carousel.vue","./src/pages/home/components/productfeature.vue","./src/pages/home/components/projectcta.vue","./src/types/kagol-vue-carousel.d.ts"],"errors":true,"version":"6.0.3"}
|
||||||
Reference in New Issue
Block a user