From c8002eaed28e9b4e3f8ba2a9bb9b55f97a7242d4 Mon Sep 17 00:00:00 2001 From: liqi Date: Mon, 9 Jun 2025 22:19:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E5=AE=8C=E6=88=90=E9=9D=99?= =?UTF-8?q?=E6=80=81=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 + package.json | 1 + pnpm-lock.yaml | 33 +++ src/assets/styles/global.scss | 6 +- src/components/layout/Header.vue | 136 ++++++--- src/components/ui/ContactForm.vue | 217 +++++++++++++++ src/components/ui/MapContainer.vue | 84 ++++++ src/components/ui/TeamMember.vue | 11 +- src/layouts/Header.vue | 32 --- src/router/index.js | 1 - src/views/About.vue | 50 +--- src/views/Careers.vue | 431 +++++++++++++++++++++++++---- src/views/Home.vue | 408 ++++++++++++++++++++++++--- src/views/Team.vue | 208 +++++++++++--- 14 files changed, 1374 insertions(+), 246 deletions(-) create mode 100644 src/components/ui/ContactForm.vue create mode 100644 src/components/ui/MapContainer.vue delete mode 100644 src/layouts/Header.vue diff --git a/index.html b/index.html index 8388c4b..e687656 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,8 @@ + + Vite + Vue diff --git a/package.json b/package.json index 5e92787..d60f201 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "preview": "vite preview" }, "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", "@ant-design-vue/pro-layout": "^3.2.5", "@ant-design/icons-vue": "^7.0.1", "@fortawesome/fontawesome-free": "^6.7.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c25cae3..a6bbbdd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@amap/amap-jsapi-loader': + specifier: ^1.0.1 + version: 1.0.1 '@ant-design-vue/pro-layout': specifier: ^3.2.5 version: 3.2.5(ant-design-vue@4.2.6(vue@3.5.13))(vue@3.5.13) @@ -63,6 +66,9 @@ importers: packages: + '@amap/amap-jsapi-loader@1.0.1': + resolution: {integrity: sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==} + '@ant-design-vue/pro-layout@3.2.5': resolution: {integrity: sha512-M87KEnnt3h5zLlYXPST4fTGHkuwnJac6xbBGOUTjNjMraOyyO9afx++UNdeOc8gtjtasOBcp9VYGFrGUQyJxVg==} peerDependencies: @@ -302,36 +308,42 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.1': resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.1': resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.1': resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.1': resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.1': resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [musl] '@parcel/watcher-win32-arm64@2.5.1': resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} @@ -389,56 +401,67 @@ packages: resolution: {integrity: sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.40.0': resolution: {integrity: sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.40.0': resolution: {integrity: sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.40.0': resolution: {integrity: sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loongarch64-gnu@4.40.0': resolution: {integrity: sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.40.0': resolution: {integrity: sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.40.0': resolution: {integrity: sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.40.0': resolution: {integrity: sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.40.0': resolution: {integrity: sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.40.0': resolution: {integrity: sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.40.0': resolution: {integrity: sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.40.0': resolution: {integrity: sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==} @@ -496,24 +519,28 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@tailwindcss/oxide-linux-arm64-musl@4.1.4': resolution: {integrity: sha512-X3As2xhtgPTY/m5edUtddmZ8rCruvBvtxYLMw9OsZdH01L2gS2icsHRwxdU0dMItNfVmrBezueXZCHxVeeb7Aw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@tailwindcss/oxide-linux-x64-gnu@4.1.4': resolution: {integrity: sha512-2VG4DqhGaDSmYIu6C4ua2vSLXnJsb/C9liej7TuSO04NK+JJJgJucDUgmX6sn7Gw3Cs5ZJ9ZLrnI0QRDOjLfNQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@tailwindcss/oxide-linux-x64-musl@4.1.4': resolution: {integrity: sha512-v+mxVgH2kmur/X5Mdrz9m7TsoVjbdYQT0b4Z+dr+I4RvreCNXyCFELZL/DO0M1RsidZTrm6O1eMnV6zlgEzTMQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@tailwindcss/oxide-wasm32-wasi@4.1.4': resolution: {integrity: sha512-2TLe9ir+9esCf6Wm+lLWTMbgklIjiF0pbmDnwmhR9MksVOq+e8aP3TSsXySnBDDvTTVd/vKu1aNttEGj3P6l8Q==} @@ -837,24 +864,28 @@ packages: engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] lightningcss-linux-arm64-musl@1.29.2: resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [musl] lightningcss-linux-x64-gnu@1.29.2: resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [glibc] lightningcss-linux-x64-musl@1.29.2: resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [musl] lightningcss-win32-arm64-msvc@1.29.2: resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==} @@ -1090,6 +1121,8 @@ packages: snapshots: + '@amap/amap-jsapi-loader@1.0.1': {} + '@ant-design-vue/pro-layout@3.2.5(ant-design-vue@4.2.6(vue@3.5.13))(vue@3.5.13)': dependencies: '@ant-design/icons-vue': 6.1.0(vue@3.5.13) diff --git a/src/assets/styles/global.scss b/src/assets/styles/global.scss index 95f0ef8..db3b008 100644 --- a/src/assets/styles/global.scss +++ b/src/assets/styles/global.scss @@ -26,4 +26,8 @@ body { p { // 首行缩进两个字符 text-indent: 2em; -} \ No newline at end of file +} + +button { + cursor: pointer; /* 确保鼠标悬停时显示为手型 */ +} diff --git a/src/components/layout/Header.vue b/src/components/layout/Header.vue index 90ab647..be999f2 100644 --- a/src/components/layout/Header.vue +++ b/src/components/layout/Header.vue @@ -54,18 +54,19 @@ + + + + + + +
+
+ +
+
+

留下您的联系方式

+ +
+
+ + +
+ +
+ + +
+ + +
+
+
+
- \ No newline at end of file + diff --git a/src/components/ui/ContactForm.vue b/src/components/ui/ContactForm.vue new file mode 100644 index 0000000..996074f --- /dev/null +++ b/src/components/ui/ContactForm.vue @@ -0,0 +1,217 @@ + + + + + diff --git a/src/components/ui/MapContainer.vue b/src/components/ui/MapContainer.vue new file mode 100644 index 0000000..5c0d9e6 --- /dev/null +++ b/src/components/ui/MapContainer.vue @@ -0,0 +1,84 @@ + + + + + + diff --git a/src/components/ui/TeamMember.vue b/src/components/ui/TeamMember.vue index 9f2f596..8357cf2 100644 --- a/src/components/ui/TeamMember.vue +++ b/src/components/ui/TeamMember.vue @@ -4,7 +4,13 @@
-
+
+
+
@@ -38,6 +44,7 @@ defineProps({ name: '张经理', position: '技术总监', description: '拥有10年行业经验的技术专家', + avatar: 'https://images.unsplash.com/photo-1554151228-14d9def656e4?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80', social: [ { icon: 'fab fa-linkedin-in', link: '#' }, { icon: 'fab fa-weibo', link: '#' }, @@ -45,4 +52,4 @@ defineProps({ }) } }) - \ No newline at end of file + diff --git a/src/layouts/Header.vue b/src/layouts/Header.vue deleted file mode 100644 index 5dfaf00..0000000 --- a/src/layouts/Header.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - diff --git a/src/router/index.js b/src/router/index.js index 4fae600..0a28513 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,6 +1,5 @@ import { createRouter, createWebHistory } from 'vue-router' import { useUserStore } from '@/stores/user' -import MainLayout from '@/layouts/Header.vue' // 在路由配置中添加个人中心路由 const routes = [ diff --git a/src/views/About.vue b/src/views/About.vue index a31363a..5bf75d3 100644 --- a/src/views/About.vue +++ b/src/views/About.vue @@ -286,6 +286,7 @@ -
+
@@ -309,41 +310,7 @@ 填写下方表单,我们将尽快回复您。

-
-
- - -
- -
- - -
- -
- - -
- -
- - -
- - -
+
@@ -389,6 +356,7 @@ import SectionTitle from '@/components/ui/SectionTitle.vue' import Card from '@/components/ui/Card.vue' import Component from '@/components/ui/Company.vue' import TeamMemberCard from '@/components/ui/TeamMember.vue' +import ContactForm from "@/components/ui/ContactForm.vue"; const milestones = [ { @@ -570,7 +538,7 @@ const teamMembers = [ id: 1, name: '张明', position: '创始人兼CEO', - avatar: '@/assets/images/team/member1.jpg', + avatar: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80', description: '拥有20年IT行业经验,曾任职于多家知名科技企业,专注于企业数字化转型战略', socialLinks: [ {icon: 'fab fa-linkedin', url: '#'}, @@ -581,7 +549,7 @@ const teamMembers = [ id: 2, name: '李婷', position: '技术总监', - avatar: '@/assets/images/team/member2.jpg', + avatar: 'https://images.unsplash.com/photo-1544005313-94ddf0286df2?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80', description: '15年软件开发和团队管理经验,精通云计算、大数据和人工智能技术', socialLinks: [ {icon: 'fab fa-github', url: '#'}, @@ -592,7 +560,7 @@ const teamMembers = [ id: 3, name: '王强', position: '销售总监', - avatar: '@/assets/images/team/member3.jpg', + avatar: 'https://images.unsplash.com/photo-1568602471122-7832951cc4c5?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80', description: '10年企业服务销售经验,擅长为客户提供量身定制的数字化解决方案', socialLinks: [ {icon: 'fab fa-linkedin', url: '#'}, @@ -603,7 +571,7 @@ const teamMembers = [ id: 4, name: '陈静', position: '设计总监', - avatar: '@/assets/images/team/member4.jpg', + avatar: 'https://images.unsplash.com/photo-1554151228-14d9def656e4?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80', description: '8年UI/UX设计经验,曾主导多个大型企业应用和消费产品的设计工作', socialLinks: [ {icon: 'fab fa-dribbble', url: '#'}, @@ -616,4 +584,4 @@ const teamMembers = [ \ No newline at end of file + diff --git a/src/views/Careers.vue b/src/views/Careers.vue index c603469..1dc1ec0 100644 --- a/src/views/Careers.vue +++ b/src/views/Careers.vue @@ -1,7 +1,10 @@