1628345033618.jpg

update

感谢@imlinhanchao大佬做了新版的客户端
传送门
功能更加齐全完善,我这版也可以弃坑了

intro

为什么会有这个东西
平时其实很喜欢看大家聊天,虽然经常不说话,就像qq,我老是嫌他太安静了(毕竟没人会找我聊天),所以加了一大堆的qq群,只是依然没人跟我聊天
毕竟,现实中我们社交恐惧症,网络上咱社交牛逼症
在聊天室看大家聊天,偶尔插几句,其实是很愉快的事情,但是
但是来了,聊天室他只能在网页打开,然后就有了个问题,我需要时不时切换过来看看有没有人说话(虽然大部分时间没有
所以我就想参考直播间看弹幕那种,做一个客户端,全局置顶,再随便放个输入框,发送按钮就行了
这样就随时可以看到聊天室的消息,然后也可以直接回复

过程

首先,得是一个客户端,虽然会点java,会点Android,可是windows客户端完全是我的盲区
好在我还会点react,又好在有一个叫electron的框架,可以做跨平台的客户端,那咱就安排上
先文档瞅一眼,然后直接开干
一开始我以为electron是基于react,后来发现我想多了,人家随便你,用vue也行,你要是开心,手写html,js也可以
人家就是一个浏览器,大师,我悟了,这波是我格局小了

问题

其实整个过程还算顺利,跑通官方的electron demo基本就问题不大,但还是遇到了点问题
首先就是请求跨域……(这个跨域,真的是,无力吐槽
百度一番,在主线程创建窗口的时候webPreferences给一个webSecurity: false就可以了
其次是修改请求的cookie
可能我方式不对,我用axios请求时没法带上cookie,然后直接改header又没办法修改cookie
后来翻了electron的文档,在webRequest的api里找到了可以设置header的地方,成功修改cookie
最后就是websocket的问题,因为摸鱼派的websocket设置了需要登录,但是websocket并没有给我设置header的地方……
这里卡了很久,一直接收不到消息
最后,我发现首页的websocket可以不用登录,安排上,成功接到消息
至此,一个能用的版本就出来了

后续

其实目前这版也只是能用,全局悬浮,半透明,获取焦点后不透明,基本能用
但是,很多都没做,比如撤回,在线用户,表情图片的大小,cookie刷新等等
放第二版吧(有时间再说……
就这样吧,windows我打包了一版,放release里(打包出来这么大我是没想到的),其他平台的自己打包吧(估计也没人用,毕竟只是我自己的需求
就酱

地址-> https://github.com/csfwff/FishingPai-ChatRoom