From 8e39e66ce8c1df9ee9ebacd0c87e06723cb91cea Mon Sep 17 00:00:00 2001 From: Starlight-0208 <89368027+Starlight0208@users.noreply.github.com> Date: Wed, 15 Oct 2025 20:14:29 +0800 Subject: [PATCH] finish --- package-lock.json | 6 -- src/App.vue | 185 +++++++++++++++++++++++++++++++++- src/components/CardViews.vue | 178 ++------------------------------ src/components/HeaderView.vue | 79 +++++++++++++++ src/components/TabList.vue | 77 ++++++++++++++ src/stores/user.ts | 14 +++ src/types/CardItems.ts | 9 ++ src/types/TabItems.ts | 5 + 8 files changed, 375 insertions(+), 178 deletions(-) create mode 100644 src/components/HeaderView.vue create mode 100644 src/components/TabList.vue create mode 100644 src/stores/user.ts create mode 100644 src/types/CardItems.ts create mode 100644 src/types/TabItems.ts diff --git a/package-lock.json b/package-lock.json index aef7ef8..84928a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,7 +58,6 @@ "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -1336,7 +1335,6 @@ "integrity": "sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -1755,7 +1753,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.9", "caniuse-lite": "^1.0.30001746", @@ -2843,7 +2840,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "devOptional": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -2926,7 +2922,6 @@ "integrity": "sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -3153,7 +3148,6 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.22.tgz", "integrity": "sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==", "license": "MIT", - "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.22", "@vue/compiler-sfc": "3.5.22", diff --git a/src/App.vue b/src/App.vue index 76fa883..c62f432 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,17 +1,194 @@ - \ No newline at end of file diff --git a/src/components/HeaderView.vue b/src/components/HeaderView.vue new file mode 100644 index 0000000..36771e0 --- /dev/null +++ b/src/components/HeaderView.vue @@ -0,0 +1,79 @@ + + + + + \ No newline at end of file diff --git a/src/components/TabList.vue b/src/components/TabList.vue new file mode 100644 index 0000000..d9e7973 --- /dev/null +++ b/src/components/TabList.vue @@ -0,0 +1,77 @@ + + + + + \ No newline at end of file diff --git a/src/stores/user.ts b/src/stores/user.ts new file mode 100644 index 0000000..59a94cf --- /dev/null +++ b/src/stores/user.ts @@ -0,0 +1,14 @@ +import { defineStore } from "pinia"; +import { ref } from "vue"; + +export const useUserStore = defineStore('user', () => { + const username = ref('用户名'); + const imageUrl = ref(''); + function setUsername(name: string) { + username.value = name; + } + function setImageUrl(url: string) { + imageUrl.value = url; + } + return { username, imageUrl, setUsername, setImageUrl }; +}); \ No newline at end of file diff --git a/src/types/CardItems.ts b/src/types/CardItems.ts new file mode 100644 index 0000000..7119fd5 --- /dev/null +++ b/src/types/CardItems.ts @@ -0,0 +1,9 @@ +export interface CardItem { + id: string; + title: string; + description: string; + icon: string; + network: string; + networkName: string; + visits: number; +} \ No newline at end of file diff --git a/src/types/TabItems.ts b/src/types/TabItems.ts new file mode 100644 index 0000000..9fd369c --- /dev/null +++ b/src/types/TabItems.ts @@ -0,0 +1,5 @@ +export interface TabItem { + id: string; + name: string; + tag: string; +} \ No newline at end of file