From c050a7cc43b8ecce665d04d26b5f376f4ed17b1d Mon Sep 17 00:00:00 2001
From: wangyifeng <812766448@qq.com>
Date: Thu, 22 May 2025 20:30:26 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E8=A3=85=E7=BB=9F=E4=B8=80header?=
=?UTF-8?q?=E3=80=81footer=E3=80=81default=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 2 +
pnpm-lock.yaml | 42 +++
src/App.vue | 15 +-
src/assets/images/header/logo.png | Bin 0 -> 3254 bytes
src/components/customDefaultPage/index.vue | 34 +++
.../customDefaultPage/size1920/index.vue | 18 ++
.../customDefaultPage/size375/index.vue | 18 ++
src/components/customFooter/index.vue | 34 +++
.../customFooter/size1920/index.vue | 26 ++
src/components/customFooter/size375/index.vue | 26 ++
src/components/customHeader/index.vue | 34 +++
.../customHeader/size1920/index.vue | 203 +++++++++++++
src/components/customHeader/size375/index.vue | 271 ++++++++++++++++++
src/components/customSelectSearch/index.vue | 38 +++
src/locales/en.js | 33 +++
src/router/index.js | 45 +--
src/views/home/index.vue | 32 +--
src/views/home/size1920/index.vue | 21 +-
src/views/home/size375/index.vue | 21 +-
src/views/new-releases/index.vue | 23 ++
src/views/new-releases/size1920/index.vue | 10 +
src/views/new-releases/size375/index.vue | 10 +
22 files changed, 858 insertions(+), 98 deletions(-)
create mode 100644 src/assets/images/header/logo.png
create mode 100644 src/components/customDefaultPage/index.vue
create mode 100644 src/components/customDefaultPage/size1920/index.vue
create mode 100644 src/components/customDefaultPage/size375/index.vue
create mode 100644 src/components/customFooter/index.vue
create mode 100644 src/components/customFooter/size1920/index.vue
create mode 100644 src/components/customFooter/size375/index.vue
create mode 100644 src/components/customHeader/index.vue
create mode 100644 src/components/customHeader/size1920/index.vue
create mode 100644 src/components/customHeader/size375/index.vue
create mode 100644 src/components/customSelectSearch/index.vue
create mode 100644 src/views/new-releases/index.vue
create mode 100644 src/views/new-releases/size1920/index.vue
create mode 100644 src/views/new-releases/size375/index.vue
diff --git a/package.json b/package.json
index 591cf5c..9cfe8ca 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,8 @@
"dependencies": {
"@fingerprintjs/fingerprintjs": "^4.4.3",
"@unocss/reset": "^0.61.9",
+ "@vicons/ionicons5": "^0.13.0",
+ "@vicons/utils": "^0.1.4",
"axios": "^1.7.3",
"cnjm-postcss-px-to-viewport": "^1.0.1",
"gsap": "^3.12.5",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a469e2e..8080635 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -14,6 +14,12 @@ importers:
'@unocss/reset':
specifier: ^0.61.9
version: 0.61.9
+ '@vicons/ionicons5':
+ specifier: ^0.13.0
+ version: 0.13.0
+ '@vicons/utils':
+ specifier: ^0.1.4
+ version: 0.1.4(vue@3.4.35)
axios:
specifier: ^1.7.3
version: 1.7.3
@@ -1338,6 +1344,9 @@ packages:
'@types/minimatch@5.1.2':
resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
+ '@types/node@14.14.45':
+ resolution: {integrity: sha512-DssMqTV9UnnoxDWu959sDLZzfvqCF0qDNRjaWeYSui9xkFe61kKo4l1TWNTQONpuXEm+gLMRvdlzvNHBamzmEw==}
+
'@types/node@22.13.10':
resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==}
@@ -1447,6 +1456,14 @@ packages:
peerDependencies:
vue: ^3.0.0
+ '@vicons/ionicons5@0.13.0':
+ resolution: {integrity: sha512-zvZKBPjEXKN7AXNo2Na2uy+nvuv6SP4KAMQxpKL2vfHMj0fSvuw7JZcOPCjQC3e7ayssKnaoFVAhbYcW6v41qQ==}
+
+ '@vicons/utils@0.1.4':
+ resolution: {integrity: sha512-OHI19qVNN6i+uPQ+Y3f2s0dUxwsYnOCcKBW7XOU4yXXO1aU3ZoKpblCc3+4N0qmgoJs5rWKRAaMisipqEXJwAg==}
+ peerDependencies:
+ vue: ^3.0.6
+
'@vitejs/plugin-legacy@5.4.1':
resolution: {integrity: sha512-kee0l7dVevCNs1l3u2PnihVunvQ0WTJL2UJ/siQGD3Iht546mR9NO16tCv32uCP6lcGO1QDLqlPqInJtV1FE7A==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -1502,6 +1519,9 @@ packages:
'@vueuse/shared@10.11.0':
resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==}
+ '@xicons/utils@0.1.4':
+ resolution: {integrity: sha512-uXxKDLz9abr80yJC05XSTq6wlyFcdW+N/1IYJkeHjzzXVc4VQ0sEYMoMMTjAH7HQBOyOkzOB4pf5NGF72lwa8Q==}
+
acorn@8.12.1:
resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
engines: {node: '>=0.4.0'}
@@ -1816,6 +1836,9 @@ packages:
peerDependencies:
postcss: ^8.4
+ css-render@0.13.9:
+ resolution: {integrity: sha512-n3C4ZH59rveBrUlAD7n0Ze9/gUMKa4dlH1C9CWKpGcIHR/xRcIVXzBGy1iw8WWq2ySmn2/ZqOpySQNAK5Pb6sw==}
+
css-render@0.15.14:
resolution: {integrity: sha512-9nF4PdUle+5ta4W5SyZdLCCmFd37uVimSjg1evcTqKJCyvCEEj12WKzOSBNak6r4im4J4iYXKH1OWpUV5LBYFg==}
@@ -5135,6 +5158,8 @@ snapshots:
'@types/minimatch@5.1.2': {}
+ '@types/node@14.14.45': {}
+
'@types/node@22.13.10':
dependencies:
undici-types: 6.20.0
@@ -5317,6 +5342,13 @@ snapshots:
dependencies:
vue: 3.4.35
+ '@vicons/ionicons5@0.13.0': {}
+
+ '@vicons/utils@0.1.4(vue@3.4.35)':
+ dependencies:
+ '@xicons/utils': 0.1.4
+ vue: 3.4.35
+
'@vitejs/plugin-legacy@5.4.1(terser@5.31.3)(vite@5.3.5(@types/node@22.13.10)(sass@1.77.8)(terser@5.31.3))':
dependencies:
'@babel/core': 7.25.2
@@ -5412,6 +5444,10 @@ snapshots:
- '@vue/composition-api'
- vue
+ '@xicons/utils@0.1.4':
+ dependencies:
+ css-render: 0.13.9
+
acorn@8.12.1: {}
agent-base@7.1.1:
@@ -5770,6 +5806,12 @@ snapshots:
dependencies:
postcss: 8.4.40
+ css-render@0.13.9:
+ dependencies:
+ '@emotion/hash': 0.8.0
+ '@types/node': 14.14.45
+ csstype: 3.0.11
+
css-render@0.15.14:
dependencies:
'@emotion/hash': 0.8.0
diff --git a/src/App.vue b/src/App.vue
index ac9336a..1713d08 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,10 +1,10 @@
diff --git a/src/assets/images/header/logo.png b/src/assets/images/header/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..61c89ed624dd453f9bb382b97a98556198247751
GIT binary patch
literal 3254
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
+import { computed } from 'vue'
+import { useWindowSize } from '@vueuse/core'
+
+import size375 from '@/components/customDefaultPage/size375/index.vue'
+import size1920 from '@/components/customDefaultPage/size1920/index.vue'
+import { useRouter } from 'vue-router'
+import { useI18n } from 'vue-i18n'
+
+const router = useRouter()
+const { width } = useWindowSize()
+const { t } = useI18n()
+
+const viewComponent = computed(() => {
+ const viewWidth = width.value
+ if (viewWidth <= 450) {
+ return size375
+ }
+ // else if (viewWidth <= 1100) {
+ // return size768;
+ // } else if (viewWidth <= 1500) {
+ // return size1440;
+ // }
+ else if (viewWidth <= 1920 || viewWidth > 1920) {
+ return size1920
+ }
+})
+
+
+
+
+
+
+
diff --git a/src/components/customDefaultPage/size1920/index.vue b/src/components/customDefaultPage/size1920/index.vue
new file mode 100644
index 0000000..e086d8b
--- /dev/null
+++ b/src/components/customDefaultPage/size1920/index.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/customDefaultPage/size375/index.vue b/src/components/customDefaultPage/size375/index.vue
new file mode 100644
index 0000000..b5d46ad
--- /dev/null
+++ b/src/components/customDefaultPage/size375/index.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/customFooter/index.vue b/src/components/customFooter/index.vue
new file mode 100644
index 0000000..ed6fd6a
--- /dev/null
+++ b/src/components/customFooter/index.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
diff --git a/src/components/customFooter/size1920/index.vue b/src/components/customFooter/size1920/index.vue
new file mode 100644
index 0000000..4e81dea
--- /dev/null
+++ b/src/components/customFooter/size1920/index.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/customFooter/size375/index.vue b/src/components/customFooter/size375/index.vue
new file mode 100644
index 0000000..6236c16
--- /dev/null
+++ b/src/components/customFooter/size375/index.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/customHeader/index.vue b/src/components/customHeader/index.vue
new file mode 100644
index 0000000..5886eab
--- /dev/null
+++ b/src/components/customHeader/index.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
diff --git a/src/components/customHeader/size1920/index.vue b/src/components/customHeader/size1920/index.vue
new file mode 100644
index 0000000..e787029
--- /dev/null
+++ b/src/components/customHeader/size1920/index.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/customHeader/size375/index.vue b/src/components/customHeader/size375/index.vue
new file mode 100644
index 0000000..7b911b7
--- /dev/null
+++ b/src/components/customHeader/size375/index.vue
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/customSelectSearch/index.vue b/src/components/customSelectSearch/index.vue
new file mode 100644
index 0000000..4543fd2
--- /dev/null
+++ b/src/components/customSelectSearch/index.vue
@@ -0,0 +1,38 @@
+
+
+
+
+ Go
+
+
+
+
diff --git a/src/locales/en.js b/src/locales/en.js
index 8177a40..664947f 100644
--- a/src/locales/en.js
+++ b/src/locales/en.js
@@ -463,5 +463,38 @@ export default {
],
note: 'Minim representatives (other than authorized speakers) who receive inquiries from the media, market professionals, or shareholders should not respond to such inquiries but should refer the inquirer to an authorized speaker. However, Minim representatives assigned to the Investor Relations and Marketing teams may respond to routine inquiries about public information in accordance with guidelines established by authorized speakers from time to time.'
}
+ },
+ header_menu: {
+ corporate_information: {
+ title: 'Corporate Information',
+ company_overview: 'Company Overview',
+ business_introduction: 'Business Introduction',
+ management: 'Management',
+ board_of_directors: 'Board of Directors',
+ committee_appointments: 'Committee Appointments',
+ governance: 'Governance',
+ corporate_video: 'Corporate Video'
+ },
+ financial_information: {
+ title: 'Financial Information',
+ sec_filings: 'SEC Filings',
+ quarterly_results: 'Quarterly Results',
+ },
+ stock_information: {
+ title: 'Stock Information',
+ stock_quote: 'Stock Quote',
+ historic_stock_price: 'Historic Stock Price',
+ investment_calculator: 'Investment Calculator'
+ },
+ news_releases: {
+ title: 'News Releases',
+ press_releases: 'Press Releases',
+ events_calendar: 'Events Calendar'
+ },
+ investor_resources: {
+ title: 'Investor Resources',
+ ir_contacts: 'IR Contacts',
+ email_alerts: 'Email Alerts'
+ }
}
}
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index 8cb90a9..32140c7 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -5,43 +5,16 @@ import { setupRouterGuards } from './router-guards';
const routes = [
{
path: '/',
- redirect: 'home'
- },
- {
- path: '/home',
name: 'home',
- component: () => import('@/views/home/index.vue'),
- // beforeEnter: (to, from, next) => {
-
- // localStorage.clear()
- // next()
- // }
- },
- // {
- // path: '/companyprofil',
- // name: 'Companyprofil',
- // component: () => import('@/views/companyprofil/index.vue'),
- // },
- // {
- // path: '/companyprofildetail',
- // name: 'Companyprofildetail',
- // component: () => import('@/views/companyprofildetail/index.vue'),
- // },
- // {
- // path: '/businessintroduction',
- // name: 'Businessintroduction',
- // component: () => import('@/views/businessintroduction/index.vue'),
- // },
- // {
- // path: '/investor',
- // name: 'Investor',
- // component: () => import('@/views/investor/index.vue'),
- // },
- // {
- // path: '/investorhandbook',
- // name: 'Investorhandbook',
- // component: () => import('@/views/investorhandbook/index.vue'),
- // },
+ component: () => import('@/views/home/index.vue'), // MainLayout
+ children: [
+ {
+ path: 'new-releases',
+ name: 'new-releases',
+ component: () => import('@/views/new-releases/index.vue')
+ },
+ ]
+ }
];
const router = createRouter({
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 0952934..642d65e 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -1,34 +1,12 @@
-
+
+
+
diff --git a/src/views/home/size1920/index.vue b/src/views/home/size1920/index.vue
index 23d9860..15a1a09 100644
--- a/src/views/home/size1920/index.vue
+++ b/src/views/home/size1920/index.vue
@@ -1,22 +1,17 @@
-
-
diff --git a/src/views/home/size375/index.vue b/src/views/home/size375/index.vue
index f3e7467..9802b79 100644
--- a/src/views/home/size375/index.vue
+++ b/src/views/home/size375/index.vue
@@ -1,22 +1,17 @@
-
-
diff --git a/src/views/new-releases/index.vue b/src/views/new-releases/index.vue
new file mode 100644
index 0000000..4baeaa6
--- /dev/null
+++ b/src/views/new-releases/index.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/new-releases/size1920/index.vue b/src/views/new-releases/size1920/index.vue
new file mode 100644
index 0000000..11f6624
--- /dev/null
+++ b/src/views/new-releases/size1920/index.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/new-releases/size375/index.vue b/src/views/new-releases/size375/index.vue
new file mode 100644
index 0000000..11f6624
--- /dev/null
+++ b/src/views/new-releases/size375/index.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+