周末写一个网易游戏PC端快捷扫码登录工具

Posted on

网易的不少端游都是由手游转制来的,还不给账号密码的登录方式,只能用手机扫码。有人提出需求:养了一堆小号,每次要上号都很麻烦,能不能弄个PC端的扫码登录工具。额……趁周末实现了一个。

append: 后面又更新了几次,更新日志放文末。

先放图

朴实无华的首页

朴实无华的首页

扫码后选择账号

扫码后选择账号

账号管理页面

账号管理页面

大致开发进程(遇到的坑……)

大致开发进程

录屏动图等下再发。

主要技术

经历过上上个月用Python + tkinter那痛苦的布局体验后,这次我尝试了一下Vue.js + Electron的实现方式,果然是好看、现代得多。

Electron分主进程和渲染进程两部分,简单理解的话就是Node.js端Web端(吧)。要做一个扫码工具,容易想到的思路是前端点一下按钮通知主进程对屏幕截图(使用ipcRenderer通信),Node.js 端截图解析二维码返回给前端(ipcMain通信)。实际操作上,这个 Node.js 对系统屏幕的截图实在是难以操作,遇到的坑一个接一个。

多种尝试无果后,再次掏出老本行:使用 Python 通过 Windows 原生 Api 对指定窗口截图(还能实现后台截图呢,窗口挡住了也没事),然后寻找、解析二维码。Node.js 调用生成的 Python 程序,拿到二维码内容返回给前端走后面的流程。

比较庆幸的是,在登录协议上倒是没花多少时间。网易提供了网易手游管家这一微信小程序,而众所周知微信小程序能看到源码哈哈。分析了一波账号登录、扫码、确认登录的请求后,拿来用用很简单就搞定了协议部分嘿嘿。

更新20200811

大致更新日志

大致更新日志

支持多用户,登录窗口

支持多用户,登录窗口

自动检查更新,支持自动下载、安装

自动检查更新,支持自动下载、安装

首页布局优化

首页布局优化

后记

然后就是,我不玩网易游戏啊。

-END-

read_count