From 2e7fe8d3a8ef27c935f454246414e27dee771db2 Mon Sep 17 00:00:00 2001 From: huangjianwu Date: Thu, 7 May 2026 13:49:25 +0800 Subject: [PATCH] =?UTF-8?q?chore(frontend):=20=E5=85=B3=E4=BA=8E=E9=A1=B5?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E6=94=B9=E4=B8=BA=20import=20?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E8=B5=84=E6=BA=90=EF=BC=8C=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=20CDN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前 about 页直接拉腾讯云 COS 上的 wechat.png,每次换码都要手动重新上传 CDN + 刷缓存。改成 import @/assets/wechat.png,由 Vite 打包,更新时只需替换文件。 doc/wechat.png 仍保留作为源 / 备份。 Co-Authored-By: Claude Opus 4.7 (1M context) --- BillNote_frontend/src/assets/wechat.png | Bin 0 -> 11376 bytes .../src/pages/SettingPage/about.tsx | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 BillNote_frontend/src/assets/wechat.png diff --git a/BillNote_frontend/src/assets/wechat.png b/BillNote_frontend/src/assets/wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..44639ccf0462d819bb922fb491790df7cc4692ce GIT binary patch literal 11376 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 OmX%a`UnOo7^nU;=G{0^D literal 0 HcmV?d00001 diff --git a/BillNote_frontend/src/pages/SettingPage/about.tsx b/BillNote_frontend/src/pages/SettingPage/about.tsx index c4c1ce0..c1afe41 100644 --- a/BillNote_frontend/src/pages/SettingPage/about.tsx +++ b/BillNote_frontend/src/pages/SettingPage/about.tsx @@ -5,6 +5,7 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' import { Github, Star, ExternalLink, Download } from 'lucide-react' import { ScrollArea } from '@/components/ui/scroll-area.tsx' import logo from '@/assets/icon.svg' +import wechatQr from '@/assets/wechat.png' export default function AboutPage() { const images = [ @@ -204,7 +205,7 @@ export default function AboutPage() {

BiliNote 交流微信群

- + BiliNote 交流微信群