1
0
mirror of https://github.com/Mrs4s/go-cqhttp.git synced 2025-05-05 19:43:49 +08:00

Merge pull request #641 from ishkong/patch-5

🍻 Make admin/do_web_write support more input
This commit is contained in:
Mrs4s 2021-02-18 14:32:32 +08:00 committed by GitHub
commit a9fb84eb47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

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