抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

近况

很久没更新博客了,我觉得回来水一篇,大家也不用担心我会跑路啦,博客域名已续了10年,别问钱哪里来的,问就是免费报销的啦~

说回来,很久没写文了并不是别的原因,就是因为没有收入没什么回报,仅仅为了写文章也没什么动力,如果为了赚流量的话为什么不去恰烂钱呢?所以与其这样,不如躺平了算了。不过最近在写项目,顺便空闲时间给博客直接改造升级一波,然后顺手也写了篇博文总结一下最近的情况

对于整个站点的优化

内部:
我把原来的sw.js切换成了官方的Service-Worker.js,官方的缓存策略真的很给力的!同时换了张4K背景图,格式为WEBP,由原来的vercel拉取githubpage镜像资源改为了vercel也同步生成。同时对老掉牙的Volantis版本升级到了5.8.x版本。

外部:英语字体换成了仿苏芙比字体,是不是看起来非常Cute呀?这个字体大家偷的时候注意一下哦,不要用于商用,它是仿的游戏人物手写体,而且是我从b站up那里”借”来的,很遗憾不支持中文呢~

虽然修改很少,但是Volantis爆改这样的配色这样的字体,你绝对没见过第二个!

开源项目 NuCat

刚刚不是说最近在做项目嘛?下面就是了

一切的源头

正在上网的我收到了WinRar让我付费还是看广告的两难选项,我肯定是一个都不会选的啦!那么眼下我只能找其它免费的压缩软件了。虽然有7zip、bandzip等很多优秀的产品,但是有没有想过bandzip也是付费的,而7zip的界面又过于复古。对于我这种既要又要的人来说,能不能有一个开源、免费、可以换皮肤、支持多语言、又不那么臃肿的压缩软件呢?也许有但是仍未被我发现,但是有没有可能我可以自己写呢?在这种原因驱动下,我开始了NuCat压缩软件的开发~

工具与环境

这个很好选,按照习惯我直接选择 CMAKE+MSVC+VSCODE。虽然是单平台开发,但是CMAKE可以很方便设置依赖、设置参数,同时可读性高;MSVC则是比较优秀的CPP编译器;VSCODE和VS开发CPP都还行,但是VS有时候容易抽风呢~

食材的选材

数据交换和数据储存肯定是Json格式啦,而对于界面和我的需求相呼应的选项肯定不是QT、WIN UI 2/3 等等,这类不符合我喜新厌旧的习惯,而且本身我UI不是特别擅长。如果我有位朋友会写WEB,灵感不就来了吗?基于各种原因,Webview来展示界面就是最佳选项!

cpp上在win32可用的webview有很多,但cef、electron等等库都与我的小而美理念冲突,要小小的才可爱嘛~于是我们可以敲定webview2作为核心技术,但是在开发中对com等等不太熟悉呢,根据onebot我们得出一切皆可one,那么webview2作为可选引擎来进行封装的库肯定是有的,可以切换浏览器内核,接口操作上比webview2提供的api好用。

果然在我们的寻找中找到了webview/webview这个项目,我将这个项目作为我们的webview。然后我们还剩一个问题就是解压压缩怎么办?涉及算法而且各种格式兼容过于麻烦,摆在我选择只有两条:调用7zip的命令行或者sdk。但是调7zip命令行需要安装7zip,使用sdk又如webview2一样接口难以操作,幸好我找到bit7z库提供了对7zip的动态库操作,这样我们就找到了我们所有需要的库啦!

编码的选择

一切都很规范,bit7z、yyjson、webview/webview都是支持utf8的,但是存在一个问题,我是针对WinX64进行开发,采用UTF16或者ANSI调用才能正常调用接口,所以我们大部分采用UTF8,少部分WIN API进行UTF8转UTF16操作,按照规范执行~
内码:UTF8
外码:UTF16

开发体验

  1. 很久没有再次开发过WIN32窗口程序了,上次是N年前了,我已经很久没开发过了,本次可以说我是笨蛋了,因为WEBVIEW的com技术我没弄过,弄懂这个到放弃我直接换库了。还有就是无边框窗口保留阴影和窗口随意移动花费了很多时间,无边框会在上方有6px白边问题,主要是因为我想保留窗口阴影同时让它无边框,但是这样会存在6px非客户区。解决方法就是放弃阴影,然后用dwm api再绘出来,当然还有其它方案,比如自己用gdi绘阴影,但是确实只能说麻烦呢~

  2. 找罪受就来写这个,查资料没给我送走,webview/webview虽然说好于webview2体验,但是它屏蔽了大量操作,连resize webview都做不到,没办法,我只能爆改它的代码了,体验非常的差呢~

总结一下

没事不要瞎折腾啦!对于写这个Nucat压缩软件就像赛博顶真一样,绕了好大一个弯路。其实WIN11预览版内置压缩软件、WIN10正式版都能解压ZIP、RAR等常见的格式,所以为什么要这么麻烦呢?大家静静等待就行,或者说不嫌弃7Zip丑,还是可以用用7zip的啦~

至/2024

收回上面的话,至此讲点别的吧。马上将要到来的2024,大家元旦快乐。

评论