正在加载中...

IMQI1.COM

跳转到主要内容

欢迎来到 ImQi1

IMQI1.COM

做技术的分享者 · 生活的摄影师 · 时事的评论员

头像

? 为什么要做这个网站

起初建站只是一时兴起,和大多数人一样,我只是想记录下自己学习编程的心路历程和笔记,供自己以后有个参考。刚开始我以为有一个自己的网站是一个小众爱好,直到后来我才发现网络上有很多对此感兴趣的伙伴,于是我开始和他们保持联系。随着时间的增长,我对软件开发有了更浓厚的兴趣,我开始和同学、朋友交流,也有了自己独立开发的想法。在这之前我曾换过多个框架、主题,最终还是觉得自己开发一个主题最有成就感,也最能证明自己真正地学到了东西,所以你能在这里看到这些文字,也能看到我在此记录的其他内容。

我喜欢游山玩水,有自己的爱好,活动。我觉得一切有趣的事情,都会在此记录。

网站架构

高开发效率 + 类型安全 + 全栈统一

Nuxt4 为本站提供了快速、简单、可维护的网站架构

Prisma 提供了类型安全的数据库操作,确保数据的一致性和完整性

本站主题为 Glass,是我制作的第二款主题,从 2026 年 4 月开始制作,至今持续更新中。这一版基于 Nuxt 4 与 TypeScript 前后端同构搭建,配合 Tailwind CSS 构建现代化响应式布局,集成 APlayer 音乐播放器、Fancybox 图片灯箱、实况照片与轮播等富媒体组件,为文章内容提供更丰富的交互体验。系统涵盖文章、评论、友链、订阅、归档与搜索等完整博客功能,配合完善的后台管理,构成一套真正意义上的全栈内容管理系统。

样式选择

保持界面清爽,同时不牺牲功能丰富度
选择字体类型,合理规划布局,注意颜色搭配,添加边框圆角。
字体选择
主要字体
代码字体
JetBrains Mono
图标
Remixicon
调整布局
适当采用圆角、阴影、遮罩、背景,添加动画、交互,让页面尽量简洁的同时不牺牲用户体验。
用小组件丰富文章内容
音乐播放器
视频播放器
代码块
TIP 组件
轮播图
...
用文章的方式记录生活
小记
记录旅游、活动、生活中的小事
图片
小物件,风景,合照,值得记录的瞬间
技术
分享开发中有趣的事情
讨论
理性地发表自己的看法

文章内容

最新发布的内容
生活中的小事、照片,感兴趣的技术等
查看全部文章

小记

记录旅游、活动、生活中的小事
查看更多

技术

分享开发中有趣的事情
查看更多

讨论

理性地发表自己的看法
查看更多

最新图片

最近发布的图片
小物件,风景,合照,值得记录的瞬间
网站架构
样式选择
最新内容
最新图片

阅读更多

订阅文章

来自订阅源的最新内容
查看这些站点位于哪里博客网络
查看更多

更新日志

站点最新更新
查看更多
2026-07-02
新增

404 页面新增 Singularity 黑洞背景效果(基于 WebGL ShaderToy)

修复

修复地图 CDN 未配置时 CSP 拼接 undefined 的问题,补充地图交互样式

新增

文章卡片改为封面全屏背景样式

优化

优化图标按需加载策略,改进右键菜单与封面图

优化

懒加载 Swiper 模块,直接动态导入 Swiper 具体模块文件以避免 barrel 整体打包

其他

重构文件结构,移除冗余的 index.vue 与 index.get.ts 等路由文件

其他

使用 v-scroll-reveal 指令替换旧的淡入动画实现

优化

合并全局滚动监听至单一 rAF 调度器,减少滚动卡顿

修复

修复 InspiraShaderToy 的 WebGL 上下文泄露:dispose 时断开 ResizeObserver 并移除 canvas 事件监听的 bug

修复

修复文章页 MetingPlayer 子应用卸载时未 unmount,导致每次导航累积 Vue 子应用与 APlayer 实例的 bug

修复

修复 image-loader 插件对已移除图片未取消观察,导致 SPA 导航时游离 img 引用常驻的 bug

修复

修复文章页 Markdown 轮播 Swiper 实例卸载时未 destroy,泄露模块监听与 resize observer的 bug

修复

修复关于页数字动画 RAF 循环与 initAnimations 递归 setTimeout 在卸载后仍执行的 bug

修复

修复 APlayer 销毁时未清理 audio 事件、拖拽 document 监听与 skipTime/noticeTime 定时器的 bug

修复

修复 useAudioPlayer 的 canplay 一次性监听在卸载时残留导致销毁后仍触发自动播放的 bug

优化

移除 APlayer 全局 requestAnimationFrame polyfill 覆写,清理各组件未取消的定时器与死代码

优化

地图组件卸载时主动调用 cluster.setMap(null) 触发聚合清理,不再单靠 map.destroy 兜底

2026 © ImQi1