mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-03-01 00:00:26 +00:00
Add end-to-end support for reading/writing Linux machine-info and computing GUIDs. Backend: - Introduce MachineInfoUtils (TS) for machine-info path lookup, ROT13 serialization, read/write/delete, backups, and MD5-based GUID computation. - Add a Python utility (guid.py) for CLI inspection, encode/decode, dump, and GUID computation. - Extend QQLogin API with new handlers: GetPlatformInfo, GetLinuxMAC, SetLinuxMAC, GetLinuxMachineId, ComputeLinuxGUID, GetLinuxMachineInfoBackups, CreateLinuxMachineInfoBackup, RestoreLinuxMachineInfoBackup, ResetLinuxDeviceID. Handlers include automatic backup behavior and error handling. Router: Register new QQLogin routes for platform info and Linux machine-info operations. Frontend: - Enhance guid_manager UI to detect platform and provide Linux-specific workflow (display machine-id, show/edit MAC, preview computed GUID via MD5, backup/restore/delete machine-info, and restart actions). - Add client-side MD5 (crypto-js) usage and new QQManager API methods to call the new backend endpoints. This change enables cross-platform GUID management (Windows and Linux), includes CLI tooling for low-level inspection, and adds frontend workflows for Linux device-id management.
91 lines
3.4 KiB
TypeScript
91 lines
3.4 KiB
TypeScript
import { Router } from 'express';
|
|
|
|
import {
|
|
QQCheckLoginStatusHandler,
|
|
QQGetQRcodeHandler,
|
|
QQGetQuickLoginListHandler,
|
|
QQSetQuickLoginHandler,
|
|
QQGetLoginListNewHandler,
|
|
getQQLoginInfoHandler,
|
|
getAutoLoginAccountHandler,
|
|
setAutoLoginAccountHandler,
|
|
QQRefreshQRcodeHandler,
|
|
QQPasswordLoginHandler,
|
|
QQResetDeviceIDHandler,
|
|
QQRestartNapCatHandler,
|
|
QQGetDeviceGUIDHandler,
|
|
QQSetDeviceGUIDHandler,
|
|
QQGetGUIDBackupsHandler,
|
|
QQRestoreGUIDBackupHandler,
|
|
QQCreateGUIDBackupHandler,
|
|
QQGetPlatformInfoHandler,
|
|
QQGetLinuxMACHandler,
|
|
QQSetLinuxMACHandler,
|
|
QQGetLinuxMachineIdHandler,
|
|
QQComputeLinuxGUIDHandler,
|
|
QQGetLinuxMachineInfoBackupsHandler,
|
|
QQCreateLinuxMachineInfoBackupHandler,
|
|
QQRestoreLinuxMachineInfoBackupHandler,
|
|
QQResetLinuxDeviceIDHandler,
|
|
} from '@/napcat-webui-backend/src/api/QQLogin';
|
|
|
|
const router: Router = Router();
|
|
// router:获取快速登录列表
|
|
router.all('/GetQuickLoginList', QQGetQuickLoginListHandler);
|
|
// router:获取快速登录列表(新)
|
|
router.all('/GetQuickLoginListNew', QQGetLoginListNewHandler);
|
|
// router:检查QQ登录状态
|
|
router.post('/CheckLoginStatus', QQCheckLoginStatusHandler);
|
|
// router:获取QQ登录二维码
|
|
router.post('/GetQQLoginQrcode', QQGetQRcodeHandler);
|
|
// router:设置QQ快速登录
|
|
router.post('/SetQuickLogin', QQSetQuickLoginHandler);
|
|
// router:获取QQ登录信息
|
|
router.post('/GetQQLoginInfo', getQQLoginInfoHandler);
|
|
// router:获取快速登录QQ账号
|
|
router.post('/GetQuickLoginQQ', getAutoLoginAccountHandler);
|
|
// router:设置自动登录QQ账号
|
|
router.post('/SetQuickLoginQQ', setAutoLoginAccountHandler);
|
|
// router:刷新QQ登录二维码
|
|
router.post('/RefreshQRcode', QQRefreshQRcodeHandler);
|
|
// router:密码登录
|
|
router.post('/PasswordLogin', QQPasswordLoginHandler);
|
|
// router:重置设备信息
|
|
router.post('/ResetDeviceID', QQResetDeviceIDHandler);
|
|
// router:重启NapCat
|
|
router.post('/RestartNapCat', QQRestartNapCatHandler);
|
|
// router:获取设备GUID
|
|
router.post('/GetDeviceGUID', QQGetDeviceGUIDHandler);
|
|
// router:设置设备GUID
|
|
router.post('/SetDeviceGUID', QQSetDeviceGUIDHandler);
|
|
// router:获取GUID备份列表
|
|
router.post('/GetGUIDBackups', QQGetGUIDBackupsHandler);
|
|
// router:恢复GUID备份
|
|
router.post('/RestoreGUIDBackup', QQRestoreGUIDBackupHandler);
|
|
// router:创建GUID备份
|
|
router.post('/CreateGUIDBackup', QQCreateGUIDBackupHandler);
|
|
|
|
// ============================================================
|
|
// 平台信息 & Linux GUID 管理
|
|
// ============================================================
|
|
// router:获取平台信息
|
|
router.post('/GetPlatformInfo', QQGetPlatformInfoHandler);
|
|
// router:获取Linux MAC地址
|
|
router.post('/GetLinuxMAC', QQGetLinuxMACHandler);
|
|
// router:设置Linux MAC地址
|
|
router.post('/SetLinuxMAC', QQSetLinuxMACHandler);
|
|
// router:获取Linux machine-id
|
|
router.post('/GetLinuxMachineId', QQGetLinuxMachineIdHandler);
|
|
// router:计算Linux GUID
|
|
router.post('/ComputeLinuxGUID', QQComputeLinuxGUIDHandler);
|
|
// router:获取Linux machine-info备份列表
|
|
router.post('/GetLinuxMachineInfoBackups', QQGetLinuxMachineInfoBackupsHandler);
|
|
// router:创建Linux machine-info备份
|
|
router.post('/CreateLinuxMachineInfoBackup', QQCreateLinuxMachineInfoBackupHandler);
|
|
// router:恢复Linux machine-info备份
|
|
router.post('/RestoreLinuxMachineInfoBackup', QQRestoreLinuxMachineInfoBackupHandler);
|
|
// router:重置Linux设备信息
|
|
router.post('/ResetLinuxDeviceID', QQResetLinuxDeviceIDHandler);
|
|
|
|
export { router as QQLoginRouter };
|