diff --git a/server/apiAdmin.go b/server/apiAdmin.go index 0ec1b7f..37c99f3 100644 --- a/server/apiAdmin.go +++ b/server/apiAdmin.go @@ -157,12 +157,22 @@ func (s *webServer) logincore(relogin bool) { log.Warnf("2. 使用Cef自动处理.") log.Warnf("3. 不提交滑块并继续.(可能会导致上网环境异常错误)") log.Warnf("详细信息请参考文档 -> https://github.com/Mrs4s/go-cqhttp/blob/master/docs/slider.md <-") - log.Warn("请输入(1 - 3): ") - text = readLine() + if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput { + log.Warnf("请输入(1 - 3): (http://%s:%d/admin/do_web_write 输入)", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort) + text = <-WebInput + } else { + log.Warn("请输入(1 - 3):") + text = readLine() + } if strings.Contains(text, "1") { log.Warnf("请用浏览器打开 -> %v <- 并获取Ticket.", res.VerifyUrl) - log.Warn("请输入Ticket: (Enter 提交)") - text = readLine() + if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput { + log.Warnf("请输入Ticket: (http://%s:%d/admin/do_web_write 输入)", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort) + text = <-WebInput + } else { + log.Warn("请输入Ticket: (Enter 提交)") + text = readLine() + } res, err = s.Cli.SubmitTicket(strings.TrimSpace(text)) goto Again } @@ -199,31 +209,50 @@ func (s *webServer) logincore(relogin bool) { res, err = s.Cli.SubmitCaptcha(strings.ReplaceAll(text, "\n", ""), res.CaptchaSign) goto Again case client.SMSNeededError: - log.Warnf("账号已开启设备锁, 按下 Enter 向手机 %v 发送短信验证码.", res.SMSPhone) - readLine() + if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput { + log.Warnf("账号已开启设备锁, 已向手机 %v 发送短信验证码.", res.SMSPhone) + } else { + log.Warnf("账号已开启设备锁, 按下 Enter 向手机 %v 发送短信验证码.", res.SMSPhone) + readLine() + } if !s.Cli.RequestSMS() { log.Warnf("发送验证码失败,可能是请求过于频繁.") time.Sleep(time.Second * 5) continue } - log.Warn("请输入短信验证码: (Enter 提交)") - text = readLine() + if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput { + log.Warnf("请输入短信验证码: (http://%s:%d/admin/do_web_write 输入)", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort) + text = <-WebInput + } else { + log.Warn("请输入短信验证码: (Enter 提交)") + text = readLine() + } res, err = s.Cli.SubmitSMS(strings.ReplaceAll(strings.ReplaceAll(text, "\n", ""), "\r", "")) goto Again case client.SMSOrVerifyNeededError: log.Warnf("账号已开启设备锁,请选择验证方式:") log.Warnf("1. 向手机 %v 发送短信验证码", res.SMSPhone) log.Warnf("2. 使用手机QQ扫码验证.") - log.Warn("请输入(1 - 2): ") - text = readLine() + if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput { + log.Warnf("请输入(1 - 2): (http://%s:%d/admin/do_web_write 输入)", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort) + text = <-WebInput + } else { + log.Warn("请输入(1 - 2):") + text = readLine() + } if strings.Contains(text, "1") { if !s.Cli.RequestSMS() { log.Warnf("发送验证码失败,可能是请求过于频繁.") time.Sleep(time.Second * 5) os.Exit(0) } - log.Warn("请输入短信验证码: (Enter 提交)") - text = readLine() + if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput { + log.Warnf("请输入短信验证码: (http://%s:%d/admin/do_web_write 输入)....", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort) + text = <-WebInput + } else { + log.Warn("请输入短信验证码: (Enter 提交)") + text = readLine() + } res, err = s.Cli.SubmitSMS(strings.ReplaceAll(strings.ReplaceAll(text, "\n", ""), "\r", "")) goto Again }