IMQI1.COM

正在加载中

加载未完成?点击任意处或按 Esc 跳过

跳转到主要内容

欢迎来到 ImQi1

IMQI1.COM
做技术的分享者,生活的摄影师,时事的评论员。
头像

? 为什么要做这个网站

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

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

网站架构

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

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

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

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

样式选择

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

文章内容

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

小记

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

技术

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

讨论

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

最新图片

最近发布的图片
小物件,风景,合照,值得记录的瞬间

阅读更多

订阅文章

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

抖音刷到了一个模拟高中的游戏

高中毕业距今也有五年。大学四年,进社会一年。我平时不怎么念旧,高中、大学的照片,我没拍也没存。有时还会刷到类似“时间会惩罚念旧的人”的文案,我庆幸自己不是这样的人。 可能跟我的生活中突然闯进了一个人有关,我开始变得爱记录。平时这个网站只会写一些我去各个地方游玩的记录,类似游记。但是自从家里没钱,我也很久没工作以后,我就始终困在家中,没有机会去新地方,也没有机会见新的人。有时我会庆幸自己在大学玩过很多地方,在自己的技术没有落下的前提下,能让我自己从繁忙的学业中,抽出空来满足下自己的精神需求。偶尔叫上三两好友,去海边或者公园谈一谈生活琐事。 毕业到现在一年多,偶尔会和高中大学同学有联系。我来自黑龙江,有一部分高中同学就留在黑龙江,考公的考公,创业的创业。大学同学呢,我知道的就是我的五个舍友全考研了,还有一个在唐山做交付工程师,一个月六千多块。之前我在成都东站住的民宿的房东,找我说她儿子打算换工作,问我收不收徒弟。看了眼他的简历,没什么内容,写的太少了。和我一样,毕业一年,但只做过数据标注和专利申请,都是很边缘,接触不到核心业务的工作。我的建议就是转行。要么自己有明确的学习目标,然后跟着免费课程学;要么花钱,报一个班,适合没方向没自制力的。 对象明天走,白天还去找她的好闺闺玩了。我在家太无聊,用 Minmax 的 coding plan 套餐改代码,改累了就刷会抖音。今天刷到一个在 TapTap 的游戏,是模拟高中三百天的游戏,和我之前玩过的《情感反诈模拟器》很相似。后者是视频游戏,同时在节点会有选项,选择不同对故事的剧情有不同的影响。前者由于是小程序,制作团队也只有一个人,选项是必需的,节点处则出现的是插图,感觉是 AI 生成的。 游戏从高考前 300 天的第 1 天开始,每一周可以选择一个大目标,每天会包括一个事件,这个事件可能关于学习、人际交往和休息有关。你的选择会影响你的精力、人际关系值和对各个学科的掌握值。在这里你可以选择是努力学习,也可以和异性发展关系。 进入游戏之前,我在搜索这个游戏的时候,我就看到有很多人都发过自己的游戏结局。有人发考上北川大学(就是北大)的截图,有人和心爱的人考上同一所大学,而我想要爱情学业双丰收。 刚开始我还很有自信,通过不断的做错题,和班级学习好的学生交流学习方法,每次考试都把自己的成绩提升上去。同时周计划可以看到自己和哪...

周天记2026-09-05

小神兽终于上幼儿园了

![](https://img.lovelu.top/2026/shangyoueryuan.webp) 不得不说,孩子是个双刃剑,不在家的时候还有点儿想,在家的时候真是快要被吵疯了。 我家闺女典型的在外内向(相对而言),在内外向,平时不怕人,心情好碰到陌...

自己的2026-09-04

或许我们每个人都有问题

大家好,最近一直没更新文章,是因为最近发生的事情比较多,比较杂,我没有精力没有心情在这里发表更多内容。 首先就是工作的事情。我从 7 月份就来到成都,找了两个月的工作,最后也是在高新区的一家小公司入职了,做的是 Agent 开发。公司提供免费的 DeepSeek,各位可以从我的更新日志查看我最近的更新,这几天的提交有 100 多次。我甚至把公司的 DeepSeek 用超了,原因是我开了很多次 Workflow 检测 imqi1-cms 的问题,每次都是全量扫描,而且 DeepSeek 还涨价了。除了收拾以前留下的烂摊子,我最近也上线了很多新功能。包括前篇文章提到的那些,到现在我已经把本项目打磨得非常完美了。有全类型、无任何 any 的 TypeScript,且 0 报错的 nuxi typecheck、0 报错的 Eslint、0 警告的 TailwindCSS Itellisence。安全上,两步验证、评论内容审核、验证码机制、动态窗口防暴力滥用、CSP、每一处都有的防 XSS 等,每一处都不给攻击者可乘之机。功能也是越来越丰富,最大的就是富文本 Markdown 双切换,并且富文本和 Markdown 具有相同的撤回和重做,支持完整的 Markdown 语法和快捷键,自定义组件也是实时渲染的。 当然我现在想写这篇内容的动机不是因为我工作得多好,功能更新的多少,而是我们又吵架了。 这次,我把她叫到我身边看我写这些内容。 这一次吵得比以往更加激烈。我把押金 50 块的大桶水扒拉到地上,用拳头使劲地砸墙,还动手戳了她。她趁我生气的时候一直在收拾东西。 我有很严重的躯体化,这一次真的发作特别严重,我甚至想打 120。我全身抽筋,手指伸不直,上楼还需要扶着楼梯(我们现在住的是一个双层主卧)。 说这个之前,我想先说一下我们历经波折是怎么安定下来的吧。 我刚来成都的时候,想的就是先住酒店或者民宿,挑离公司近的地方,然后一周可以约五个以上的面试。可是我根本就不知道面试安排这么多,到最后还是没有可以聘用我的。在这期间她来找我,她挑了一个比较好的民宿,我们暂且住下了,并且她走了以后我还在这里继续住,因为便宜。然后再后来,她又来了,跟我换了一个民宿住下,那时我已经找到工作了,她就和我一起住在新的民宿。在这期间我一直没有租房,因为家里资金紧张。到后来我实在不想折腾了,我找...

更新日志

站点最新更新
查看更多
2026-09-04
新增

登录安全升级:新增 TOTP 动态码两步验证(后台可扫码绑定动态码,RFC6238 免依赖实现 + 动态码步进录入)、自适应图形验证码(同一 IP 连续失败后触发)、「信任此设备」后下次免动态码、登录限流迁 Redis(INCR+EXPIRE 内存兜底);后台「账户设置」新增两步验证启用/停用卡片。

新增

二维码能力:新增通用 /api/qr 渲染任意文本为 PNG;文章页「扫码在手机端查看本文」、足迹地图角落「扫码在高德打开」当前/首个足迹地点(uri.amap.com/marker)、2FA 启用弹层顶部二维码登记(保留密钥复制兜底);首页与足迹 InfoWindow 二维码统一复用 SiteQrcodeButton 弹层组件(Esc 关闭/焦点送回/无障碍 aria)。

新增

文章页新增「小程序看」入口,懒加载微信小程序码(未配置 WECHAT_MINI_* 凭据或文章不存在时自动隐藏、不再打微信 API);配套微信小程序码服务端脚手架(access_token 内存缓存 7200s 提前刷新 + getwxacodeunlimit 生成 PNG,配置驱动)。

功能

后台「已信任设备」管理:登录勾选「信任此设备」后写入数据库,后台可见每台设备的 IP/最近登录/到期时间并逐一撤回;支持给每台设备自定义名称、后台重命名(PUT /api/admin/2fa/devices/[id],≤100 字,空串清空回「未知设备」);重命名后本地乐观回填,保存不再闪现旧名。

其他

底层数据库从 MySQL 迁移到 PostgreSQL:Prisma 适配器改用 PrismaPg、原生 SQL 语法适配(反引号→双引号、FOREIGN_KEY_CHECKS→session_replication_role)、索引/约束名 schema 级全局唯一改名、初始化脚本整体重写为 PG(SERIAL/TEXT/TIMESTAMP(3)/JSONB/pg_trgm GIN)、docker-compose 换 postgres:16-alpine、系统信息页 DB 标签更新;后台数据导出改流式分块 + keyset 游标分页,大数据量导出内存恒定、并发写不重不漏。

修复

文章详情页「相关文章」区修复首帧 hydration mismatch(SSR/CSR 节点结构不一致),改为 onMounted 才触发加载、首帧两端结构一致。

修复

修复未配置 SSR_INTERNAL_REQUEST_SECRET 时首页被 referer 门禁 403 拦截、无法直达取到最新文章的问题:缺省回落固定默认值并让内部请求头两端一致(运维仍可设随机长串覆盖)。

修复

留言板(页面型内容)评论的邮件通知链接不再 404:页面改走 /<slug>(原 /content/contents/messages)、无分类文章兜底改「uncategorized」(与前台一致)、站点 URL 去尾斜杠防双斜杠;小程序码端点移出 /api/mini/*(主站 <img> 无 HMAC 签名会 401,改公开 /api/qrcode)。

修复

评论入库 IP 修复:源站前有 CDN/云接入时此前把回源节点 IP 写成评论 IP(足迹去重/限流键同样塌缩),现通用化 nginx real_ip 恢复真实客户端(DEPLOY_TRUSTED_PROXY 配回源段,DEPLOY_REAL_IP_HEADER 默认 X-Forwarded-For),provider 无关、后端 getClientIp 无需改动。

优化

上传脚本(COS/服务器)输出进度条重做:单行原地刷新不逐文件滚动、进度块锚定终端底部、上传完成后清空不占满屏幕、修复长文本残留。

优化

构建哈希改由 /api/site 接口下发(runtimeConfig.public 清空,NUXT 不再暴露站点配置),前端经 useSiteSettings 读取,供页脚/关于页/后台仪表盘展示。

优化

后台设置面板新增搜索关键词结果缓存开关(searchCacheEnabled/Expire 持久化);搜索回归数据库逐分支模糊查询,放弃 Redis 倒排索引方案(避免分词召回缺口与跨架构部署的 EBADPLATFORM 问题)。

2026 © ImQi1冀ICP备2023007665号
音乐加载中