修改内容:
- 在"系统管理"子菜单中添加了"🎨 个性化设置"菜单项
- 链接指向:
personalization.html - 更新了
settingsPages数组,添加'personalization'
修改位置:
- Lines 147-150: 添加菜单项
- Line 206: 更新settingsPages数组
功能特性:
-
登录页海报设置
- 支持上传JPG、PNG格式
- 建议尺寸:1920x1080px
- 实时预览
- 恢复默认功能
-
系统Logo设置
- 支持PNG格式(透明背景)
- 建议尺寸:800x200px
- 实时预览
- 恢复默认功能
-
能量流图标设置
- 支持PNG、SVG格式
- 建议尺寸:512x512px
- 实时预览
- 恢复默认功能
用户体验:
- 响应式卡片布局
- 拖拽上传支持
- 文件大小限制(5MB)
- 未保存更改提醒
- 页面离开前确认
- 成功/错误提示
- 深色主题适配
功能:
- 实时展示自定义设置效果
- 登录页海报演示
- Logo显示演示
- 能量流图标演示
- 状态指示器(使用自定义/使用默认)
- 自动刷新功能
包含内容:
- 功能说明
- 集成代码示例
- localStorage键名说明
- 数据格式说明
- 文件大小限制
- 重置功能说明
- 注意事项
添加翻译:
-
中文:
menuElectricityPrice: '电价设置'menuPersonalization: '个性化设置'
-
英文:
menuElectricityPrice: 'Electricity Pricing'menuPersonalization: 'Personalization'
- personalization.html - 个性化设置主页面
- personalization-demo.html - 演示页面
- personalization-usage.md - 使用指南
- navbar.js - 已更新(添加菜单项)
- common.js - 已更新(添加翻译)
- 登录系统
- 点击"系统管理" → "个性化设置"
- 选择要自定义的项目(海报/Logo/图标)
- 点击"上传"按钮选择图片
- 预览效果
- 点击"保存更改"
- 刷新相关页面查看效果
示例1 - 登录页应用海报和Logo:
document.addEventListener('DOMContentLoaded', function() {
// 应用自定义海报
const customPoster = localStorage.getItem('customPoster');
if (customPoster) {
document.querySelector('.login-background').style.backgroundImage = `url(${customPoster})`;
}
// 应用自定义Logo
const customLogo = localStorage.getItem('customLogo');
if (customLogo) {
document.querySelector('.logo img').src = customLogo;
}
});示例2 - 首页应用能量流图标:
document.addEventListener('DOMContentLoaded', function() {
const customIcon = localStorage.getItem('customEnergyIcon');
if (customIcon) {
document.querySelectorAll('.energy-icon').forEach(el => {
el.src = customIcon;
});
}
});所有自定义设置存储在浏览器的 localStorage 中:
| 键名 | 用途 | 格式 |
|---|---|---|
customPoster |
登录页海报 | Base64 Data URL |
customLogo |
系统Logo | Base64 Data URL |
customEnergyIcon |
能量流图标 | Base64 Data URL |
- 渐变图标:每个设置项都有独特的渐变色图标
- 卡片式布局:清晰的视觉分隔
- 实时预览:上传后立即看到效果
- 保存提示栏:固定在页面底部,提醒用户保存
- Toast通知:操作成功/失败的即时反馈
- 深色主题适配:支持系统深色模式
- 文件大小限制:单个文件最大5MB
- 浏览器兼容性:现代浏览器(Chrome、Firefox、Safari、Edge)
- 数据持久性:存储在localStorage,清除浏览器数据会丢失
- 安全性:图片以Base64存储在本地,不会上传到服务器
- 性能影响:大图片可能影响页面加载速度,建议优化图片大小
- 纯前端实现:无需后端支持
- FileReader API:读取本地文件
- localStorage API:持久化存储
- Base64编码:图片存储格式
- 事件监听:页面离开前确认
- CSS Grid布局:响应式设计
- 在登录页(login.html)应用自定义海报和Logo
- 在导航栏(navbar.js)应用自定义Logo
- 在首页(dashboard.html)应用自定义能量流图标
- 添加图片压缩功能,减小存储空间
- 添加批量导出/导入功能,方便备份和恢复
- 添加更多自定义选项(主题色、字体等)
- 访问
personalization.html测试上传功能 - 访问
personalization-demo.html查看实时效果 - 尝试上传不同格式和大小的图片
- 测试恢复默认功能
- 测试页面离开前的提醒功能
- 切换浏览器语言测试多语言支持
实施日期: 2025年 状态: ✅ 完成 版本: 1.0.0