diff --git a/.gitignore b/.gitignore index 99b3c47..3f14eb5 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,6 @@ logs .env.* !.env.example -repomix-output.xml \ No newline at end of file +repomix-output.xml + +content/members/members.csv \ No newline at end of file diff --git a/app/layouts/default.vue b/app/layouts/default.vue index 3f83856..b063a53 100644 --- a/app/layouts/default.vue +++ b/app/layouts/default.vue @@ -105,6 +105,11 @@ const bannerActions = ref([ const items = computed(() => [ { label: "首页", to: "/" }, { label: "新闻", to: "/news", active: route.path.startsWith("/news") }, + { + label: "会员", + to: "/members", + active: route.path.startsWith("/members"), + }, { label: "活动", to: "/events", @@ -122,7 +127,7 @@ const items = computed(() => [ ], }, { - label: "关于校友会", + label: "关于", to: "/about", active: route.path.startsWith("/about"), children: [ @@ -143,12 +148,12 @@ const items = computed(() => [ description: "永平中学补习班(1956年):一封迟来的贴文", to: "/about/middle-highschool-tuition-class", active: route.path.startsWith("/about/middle-highschool-tuition-class"), - icon: "mdi:mail" - } + icon: "mdi:mail", + }, ], }, { - label: "友情链接", + label: "链接", children: [ { label: "永平中学官网", diff --git a/app/pages/about/org-structure/[slug].vue b/app/pages/about/org-structure/[slug].vue index 29557e8..12b10cc 100644 --- a/app/pages/about/org-structure/[slug].vue +++ b/app/pages/about/org-structure/[slug].vue @@ -58,6 +58,7 @@ const generation = route.params.slug; const categories = ref(["领导团队", "职能部门", "专项部门"]); +// TODO: Fetch from api const orgStructure = ref([ { name: "李煜斌", @@ -132,14 +133,14 @@ const orgStructure = ref([ }, { name: "胡少菲", - position: "总务", + position: "康乐", category: "职能部门", photo: "/org-structure/胡少菲.png", description: "文化活动策划、康乐项目组织与会员联谊活动。", }, { name: "林剑宝", - position: "副总务", + position: "副康乐", category: "职能部门", photo: "/org-structure/林剑宝.png", description: "协助文康组织文体活动、兴趣小组与社交聚会。", diff --git a/app/pages/index.vue b/app/pages/index.vue index 61e9005..12b9854 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -4,7 +4,9 @@ + + + + + + + + + + + + + diff --git a/content.config.ts b/content.config.ts index 10a275f..13d66d7 100644 --- a/content.config.ts +++ b/content.config.ts @@ -36,7 +36,7 @@ export default defineContentConfig({ // 名人堂 hallOfFames: defineCollection({ type: "page", - source: "hall-of-fames/*md", + source: "hall-of-fames/*.md", schema: z.object({ name: z.string(), photo: z.string().url(), @@ -45,5 +45,27 @@ export default defineContentConfig({ gallery: z.array(z.string()), }), }), + // 会员名册 + members: defineCollection({ + type: "data", + source: "members/members.csv", + schema: z.object({ + // chinese_name: z.string(), + // english_name: z.string(), + // ic: z.string(), + // mobile: z.string(), + // home: z.string(), + // email: z.string(), + // graduate_level: z.string(), + // graduate_year: z.string(), + // marriage_status: z.string(), + // living_country: z.string(), + // address_line_1: z.string(), + // address_line_2: z.string(), + // address_line_3: z.string(), + // joined_year: z.string(), + // receipt_number: z.string(), + }), + }), }, }); diff --git a/content/members/members-sample.csv b/content/members/members-sample.csv new file mode 100644 index 0000000..ad169da --- /dev/null +++ b/content/members/members-sample.csv @@ -0,0 +1 @@ +chineseName,englishName,ic,mobile,home,email,graduateLevel,,graduateYear,marriageStatus,livingCountry,addressLine1,addressLine2,addressLine3,joinedYear,receiptNumber diff --git a/docs/PPT Designs v1.md b/docs/PPT Designs v1.md index 94d1d37..83de46d 100644 --- a/docs/PPT Designs v1.md +++ b/docs/PPT Designs v1.md @@ -63,7 +63,7 @@ - 版式:16:9,黑/深灰背景或浅色质感底,突出橙色点缀 - 字体:中文优先思源黑体/Noto Sans SC;标题粗体、正文中等 -- 统一元素:使用 public/Logo.svg 与 public/hero-image.jpg 作封面/过渡图 +- 统一元素:使用 public/Logo.svg 与 public/hero-image-2.jpg 作封面/过渡图 - 图片素材:新闻/活动封面取自 public/news/*、public/events/*、public/hall-of-fame/* - 最少字多图:每页 3–5 条要点,每条不超过一行半 @@ -82,7 +82,7 @@ 素材清单(制作 PPT 前先备齐) -- Logo 与主视觉:public/Logo.svg、public/hero-image.jpg +- Logo 与主视觉:public/Logo.svg、public/hero-image-2.jpg - 二维码:yphsalumni.org(建议白底黑码,配校色边框) - 页面截图:主页、新闻、活动、名人堂、入会、后台 - 文案确认:宗旨口号、愿景 1 句话、路线图 3–5 条 diff --git a/docs/PPT Designs v2.md b/docs/PPT Designs v2.md index b285ae9..d111237 100644 --- a/docs/PPT Designs v2.md +++ b/docs/PPT Designs v2.md @@ -92,7 +92,7 @@ yphsalumni.org 并参与共建。” - 官网二维码(yphsalumni.org) - 仓库二维码(开源后补充) -- Logo:public/Logo.svg、主视觉 public/hero-image.jpg +- Logo:public/Logo.svg、主视觉 public/hero-image-2.jpg - 页面截图:主页、新闻、活动、名人堂、入会(与后台仪表盘) - 一页式“交付清单与价值”图(可用饼图/图标矩阵) diff --git a/nuxt.config.ts b/nuxt.config.ts index 1df8bc4..bce5ae3 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -50,7 +50,7 @@ export default defineNuxtConfig({ { property: "og:url", content: "https://yphsalumni.org" }, // ✅ 换成你网站的真实域名 { property: "og:image", - content: "https://yphsalumni.org/hero-image.jpg", + content: "https://yphsalumni.org/hero-image-2.jpg", }, // ✅ 上传一张封面图 // Twitter Card @@ -62,7 +62,7 @@ export default defineNuxtConfig({ }, { name: "twitter:image", - content: "https://yphsalumni.org/hero-image.jpg", + content: "https://yphsalumni.org/hero-image-2.jpg", }, ], }, diff --git a/public/hero-image-2.jpg b/public/hero-image-2.jpg new file mode 100644 index 0000000..e6b5096 Binary files /dev/null and b/public/hero-image-2.jpg differ