imengyu před 1 týdnem
rodič
revize
626f8bed34

+ 201 - 0
package-lock.json

@@ -8,6 +8,8 @@
       "name": "mingnan-website",
       "version": "0.0.0",
       "dependencies": {
+        "@imengyu/js-request-transform": "^0.3.3",
+        "@vuemap/vue-amap": "^2.1.12",
         "bootstrap": "^5.3.0",
         "mitt": "^3.0.1",
         "pinia": "^3.0.1",
@@ -451,6 +453,15 @@
         "@babel/core": "^7.0.0-0"
       }
     },
+    "node_modules/@babel/runtime": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.1.tgz",
+      "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
     "node_modules/@babel/template": {
       "version": "7.27.0",
       "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.0.tgz",
@@ -923,6 +934,15 @@
         "node": ">=18"
       }
     },
+    "node_modules/@imengyu/js-request-transform": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmmirror.com/@imengyu/js-request-transform/-/js-request-transform-0.3.3.tgz",
+      "integrity": "sha512-fIefMepOYOrZ0QT1FpJn4zQaVLNITJ+qOK+jc5PX6+nEvTWmKr5Y1CXyfILVc6oxo0N8wXYnBySvBzKdvgw8rQ==",
+      "license": "MIT",
+      "dependencies": {
+        "dayjs": "^1.11.7"
+      }
+    },
     "node_modules/@jridgewell/gen-mapping": {
       "version": "0.3.8",
       "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
@@ -975,6 +995,23 @@
         "@jridgewell/sourcemap-codec": "^1.4.14"
       }
     },
+    "node_modules/@math.gl/core": {
+      "version": "3.6.3",
+      "resolved": "https://registry.npmmirror.com/@math.gl/core/-/core-3.6.3.tgz",
+      "integrity": "sha512-jBABmDkj5uuuE0dTDmwwss7Cup5ZwQ6Qb7h1pgvtkEutTrhkcv8SuItQNXmF45494yIHeoGue08NlyeY6wxq2A==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/runtime": "^7.12.0",
+        "@math.gl/types": "3.6.3",
+        "gl-matrix": "^3.4.0"
+      }
+    },
+    "node_modules/@math.gl/types": {
+      "version": "3.6.3",
+      "resolved": "https://registry.npmmirror.com/@math.gl/types/-/types-3.6.3.tgz",
+      "integrity": "sha512-3uWLVXHY3jQxsXCr/UCNPSc2BG0hNUljhmOBt9l+lNFDp7zHgm0cK2Tw4kj2XfkJy4TgwZTBGwRDQgWEbLbdTA==",
+      "license": "MIT"
+    },
     "node_modules/@parcel/watcher": {
       "version": "2.5.1",
       "resolved": "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.5.1.tgz",
@@ -1633,6 +1670,41 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/@turf/helpers": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmmirror.com/@turf/helpers/-/helpers-6.5.0.tgz",
+      "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==",
+      "license": "MIT",
+      "funding": {
+        "url": "https://opencollective.com/turf"
+      }
+    },
+    "node_modules/@turf/intersect": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmmirror.com/@turf/intersect/-/intersect-6.5.0.tgz",
+      "integrity": "sha512-2legGJeKrfFkzntcd4GouPugoqPUjexPZnOvfez+3SfIMrHvulw8qV8u7pfVyn2Yqs53yoVCEjS5sEpvQ5YRQg==",
+      "license": "MIT",
+      "dependencies": {
+        "@turf/helpers": "^6.5.0",
+        "@turf/invariant": "^6.5.0",
+        "polygon-clipping": "^0.15.3"
+      },
+      "funding": {
+        "url": "https://opencollective.com/turf"
+      }
+    },
+    "node_modules/@turf/invariant": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmmirror.com/@turf/invariant/-/invariant-6.5.0.tgz",
+      "integrity": "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==",
+      "license": "MIT",
+      "dependencies": {
+        "@turf/helpers": "^6.5.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/turf"
+      }
+    },
     "node_modules/@types/estree": {
       "version": "1.0.7",
       "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.7.tgz",
@@ -1990,6 +2062,69 @@
         }
       }
     },
+    "node_modules/@vuemap/amap-jsapi-loader": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmmirror.com/@vuemap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.4.tgz",
+      "integrity": "sha512-s5fFHrsNkjYMovEmUJ5S23jpDtElTanDN2HdCt/amOD245a8wWVcTPjl06YEHXtxf6Ewm+z29wQByOCn209Hxg==",
+      "license": "MIT"
+    },
+    "node_modules/@vuemap/amap-jsapi-types": {
+      "version": "0.0.17",
+      "resolved": "https://registry.npmmirror.com/@vuemap/amap-jsapi-types/-/amap-jsapi-types-0.0.17.tgz",
+      "integrity": "sha512-FHI8OMWxJWbgyuQ0tKclvurQIVHRexMIYAOwZ/z9+G7aHHK5EFhKM13siLczNNAgXdJ2dctPEghCdlhcByl3Ag==",
+      "license": "MIT"
+    },
+    "node_modules/@vuemap/amap-xyz-layer": {
+      "version": "0.0.15",
+      "resolved": "https://registry.npmmirror.com/@vuemap/amap-xyz-layer/-/amap-xyz-layer-0.0.15.tgz",
+      "integrity": "sha512-L3rsgk2+i277RlMScpxVpjPBhSfMCeHcyFv7zkomMzd/J9W+X8yTUgSFvzVLWnnlXEXL80vNgs7lIJpSxa5vNg==",
+      "license": "MIT",
+      "dependencies": {
+        "@math.gl/core": "3.6.3",
+        "earcut": "2.2.4",
+        "gl-matrix": "3.4.3"
+      },
+      "engines": {
+        "node": ">= 16"
+      }
+    },
+    "node_modules/@vuemap/district-cluster": {
+      "version": "0.0.12",
+      "resolved": "https://registry.npmmirror.com/@vuemap/district-cluster/-/district-cluster-0.0.12.tgz",
+      "integrity": "sha512-JmZxl99PfCsF98dvxTmi17Ti3XaQMwcKidgduiIQvAPNTKmZjBAR1RRtdQjxooIuJiLXJo9itWIRuBaD9MseTQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@turf/helpers": "^6.5.0",
+        "@turf/intersect": "^6.5.0",
+        "@vuemap/amap-jsapi-types": "^0.0.16",
+        "topojson-client": "3.1.0"
+      },
+      "engines": {
+        "node": ">= 16"
+      }
+    },
+    "node_modules/@vuemap/district-cluster/node_modules/@vuemap/amap-jsapi-types": {
+      "version": "0.0.16",
+      "resolved": "https://registry.npmmirror.com/@vuemap/amap-jsapi-types/-/amap-jsapi-types-0.0.16.tgz",
+      "integrity": "sha512-1B1H2IS8sT2RDubbpEY+K8j11Gb7PZY5Bo0cszRkF8Nw+9HNqpbUNeqkQ6+rxLkwIedcSkOsFDy/IyzXCUXqVw==",
+      "license": "MIT"
+    },
+    "node_modules/@vuemap/vue-amap": {
+      "version": "2.1.12",
+      "resolved": "https://registry.npmmirror.com/@vuemap/vue-amap/-/vue-amap-2.1.12.tgz",
+      "integrity": "sha512-ODI/zNdAgYLY6KV+gdC2FlYxUi68aT5DNhHUTMANxsl9NiHaJrvCH7oiIl2XfGh9xgAwfUuqGTcOYQtBjv2NrA==",
+      "license": "MIT",
+      "dependencies": {
+        "@vuemap/amap-jsapi-loader": "1.0.4",
+        "@vuemap/amap-jsapi-types": "^0.0.17",
+        "@vuemap/amap-xyz-layer": "0.0.15",
+        "@vuemap/district-cluster": "0.0.12",
+        "lodash-es": "^4.17.21"
+      },
+      "peerDependencies": {
+        "vue": "3"
+      }
+    },
     "node_modules/alien-signals": {
       "version": "1.0.13",
       "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-1.0.13.tgz",
@@ -2155,6 +2290,12 @@
         "url": "https://paulmillr.com/funding/"
       }
     },
+    "node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+      "license": "MIT"
+    },
     "node_modules/convert-source-map": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz",
@@ -2221,6 +2362,12 @@
       "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
       "license": "MIT"
     },
+    "node_modules/dayjs": {
+      "version": "1.11.13",
+      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
+      "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
+      "license": "MIT"
+    },
     "node_modules/de-indent": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
@@ -2303,6 +2450,12 @@
         "node": ">=0.10"
       }
     },
+    "node_modules/earcut": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmmirror.com/earcut/-/earcut-2.2.4.tgz",
+      "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==",
+      "license": "ISC"
+    },
     "node_modules/electron-to-chromium": {
       "version": "1.5.142",
       "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.142.tgz",
@@ -2518,6 +2671,12 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/gl-matrix": {
+      "version": "3.4.3",
+      "resolved": "https://registry.npmmirror.com/gl-matrix/-/gl-matrix-3.4.3.tgz",
+      "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==",
+      "license": "MIT"
+    },
     "node_modules/globals": {
       "version": "11.12.0",
       "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz",
@@ -2779,6 +2938,12 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/lodash-es": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
+      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
+      "license": "MIT"
+    },
     "node_modules/lru-cache": {
       "version": "5.1.1",
       "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -3097,6 +3262,16 @@
         }
       }
     },
+    "node_modules/polygon-clipping": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmmirror.com/polygon-clipping/-/polygon-clipping-0.15.7.tgz",
+      "integrity": "sha512-nhfdr83ECBg6xtqOAJab1tbksbBAOMUltN60bU+llHVOL0e5Onm1WpAXXWXVB39L8AJFssoIhEVuy/S90MmotA==",
+      "license": "MIT",
+      "dependencies": {
+        "robust-predicates": "^3.0.2",
+        "splaytree": "^3.1.0"
+      }
+    },
     "node_modules/postcss": {
       "version": "8.5.3",
       "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz",
@@ -3175,6 +3350,12 @@
       "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
       "license": "MIT"
     },
+    "node_modules/robust-predicates": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.2.tgz",
+      "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==",
+      "license": "Unlicense"
+    },
     "node_modules/rollup": {
       "version": "4.40.0",
       "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.40.0.tgz",
@@ -3341,6 +3522,12 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/splaytree": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmmirror.com/splaytree/-/splaytree-3.1.2.tgz",
+      "integrity": "sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A==",
+      "license": "MIT"
+    },
     "node_modules/strip-final-newline": {
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-4.0.0.tgz",
@@ -3397,6 +3584,20 @@
         "node": ">=8.0"
       }
     },
+    "node_modules/topojson-client": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmmirror.com/topojson-client/-/topojson-client-3.1.0.tgz",
+      "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
+      "license": "ISC",
+      "dependencies": {
+        "commander": "2"
+      },
+      "bin": {
+        "topo2geo": "bin/topo2geo",
+        "topomerge": "bin/topomerge",
+        "topoquantize": "bin/topoquantize"
+      }
+    },
     "node_modules/totalist": {
       "version": "3.0.1",
       "resolved": "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz",

+ 2 - 0
package.json

@@ -11,6 +11,8 @@
     "type-check": "vue-tsc --build"
   },
   "dependencies": {
+    "@imengyu/js-request-transform": "^0.3.3",
+    "@vuemap/vue-amap": "^2.1.12",
     "bootstrap": "^5.3.0",
     "mitt": "^3.0.1",
     "pinia": "^3.0.1",

binární
src/assets/images/about/Banner.jpg


binární
src/assets/images/about/IconLocation.png


binární
src/assets/images/about/IconMail.png


binární
src/assets/images/about/IconMobile.png


binární
src/assets/images/about/Logo.png


+ 4 - 0
src/assets/scss/fonts.scss

@@ -29,4 +29,8 @@
     //url('@/assets/fonts/SourceHanSerifCN-Bold.ttf') format('truetype')
     ;//url('@/assets/fonts/SourceHanSerifCN-Bold.woff2') format('woff2');
   font-weight: normal;
+}
+
+.font-SourceHanSerifCNBold {
+  font-family: SourceHanSerifCNBold;
 }

+ 9 - 0
src/main.ts

@@ -4,16 +4,25 @@ import 'bootstrap/dist/css/bootstrap-grid.css'
 import 'bootstrap/dist/css/bootstrap-utilities.css'
 import './assets/scss/main.scss'
 import 'vue3-carousel/carousel.css'
+import '@vuemap/vue-amap/dist/style.css'
 
 import { createApp } from 'vue'
 import { createPinia } from 'pinia'
 
 import App from './App.vue'
 import router from './router'
+import VueAMap, {initAMapApiLoader} from '@vuemap/vue-amap';
+
+initAMapApiLoader({
+  key: '212b86dc49a5116a34e945d31da7ad14',
+  securityJsCode: '46cae8205a707cfaf5801abcc4301566',
+})
+
 
 const app = createApp(App)
 
 app.use(createPinia())
+app.use(VueAMap)
 app.use(router)
 
 app.mount('#app')

+ 58 - 8
src/views/AboutView.vue

@@ -1,10 +1,10 @@
 <template>
   <!-- 关于页 -->
-  <div class=" main-background main-background-type0">
+  <div class="about main-background main-background-type0">
     <!-- 轮播 -->
     <Carousel v-bind="carouselConfig" class="main-header-box small carousel-light">
       <Slide class="main-header-box small">
-        <img src="@/assets/images/communicate/Banner.jpg" />
+        <img src="@/assets/images/about/Banner.jpg" />
       </Slide>
       <template #addons>
         <Navigation />
@@ -13,32 +13,82 @@
     </Carousel>
 
     <!-- 关于我们 -->
-    <section class="main-section">
+    <section class="main-section ">
       <div class="content">
         <div class="title">
           <h2>关于我们</h2>
         </div>
 
+        <div class="row">
+          <div class="col-sm-12 col-md-6 col-lg-8">
+            <h3 class="font-SourceHanSerifCNBold">厦门博合文化科技有限公司</h3>
+            <p class="mt-4">文化遗产不仅属于我们,也属于后代子孙,宣传和传承文化遗产乃吾辈之责,五缘记忆旨在宣传和保护湖里区文化遗产功在当代利在干秋。 </p>
+            <p class="mt-4">厦门博合文化科技有限公司是一家专注于数字创意、文化科技与新媒体内容的创新型企业。我们致力于通过前沿技术(如AI、VR/AR、数字孪生等)与创意结合,为客户提供数字营销、互动体验、虚拟制作、IP孵化及文化科技解决方案,助力品牌与文化的数字化升级。</p>
+          </div>
+          <div class="col-sm-12 col-md-6 col-lg-4 d-flex flex-row justify-content-center">
+            <img src="@/assets/images/about/Logo.png" alt="公司Logo" />
+          </div>
+        </div>
       </div>
     </section>
 
 
+    <!-- 公司地址 -->
+    <section class="main-section ">
+      <div class="content">
+        <div class="title">
+          <h2>公司地址</h2>
+        </div>
+
+        <div class="row align-items-center">
+          <div class="col-sm-12 col-md-6 col-lg-6">
+            <div class="d-flex flex-column">
+              <div class="d-flex flex-row align-items-center p-2">
+                <img class="me-3" src="@/assets/images/about/IconMobile.png" />
+                <span>电话:1388888888</span>
+              </div>
+              <div class="d-flex flex-row align-items-center p-2">
+                <img class="me-3" src="@/assets/images/about/IconMail.png" />
+                <span>邮箱:1388888888&#64;163.com</span>
+              </div>
+              <div class="d-flex flex-row align-items-center p-2">
+                <img class="me-3" src="@/assets/images/about/IconLocation.png" />
+                <span>地址:厦门火炬高新区信息光电园林后西路1号金丰大厦703F室</span>
+              </div>
+            </div>
+          </div>
+          <div class="col-sm-12 col-md-6 col-lg-6" style="height: 200px">
+            <el-amap
+              :center="center"
+              :zoom="zoom"
+              @init="handleInit"
+            />
+          </div>
+        </div>
+      </div>
+    </section>
   </div>
 </template>
 
 <script setup lang="ts">
 import { Carousel, Slide, Pagination, Navigation } from 'vue3-carousel'
-import { onMounted, ref } from 'vue';
-import Image1 from '@/assets/images/communicate/Image1.jpg'
-import Image2 from '@/assets/images/communicate/Image2.jpg'
-import Image3 from '@/assets/images/communicate/Image3.jpg'
-import LeftRightBox from '@/components/parts/LeftRightBox.vue';
+import { ref } from 'vue';
 
 const carouselConfig = {
   itemsToShow: 1,
   wrapAround: true,
   autoPlay: 5000,
 }
+const zoom = ref(13);
+const center = ref([118.161288, 24.528889]);
+let map: any = null;
+
+function handleInit(mapRef: any) {
+  map = mapRef;
+  map?.add(new AMap.Marker({
+    position: center.value as [number, number]
+  }));
+}
 
 </script>
 

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 234 - 0
src/views/NewsDetailView.vue