Selaa lähdekoodia

修改为动态页

Yansen 1 vuosi sitten
vanhempi
commit
b75b154fb3
3 muutettua tiedostoa jossa 43 lisäystä ja 36 poistoa
  1. 15
    0
      src/components/DynamicComponent.astro
  2. 15
    0
      src/data/zh/homepage.js
  3. 13
    36
      src/pages/[lang]/index.astro

+ 15
- 0
src/components/DynamicComponent.astro Näytä tiedosto

@@ -0,0 +1,15 @@
1
+---
2
+import LeftMiddleRightImgTextPro from '@/components/LeftMiddleRightImgTextPro/index.astro'
3
+import ImgPro from '@/components/ImgPro.astro'
4
+
5
+const { type, ...leftProps } = Astro.props;
6
+
7
+---
8
+
9
+<Fragment>
10
+
11
+  { type == 'ImgPro' && <ImgPro {...leftProps} /> }
12
+  { type == 'LeftMiddleRightImgTextPro' && <LeftMiddleRightImgTextPro {...leftProps} /> }
13
+
14
+
15
+</Fragment>

+ 15
- 0
src/data/zh/homepage.js Näytä tiedosto

@@ -1,4 +1,19 @@
1 1
 
2
+export default [
3
+
4
+  {
5
+    type: 'ImgPro',    
6
+    imgProData: {
7
+      url: '//e.huawei.com/-/mediae/images/home/banner/jiasu-banner-pc1.jpg',
8
+      title: '加速行业智能化',
9
+      content:
10
+        '华为持续引领数智基础设施产品与解决方案创新,使能百模千态,赋能千行万业智能化转型',
11
+    },
12
+  }
13
+
14
+
15
+]
16
+
2 17
 export default {
3 18
   firstpage: {
4 19
     thumb: '../image/homepage/thumb1.png',

+ 13
- 36
src/pages/[lang]/index.astro Näytä tiedosto

@@ -16,6 +16,8 @@ import pageData from '@/data/zh/homepageage'
16 16
 import Container from '@/components/Container.astro'
17 17
 import MediaCard from '@/components/MediaCard/MediaCard1.astro'
18 18
 import LeftMiddleRightImgTextPro from '@/components/LeftMiddleRightImgTextPro/index.astro'
19
+import DynamicComponent from '@/components/DynamicComponent.astro'
20
+import type { Code, Debug } from 'astro:components'
19 21
 
20 22
 function getName(item = {}) {
21 23
   return (
@@ -30,7 +32,15 @@ const list = Astro.locals.globalData?.homepage
30 32
 ---
31 33
 
32 34
 <Layout title="官网">
33
-  <ImgPro
35
+
36
+  {
37
+    list.map((item, index) => {
38
+      <DynamicComponent {...item} key={index} />
39
+    })
40
+  }
41
+
42
+
43
+  <!-- <ImgPro
34 44
     listOrData={list?.imgProData}
35 45
     ratio="16 / 9"
36 46
     titleSize="60px"
@@ -46,46 +56,13 @@ const list = Astro.locals.globalData?.homepage
46 56
     listOrData={list?.caseList}
47 57
     componentTitle="案例展示"
48 58
   />
59
+
49 60
   <LeftMiddleRightImgTextPro
50 61
     listOrData={list?.informationList}
51 62
     componentTitle="最新资讯"
52 63
     btnBottomDisplay={true}
53 64
     bhref=`/${lang}/news`
54
-  />
55
-  <Container title="测试标题">
56
-    <div class="row" style="--bs-gutter-x: 48px">
57
-      <div class="col-md-4 col-sm-12 mt-4">
58
-        <MediaCard
59
-          link="http://www.baidu.com"
60
-          thumb="https://e.huawei.com/-/mediae/images/home/newsevents/news/news-20240314-2.jpg"
61
-          title="因聚而生 数智有为”华为举办中国合作伙伴大会2024"
62
-          subTitle="华为智能型边缘方案,云边协同、统一运维,打造敏捷智能的园区IT边缘华为智能型边缘方案,云边协同、统一运维,打造敏捷智能的园区IT边缘华为智能型边缘方案,云边协同、统一运维,打造敏捷智能的园区IT边缘华为智能型边缘方案,云边协同、统一运维,打造敏捷智能的园区IT边缘华为智能型边缘方案,云边协同、统一运维,打造敏捷智能的园区IT边缘"
63
-          more
64
-        />
65
-      </div>
66
-      <div class="col-md-4 col-sm-12 mt-4">
67
-        <MediaCard
68
-          thumb="https://e.huawei.com/-/mediae/images/home/newsevents/news/news-20240314-2.jpg"
69
-          title="因聚而生 数智有为”华为举办中国合作伙伴大会2024"
70
-          subTitle="华为智能型边缘方案,云边协同、统一运维,打造敏捷智能的园区IT边缘"
71
-        />
72
-      </div>
73
-      <div class="col-md-4 col-sm-12 mt-4">
74
-        <MediaCard
75
-          thumb="https://e.huawei.com/-/mediae/images/home/newsevents/news/news-20240314-2.jpg"
76
-          title="因聚而生 数智有为”华为举办中国合作伙伴大会2024"
77
-          subTitle="华为智能型边缘方案,云边协同、统一运维,打造敏捷智能的园区IT边缘"
78
-        />
79
-      </div>
80
-      <div class="col-md-4 col-sm-12 mt-md-5 mt-4">
81
-        <MediaCard
82
-          thumb="https://e.huawei.com/-/mediae/images/home/newsevents/news/news-20240314-2.jpg"
83
-          title="因聚而生 数智有为”华为举办中国合作伙伴大会2024"
84
-          subTitle="华为智能型边缘方案,云边协同、统一运维,打造敏捷智能的园区IT边缘"
85
-        />
86
-      </div>
87
-    </div>
88
-  </Container>
65
+  /> -->
89 66
 
90 67
   <Footer lang={lang} />
91 68
 </Layout>