2022年中博客更新记录

年中博客更新点

更新总结

1. 优化文章中的列表链接点击后在新页面打开

描述:原逻辑为点击后当前页面打开链接,新逻辑改为新页面打开。

收益:增加页面留存,避免打开后直接关闭文章。

2. 修复取消搜索按钮偶发不生效

bug修复

3. 优化文章编辑不缓存未发表文章

此优化方案存在更大问题,已回滚。等待新方案进行修改。

收益:避免页面异常关闭导致数据丢失。

4. 优化第三方资源按需加载

优化一些资源,按需加载并使用cdn方案进行加载,减少主包过大和解决主站资源并行加载问题。

收益:提升网站加载速度

使用方案

前提:nuxtjs 2 + webpack 4

描述:使用webpack externals的能力进行script加载。

问题:

1. 由于某些依赖nextjs服务器渲染时也需要,所以这部分不进行按需加载。
2. webpack4 的externals需要手动进行script的引入,所以引入时机需要自己把控。
3. 部分依赖只指出cjs 或者 es6模块,所以需要额外处理。

5. 优化友情链接/圈子 内容不集中

主要表现为样式优化,目的是内容集中。

6. 增加头部导航栏增加滚动交互效果

优化交互表现,提高用户体验。

页面向下滚动时隐藏导航,向上时显示导航。

7. 修复详情页面导航高度问题

描述:导航区域原表现为有多少展示多少,所以当页面导航过多时出现无法完全展示的情况。

修改为固定高度但内部增加滚动。

8. 增加列表开放点赞

原列表处鼠标hover有引导但无法点击(点赞),现改为可以。

9. 迁移通知,从轮训改为websocket

原站内通知(即右上角小红点)为轮训方案,没五秒请求一次数据。现改为websocket(socket.io)方案。

收益:为以后的即时通信相关功能做试点。

使用方案

前提:nestjs

使用nestjs官网socketio方案,建立WebSocketGateway。

img

10. 优化文章上传前下载文档中资源并替换/如果错误就替换成默认资源(附上原始图片地址)

考虑到服务器下载资源导致服务器ip泄露风险,原服务器直接下载方案去掉。正在构建沙箱。

11. 修复部分页面自适应优化问题

部分页面手机端访问会出现问题,已优化。

12. 优化短信抬头从个人改为“不才的博客”

image20220825101604128.png

13. 审核/留言/回复后短信通知目标对象

image20220825101709327.png

方案

采用类似节流的方案,第一条消息为触发,五分钟后发送,这期间的会一起发送,不会重新计时,不会延迟发送。

风险:服务器重启可能会漏发,后期改为消费模式。

14. 移除文章归档功能

归档原设计不合理,导致容易被脱库,cc风险。

15. 增加鼠标移动到头像后展示用户卡片

image20220825102402154.png

16. 优化留言框和主题保持一致

image20220825102418544.png

image20220825102431583.png

17. 更改流程,留言需绑定手机号

互联网安全,维护互联网安全环境。第三方登录无手机号,需要手动绑定使用。

image20220825102623810.png

18. 升级部分资源版本,让GitHub漏洞扫描减少错误提示

大部分为框架依赖,暂时没有一个好的处理方案,只能简单处理部分。

19. 迁移数据从mongodb到mysql

已基本迁移。

自编写脚本进行数据迁移。

结构更新 + 数据搬迁。

image20220825102827124.png