历经一段零散而充实的开发时光,LifePalette (拾色) 终于迎来了它的 v1.0 正式版本。
起初,这只是一个我想用来记录生活的小工具。故事的起点,源于一次偶然的邂逅。当我浏览到 翁天信 大佬的摄影作品集网站 CamArts 时,被深深震撼了——他将足迹所至、镜头所摄的照片,以一种极具艺术感的方式绘制在了地图上。
那一刻,一个念头在脑海中萌生:我也想拥有一幅属于自己的人生画卷。 这就是 LifePalette 诞生的初衷。
💡 灵感与技术实现的碰撞
为了将憧憬变为现实,我开始了技术探索。
首先是地图。查看 CamArts 源码后,我发现了 Mapbox——一个提供了极其丰富 API 的地图服务商。为了拓展技术视野,也为了实现心中所想,我决定用它来构建核心模块:地图轨迹。
有了地图,数据源从何而来?翻看手机相册时,EXIF 信息 给了我答案。它忠实地记录了照片的拍摄时间、地理位置和设备参数。
于是,逻辑闭环形成了:提取照片 EXIF -> 获取坐标 -> 绘制地图。
基于这个思路,我先在博客上实现了一个雏形:
效果出乎意料地好。于是,我决定将这个想法孵化为一个完整的应用。从服务端到 Web 端,从文件上传到自动化部署,LifePalette 在攻克一个个技术难点中逐渐成型。
🌈 LifePalette 的现在
如今的 LifePalette,已经不仅仅是一个地图工具,它成长为了一个私人色彩博物馆和记忆档案馆。
🎨 颜色画廊
智能提取每一张照片的主色调,构建你的色彩宇宙。
🗺️ 地图轨迹
自动定位、智能聚合。不仅支持生成精美的足迹海报,还能一键生成专属轨迹外链,独立嵌入到你的个人网站或博客中,轻松展示你的足迹。
🤖 AI 助手
智能续写与文本润色,让记录变得更轻松。
📱 微信小程序:拾色Life
全新上线的移动端体验,支持实况照片 (Live Photo) 预览与扫码登录。
🛠️ 为了极致体验而“造轮子”
作为一个纯粹的个人兴趣项目,LifePalette 的开发进度虽然随性,但对体验的追求从未妥协。
在开发过程中,为了实现更个性化的功能(如特殊的图片预览、实况图支持),我发现现有的库无法完全满足需求。于是,我选择沉淀下来,打造了一套跨框架的组件生态:
-
eosjs 🙌
基于 Web Components 的跨框架组件库,轻量且强大。 -
viewer-pro 🖼️
不一样的图片预览设计,支持自定义板块(如地理位置展示)、视频实况扩展等。 -
live-photo 🎬
专注于 Web 端实况图片 (Live Photo) 的预览实现。 -
uni-ui-plus 📱
基于 UniApp 实现的组件库,专为移动端实况预览及个性化交互设计。 -
life-palette-utils 🔧
LifePalette 的核心工具包,沉淀了项目中的通用逻辑。 -
l-preview 📦
基于 Vue3 的预览组件(限制了框架,不打算维护了)。
👋 写在最后
LifePalette 是一个始于兴趣、忠于热爱的项目。它记录了我的足迹,也见证了我的技术成长。
当然,作为一个由个人独立开发与维护的项目,受限于精力与能力,它或许还不够完美,难免会存在一些 Bug 或体验不佳之处。如果您在使用过程中遇到了问题,还请多多包涵。
如果你也对色彩、地图或记录生活感兴趣,或者有任何好的想法与建议,非常欢迎你参与到 LifePalette 的建设中来!无论是提交代码、反馈 Bug 还是提出新功能建议,都是对我最大的支持。
现在,我将它分享给你们。希望它也能成为你记录生活、发现色彩的好帮手。
👉 在线体验:lpalette.cn (Web 端功能丰富,推荐使用 电脑 访问以获得最佳体验)
🌟 开源地址:GitHub - LifePalette