作者:广树时间:2025-12-21 10:58:20分类:博客开发
距离维基萌博客系统的第一版发布也过了将近2年的时间了,这2年时间Nuxt.js从3迭代到了4,mongodb从6迭代了8,于是就趁着这次机会重写了部分维基萌博客系统。
这将是这次版本中最大的破坏性更改。
一开始的维基萌博客系统开发时其实并没有考虑Docker部署,很大的原因其实是因为我对Docker不是很熟。
后来 timochan 大佬的帮助,维基萌博客实现了Docker部署。
但是问题仍然存在。
因为Nuxt.js的底层限制,对于路由的配置在开发时可以使用环境变量来控制配置,而编译后这些配置会被硬编码进编译后的代码里。
这就造成使用者每次Docker部署都需要编译一次的问题。
后来做了一个lite版,阉割了依赖于环境变量的SWR功能以及限制了反代API的域名,但是这么做还是过于局限。
所以趁着这次的Nuxt.js迭代想来波大的理念,自己重写了域名反代和SWR功能,并写了一个启动器,使其支持Nuxt.js的Runtime变量导入。
这样,使用者只需重新定义新的环境变量即可一键Docker部署维基萌系统了。
管理后台对于访客的数据统计和SEO做了一定的优化。

首先是对主流的国家地区显示做了中文的映射。
对比纯英文显示,能更直观的分辨。
同时统计信息从原先的只统计PV,增加了IP数量的显示。

增加了语言环境代码的统计。
更直观的了解用户所使用的语言,尽可能减少因为代理造成的统计干扰。

时区的显示可以辅助判断当前用户是否是真实用户。
例如时区是其他国家,但是语言环境是中文,那么大概率是海外用户或者是挂代理的用户。
![]()
例如这种陌生的时区,陌生的语言环境,即使UA头没有声明是爬虫,大概率也不是真人。

对搜索引擎爬虫有特殊要求时可以配置。
博客端也做了一定的小优化。


点击底部分页器可以填写页码直接跳转。
但是这个设计是不是有些设计的过于隐蔽了😅。


对于内容过长的项目,会自动应用收起功能,防止过长的侧边栏内容展示。
如果没遇到什么BUG的话,预计元旦前后发布,敬请期待!











