From 7d7c237f3aef73eb3b5c5bc49aa58279c19c7dbf Mon Sep 17 00:00:00 2001 From: Richard Date: Thu, 6 Jul 2023 19:39:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E7=AD=BE=E5=90=8D=E6=9C=8D=E5=8A=A1=E5=99=A8=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/SetupController.ts | 8 +++++++- src/helpers/setupHelper.ts | 8 ++++++++ src/services/SetupService.ts | 6 +++--- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/controllers/SetupController.ts b/src/controllers/SetupController.ts index 7dc964b..c80af4d 100644 --- a/src/controllers/SetupController.ts +++ b/src/controllers/SetupController.ts @@ -84,9 +84,15 @@ export default class SetupController { [Button.text('macOS', true, true)], ]); const platform = setupHelper.convertTextToPlatform(platformText); + + let signApi = await this.setupService.waitForOwnerInput('请输入签名服务器地址', [ + [Button.text('不需要签名服务器', true, true)], + ]); + signApi = setupHelper.checkSignApiAddress(signApi) + let password = await this.setupService.waitForOwnerInput('请输入密码', undefined, true); password = md5Hex(password); - this.oicq = await this.setupService.createOicq(uin, password, platform); + this.oicq = await this.setupService.createOicq(uin, password, platform, signApi); this.instance.qqBotId = this.oicq.id; await this.setupService.informOwner(`登录成功`); } diff --git a/src/helpers/setupHelper.ts b/src/helpers/setupHelper.ts index 33368fc..801b4db 100644 --- a/src/helpers/setupHelper.ts +++ b/src/helpers/setupHelper.ts @@ -26,4 +26,12 @@ export default { return ''; } }, + checkSignApiAddress(signApi: string) { + try { + new URL(signApi); + return signApi; + } catch (err) { + return ""; + } + } }; diff --git a/src/services/SetupService.ts b/src/services/SetupService.ts index 71fbc48..fabdcd3 100644 --- a/src/services/SetupService.ts +++ b/src/services/SetupService.ts @@ -83,11 +83,11 @@ export default class SetupService { }); } - public async createOicq(uin: number, password: string, platform: Platform) { - const dbQQBot = await db.qqBot.create({ data: { uin, password, platform } }); + public async createOicq(uin: number, password: string, platform: Platform, signApi: string) { + const dbQQBot = await db.qqBot.create({ data: { uin, password, platform, signApi } }); return await OicqClient.create({ id: dbQQBot.id, - uin, password, platform, + uin, password, platform, signApi, onQrCode: async (file) => { await this.owner.sendMessage({ message: '请使用已登录这个账号的手机 QQ 扫描这个二维码授权',