📍关键词:前端开发 / ECharts / localStorage / 个人网站 / 无后端项目
✨ 一、项目初衷:做一个"完全属于自己"的成长空间
一直以来,我都希望能有一个地方,
能记录下自己的旅行、阅读、兴趣、和那些成长的瞬间。
但是我不想用复杂的框架,也不想被服务器、数据库、后端逻辑束缚。
于是我就开始做一个------完全纯前端的个人成长网站。
没有服务器、没有登录注册、没有数据库。
所有数据都在浏览器中保存,支持一键导出 / 导入。
就像一个可以随身携带的成长档案馆。
项目展示如下:
11月2日
⚙️ 二、项目目标与技术路线
这个项目的目标非常明确:
纯前端、零部署、在线加载、持久化数据、轻量不卡顿。
🔧 技术栈选型:
- HTML5 + CSS3 + JavaScript
- ECharts 5(通过在线 CDN 加载)
- 中国地图 JSON(省级地图)
- localStorage(数据持久化)
- Base64 占位图(减少体积、提升加载速度)
🚀 实现原则:
| 目标 | 实现方式 |
|---|---|
| 无服务器 | 纯静态网页结构 |
| 无后端 | 全部逻辑在前端实现 |
| 无数据库 | 使用 localStorage 存储数据 |
| 可备份 | 导出 / 导入 JSON 文件 |
| 即开即用 | 直接双击 index.html 打开即可运行 |
🧩 三、功能设计概览
网站整体分为七个主模块,每个模块都能独立运行、自动保存数据。
| 模块 | 功能说明 |
|---|---|
| 🏠 首页 | 欢迎语 + 一句话简介 + 「进入网站」按钮 |
| 👤 我的 | 昵称、生日、城市、签名、圆形头像(微信二维码移除) |
| 🗺️ 旅程 | 省级地图高亮、点击查看详情、五星喜欢程度、旅行笔记 |
| 🖼️ 相册 | 瀑布流 + 点击放大 + 点赞持久化 |
| 📚 读书 | 列表/卡片双视图,支持评分、笔记、导入导出 |
| 🎨 兴趣爱好 | 卡片网格 + 详情长文 + 时间轴作品展示 |
| 🐾 宠物 | 档案、成长记录、照片合集、日常点滴(日历+图文) |
🗺️ 四、旅程模块:ECharts地图的"纯前端奇迹"
旅程模块是整个网站的核心。
我没有使用任何后端 API,而是通过 ECharts 的在线版本加载中国地图 JSON 文件。
js
// 在线加载中国地图
echarts.registerMap('china', chinaJson);
// 点击省份高亮并存储
mapChart.on('click', function (params) {
const province = params.name;
saveToLocalStorage(province);
updateMapHighlight();
});
🧠 数据存储逻辑非常简单:
js
localStorage.setItem('trips', JSON.stringify(tripList));
每次刷新页面时自动从本地加载上次数据。
悬浮显示旅行详情、点击进入省份详情页。
整个过程完全前端完成,无任何延迟。
📷 五、相册与读书模块:瀑布流与双视图切换
相册模块:
- 图片采用 Base64 假图占位,后续可替换;
- 点击大图弹窗查看;
- 每张图支持独立点赞,数据持久化至 localStorage。
读书模块:
- 支持"卡片视图"与"列表视图"切换;
- 自动记忆上次阅读偏好;
- 支持书名、评分、正文、封面图与日期;
- 一键导出为 JSON 文件进行备份。
🧠 六、数据管理与备份机制
所有数据均本地保存,结构清晰:
js
{
profile: {...},
trips: [...],
gallery: [...],
books: [...],
hobbies: [...],
pets: {...}
}
支持:
- ✅ 一键导出 JSON
- ✅ 一键导入 JSON(恢复完整数据)
- ✅ 自动保存、刷新不丢失
这意味着------
你可以随时清空缓存、备份、迁移,不依赖任何云服务。
💡 七、开发调试与可视化优化
整个网站完全可以离线开发 。
我使用了 VS Code + Trae AI 编程环境,在本地调试 HTML、CSS、JS。
通过 Chrome 的 DevTools,可以直接模拟手机、Pad 等响应式布局。
另外,地图、折线图、体重趋势图等全部使用 ECharts CDN 版本,无需打包构建。
📸 八、项目界面预览
下图为实际项目运行界面截图(开发版):

简洁的导航栏 + 三大模块入口
蓝紫渐变标题区 + 图标化分区展示
加载速度极快,体验流畅无卡顿。
🔮 九、后续计划
- 优化相册支持年份筛选与批量删除
- 阅读模块支持 Markdown 富文本
- 宠物时间轴与折线图联动动画
- 新增夜间模式切换
- 一键打包导出整个网站(含数据)
💬 十、个人感受
说实话,这个项目做下来最大的收获不是技术,
而是那种「自己从 0 到 1 造出一个完整空间」的成就感。
当你不依赖服务器、不靠框架,
一切从最纯粹的 HTML+JS 实现,
你会重新理解"前端"的意义。
它不只是界面,而是一个能存储记忆、承载思考的容器。
🔗 十一、项目链接
- 💻 GitHub 地址 :Tom-python0121/my-personal-blog
- 📦 项目说明:无需后端、支持离线运行、浏览器即数据仓库。
- ✨ 作者:盼哥 PyAI 实验室
❤️ 最后
如果你也想打造一个属于自己的成长空间,
不妨尝试这种"零后端"的方式。
点个 赞 👍 ,再 关注我 🧠 ,
我会持续更新这个项目的开发日志、代码优化与设计思路。