hookehuyr

feat(avatar): 替换默认头像为本地SVG图片

- 将"我的"和"修改头像"页面的默认头像从网络图片替换为本地SVG
- 使用 @/assets/images/icon/avatar.svg 作为默认头像
- 采用 ES6 import 导入方式,确保 Taro 构建工具正确处理静态资源
- 更新 CHANGELOG.md 记录变更

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 +## [2026-02-01] - 替换默认头像为本地图片
2 +
3 +### 优化
4 +- 将用户头像从网络图片替换为本地 SVG 图片
5 + - 影响页面:"我的"页面 (`src/pages/mine/index.vue`)
6 + - 影响页面:"修改头像"页面 (`src/pages/avatar/index.vue`)
7 + - 使用 `@/assets/images/icon/avatar.svg` 作为默认头像
8 + - 采用 ES6 `import` 导入方式,确保 Taro 构建工具正确处理静态资源
9 +
10 +---
11 +
12 +**详细信息**
13 +- **影响文件**: src/pages/mine/index.vue, src/pages/avatar/index.vue
14 +- **技术栈**: Vue 3, Taro, ES6 Modules
15 +- **测试状态**: 已通过(代码审查)
16 +- **备注**:
17 + - 减少网络依赖,提升加载速度
18 + - 统一默认头像视觉风格
19 + - 遵循 Taro 静态资源引用规范
20 +
21 +---
22 +
1 ## [2026-01-31] - 资料列表页重构与 FilterTabs 移除 23 ## [2026-01-31] - 资料列表页重构与 FilterTabs 移除
2 24
3 ### 重构 25 ### 重构
......
1 +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1769919665636" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5599" xmlns:xlink="http://www.w3.org/1999/xlink" width="256" height="256"><path d="M511.994581 76.800452C271.648182 76.800452 76.800452 271.646376 76.800452 512S271.648182 947.199548 511.996388 947.199548c240.366267 0 435.204967-194.845925 435.204967-435.199548C947.199548 271.646376 752.360849 76.800452 511.994581 76.800452z m0.005419 190.518222c55.022863 0 99.629259 44.60459 99.629259 99.62926s-44.60459 99.629259-99.629259 99.629259-99.629259-44.60459-99.629259-99.629259 44.606396-99.629259 99.629259-99.62926z m-0.001806 578.803027c-154.776752 0-280.249399-78.619315-280.2494-175.606075 0-96.981342 125.472647-175.602462 280.2494-175.602462 154.778558 0 280.251206 78.621121 280.251205 175.602462 0 96.98676-125.472647 175.606075-280.251205 175.606075z" p-id="5600" fill="#bfbfbf"></path></svg>
...\ No newline at end of file ...\ No newline at end of file
...@@ -39,9 +39,10 @@ import { useGo } from '@/hooks/useGo' ...@@ -39,9 +39,10 @@ import { useGo } from '@/hooks/useGo'
39 import IconFont from '@/components/IconFont.vue' 39 import IconFont from '@/components/IconFont.vue'
40 import NavHeader from '@/components/NavHeader.vue' 40 import NavHeader from '@/components/NavHeader.vue'
41 import Taro from '@tarojs/taro' 41 import Taro from '@tarojs/taro'
42 +import defaultAvatar from '@/assets/images/icon/avatar.svg'
42 43
43 const go = useGo() 44 const go = useGo()
44 -const avatarUrl = ref('https://picsum.photos/seed/user/200/200') 45 +const avatarUrl = ref(defaultAvatar)
45 46
46 const onChangeAvatar = () => { 47 const onChangeAvatar = () => {
47 Taro.chooseImage({ 48 Taro.chooseImage({
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 > 12 >
13 <!-- Avatar --> 13 <!-- Avatar -->
14 <view class="w-[160rpx] h-[160rpx] rounded-full overflow-hidden border-2 border-white shadow-sm shrink-0"> 14 <view class="w-[160rpx] h-[160rpx] rounded-full overflow-hidden border-2 border-white shadow-sm shrink-0">
15 - <img class="w-full h-full object-cover" src="https://picsum.photos/seed/user/200/200" /> 15 + <img class="w-full h-full object-cover" :src="defaultAvatar" />
16 </view> 16 </view>
17 17
18 <!-- Info --> 18 <!-- Info -->
...@@ -73,6 +73,7 @@ import IconFont from '@/components/IconFont.vue' ...@@ -73,6 +73,7 @@ import IconFont from '@/components/IconFont.vue'
73 import TabBar from '@/components/TabBar.vue' 73 import TabBar from '@/components/TabBar.vue'
74 import NavHeader from '@/components/NavHeader.vue' 74 import NavHeader from '@/components/NavHeader.vue'
75 import Taro from '@tarojs/taro' 75 import Taro from '@tarojs/taro'
76 +import defaultAvatar from '@/assets/images/icon/avatar.svg'
76 77
77 const go = useGo() 78 const go = useGo()
78 79
......