From c784566d411970b6fa394ad14cfa82cc0d05f470 Mon Sep 17 00:00:00 2001 From: johlanse Date: Thu, 23 Dec 2021 12:27:27 +0800 Subject: [PATCH] fix: fix bug #14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复为windows系统固定等待3s时间,其他系统仍然使用playwright的等待方法 --- lib/core.go | 24 ++++++++++++++++-------- lib/user.go | 26 ++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/lib/core.go b/lib/core.go index 55ac230..1ae1863 100644 --- a/lib/core.go +++ b/lib/core.go @@ -11,6 +11,7 @@ import ( "image/png" "io" "os" + "runtime" "time" qrcodeTerminal "github.com/Baozisoftware/qrcode-terminal-go" @@ -137,7 +138,13 @@ func (c *Core) Login() ([]Cookie, error) { } log.Infoln("[core] ", "正在等待二维码加载") - _, _ = page.WaitForSelector(`#app > div > div.login_content > div > div.login_qrcode `) + if runtime.GOOS == "windows" { + time.Sleep(3 * time.Second) + } else { + _, _ = page.WaitForSelector(`#app > div > div.login_content > div > div.login_qrcode `, playwright.PageWaitForSelectorOptions{ + State: playwright.WaitForSelectorStateVisible, + }) + } _, err = page.Evaluate(`let h = document.body.scrollWidth/2;document.documentElement.scrollTop=h;`) @@ -149,13 +156,14 @@ func (c *Core) Login() ([]Cookie, error) { log.Infoln("[core] ", "加载验证码中,请耐心等待") - frame := page.Frame(playwright.PageFrameOptions{ - Name: playwright.String(`ddlogin-iframe`), - URL: nil, - }) - if frame == nil { - log.Errorln("获取frame失败") - } + //frame := page.Frame(playwright.PageFrameOptions{ + // Name: playwright.String(`ddlogin-iframe`), + // URL: nil, + //}) + //if frame == nil { + // log.Errorln("获取frame失败") + //} + removeNode(page) screen, _ := page.Screenshot() diff --git a/lib/user.go b/lib/user.go index fc49aae..622be84 100644 --- a/lib/user.go +++ b/lib/user.go @@ -31,6 +31,12 @@ type User struct { Time int64 `json:"time"` } +// GetUsers +/** + * @Description: 获取所有cookie有效的用户 + * @return []User + * @return error + */ func GetUsers() ([]User, error) { file, err := os.ReadFile(user_path) if err != nil { @@ -52,6 +58,12 @@ func GetUsers() ([]User, error) { return newUsers, err } +// SaveUser +/** + * @Description: 保存用户信息到user.json + * @param user + * @return error + */ func SaveUser(user User) error { users, err := GetUsers() if err != nil { @@ -83,6 +95,14 @@ func SaveUser(user User) error { return err } +// GetUserInfo +/** + * @Description: 获取用户信息 + * @param cookies + * @return string + * @return string + * @return error + */ func GetUserInfo(cookies []Cookie) (string, string, error) { var resp []byte err := gout.GET(user_Info_url). @@ -102,6 +122,12 @@ func GetUserInfo(cookies []Cookie) (string, string, error) { return uid, nick, err } +// CheckUserCookie +/** + * @Description: 获取用户成绩 + * @param user + * @return bool + */ func CheckUserCookie(user User) bool { _, err := GetUserScore(user.Cookies) if err != nil && err.Error() == "token check failed" {