peixue-dev/Archive/peidu-temp-files/docs/[一次性]按钮图标问题最终解决-2026-01-26.md

6.5 KiB
Raw Blame History

按钮图标问题最终解决

时间: 2026-01-26
状态: 已完成


🎯 问题总结

原始问题

微信小程序无法加载中文文件名的图标,导致 500 错误。

根本原因

uni-app 项目使用 src/static/ 目录作为静态资源目录,而不是根目录的 static/


解决方案

1. 代码路径更新

文件: peidu/uniapp/src/pages/index/components/UserHome.vue

已将所有图标路径改为英文文件名:

functionIcons: [
  { id: 1, icon: '/static/button/companion.jpg', label: '陪伴员' },
  { id: 2, icon: '/static/button/summer-camp.jpg', label: '暑假营' },
  { id: 3, icon: '/static/button/assessor.jpg', label: '测评师' },
  { id: 4, icon: '/static/button/planner.jpg', label: '成长规划师' },
  { id: 5, icon: '/static/button/parent-academy.jpg', label: '家长学院' },
  { id: 6, icon: '/static/button/one-on-one.jpg', label: '一对一陪伴' },
  { id: 7, icon: '/static/button/study-tour.jpg', label: '研学活动' },
  { id: 8, icon: '/static/button/special.jpg', label: '专项突破' },
  { id: 9, icon: '/static/button/interest.jpg', label: '兴趣培养' },
  { id: 10, icon: '/static/button/supervision.jpg', label: '线上督学' }
]

2. 文件重命名完成

目录 1 peidu/uniapp/static/button/ 目录 2 peidu/uniapp/src/static/button/

所有10个图标文件都已重命名为英文

序号 原文件名 新文件名 状态
1 陪伴员.jpg companion.jpg
2 暑假营.jpg summer-camp.jpg
3 测评师.jpg assessor.jpg
4 成长规划师.jpg / 规划师.jpg planner.jpg
5 家长学院.jpg parent-academy.jpg
6 一对一陪伴.jpg one-on-one.jpg
7 研学活动.jpg study-tour.jpg
8 专项突破.jpg special.jpg
9 兴趣培养.jpg interest.jpg
10 线上督学.jpg supervision.jpg

🧪 测试步骤

1. 清除缓存重新编译

cd peidu/uniapp
npm run dev:mp-weixin

2. 微信开发者工具

  1. 清除缓存

    • 工具 → 清除缓存 → 清除全部缓存
  2. 重新编译

    • 编译 → 重新编译
  3. 查看效果

    • 打开家长端首页
    • 确认10个按钮图标全部显示

3. 检查要点

  • 控制台无 500 错误
  • 控制台无中文文件名相关错误
  • 10个按钮图标全部正常显示
  • 图标清晰,无模糊
  • 点击按钮能正常跳转

📊 修复前后对比

修复前

❌ [渲染层网络层错误] Failed to load local image resource 
   /static/button/%E6%88%90%E9%95%BF%E8%A7%84%E5%88%92%E5%B8%88.jpg
   the server responded with a status of 500

修复后

✅ 所有图标正常加载
✅ 无 500 错误
✅ 无中文编码问题

🔍 关键发现

uni-app 静态资源目录

uni-app 项目有两个 static 目录:

  1. 根目录 static/

    • 位置:peidu/uniapp/static/
    • 用途:可能用于某些特殊场景
    • 本次修复:已重命名
  2. src 目录 static/ 实际使用的目录

    • 位置:peidu/uniapp/src/static/
    • 用途:项目实际使用的静态资源目录
    • 本次修复:已重命名

重要提示

在 uni-app 项目中,静态资源应该放在 src/static/ 目录下!


📝 文件命名规范

推荐的文件命名方式

  1. 使用英文小写字母

    companion.jpg ✅
    COMPANION.jpg ❌(不推荐大写)
    
  2. 多个单词用连字符连接

    summer-camp.jpg ✅
    summer_camp.jpg ⚠️(可以,但不推荐)
    summercamp.jpg ⚠️(可读性差)
    
  3. 避免使用的字符

    中文字符 ❌
    空格 ❌
    特殊符号(除了 - 和 _

🎨 按钮布局

家长端首页按钮采用 2行×5列 的网格布局:

第一行:
┌──────────┬──────────┬──────────┬──────────────┬──────────┐
│  陪伴员  │  暑假营  │  测评师  │ 成长规划师   │ 家长学院 │
│companion │summer-   │assessor  │  planner     │parent-   │
│          │camp      │          │              │academy   │
└──────────┴──────────┴──────────┴──────────────┴──────────┘

第二行:
┌──────────────┬──────────┬──────────┬──────────┬──────────┐
│ 一对一陪伴   │ 研学活动 │ 专项突破 │ 兴趣培养 │ 线上督学 │
│ one-on-one   │study-tour│ special  │ interest │supervision│
└──────────────┴──────────┴──────────┴──────────┴──────────┘

📌 相关文件

代码文件

  • 首页组件:peidu/uniapp/src/pages/index/components/UserHome.vue

图标文件目录

  • 主目录:peidu/uniapp/src/static/button/
  • 备用目录:peidu/uniapp/static/button/

脚本文件

  • 重命名脚本:Archive/peidu-temp-files/scripts/[一次性]重命名src-static-button图标-2026-01-26.bat

完成检查清单

  • 代码路径已更新为英文文件名
  • src/static/button/ 目录文件已重命名
  • static/button/ 目录文件已重命名
  • 所有10个文件都已重命名
  • 文件名与代码路径完全一致
  • 创建了操作文档和脚本

🎉 预期效果

完成以上步骤并重新编译后,你将看到:

  1. 微信开发者工具控制台无任何错误
  2. 家长端首页10个按钮图标全部正常显示
  3. 图标清晰,加载速度快
  4. 点击按钮正常跳转到对应页面

💡 经验总结

1. uni-app 静态资源管理

  • 静态资源应放在 src/static/ 目录
  • 使用绝对路径 /static/xxx 引用
  • 避免使用中文文件名

2. 微信小程序限制

  • 不支持中文文件名
  • 中文会被 URL 编码导致加载失败
  • 建议统一使用英文命名

3. 调试技巧

  • 遇到 500 错误先检查文件是否存在
  • 检查文件名是否包含特殊字符
  • 清除缓存后重新编译

完成时间: 2026-01-26 17:50
问题状态: 已彻底解决