feat:优化错误传递方式

This commit is contained in:
Mmx
2021-07-11 12:59:00 +08:00
parent 257a9b7034
commit f3f122a1c5
3 changed files with 20 additions and 17 deletions

View File

@@ -14,7 +14,7 @@ func Guardian() {
_ = recover() _ = recover()
}() }()
if !util.Checker.NetOk() { if !util.Checker.NetOk() {
Login(false) _ = Login(false)
} }
}() }()
} }

View File

@@ -5,31 +5,31 @@ import (
"Mmx/request" "Mmx/request"
"Mmx/util" "Mmx/util"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"time" "time"
) )
func Login(output bool) { func Login(output bool) error {
global.Status.Output = output global.Status.Output = output
util.Log.Println("Step0: 检查状态…") util.Log.Println("Step0: 检查状态…")
G := global.Config.Generate() G := global.Config.Generate()
if !global.Status.Daemon && global.Config.Settings.QuitIfNetOk && util.Checker.NetOk() { if !global.Status.Daemon && global.Config.Settings.QuitIfNetOk && util.Checker.NetOk() {
util.Log.Println("网络正常,程序退出") util.Log.Println("网络正常,程序退出")
return return nil
} }
util.Log.Println("Step1: 正在获取客户端ip") util.Log.Println("Step1: 正在获取客户端ip")
{ {
body, err := request.Get(G.UrlLoginPage, nil) body, err := request.Get(G.UrlLoginPage, nil)
if err != nil { if err != nil {
util.ErrHandler(err) return err
return
} }
G.Ip, err = util.GetIp(body) G.Ip, err = util.GetIp(body)
if err != nil { if err != nil {
util.ErrHandler(err) util.ErrHandler(err)
return return err
} }
} }
util.Log.Println("Step2: 正在获取Token") util.Log.Println("Step2: 正在获取Token")
@@ -40,13 +40,11 @@ func Login(output bool) {
"ip": G.Ip, "ip": G.Ip,
}) })
if err != nil { if err != nil {
util.ErrHandler(err) return err
return
} }
G.Token, err = util.GetToken(data) G.Token, err = util.GetToken(data)
if err != nil { if err != nil {
util.ErrHandler(err) return err
return
} }
} }
util.Log.Println("Step3: 执行登录…") util.Log.Println("Step3: 执行登录…")
@@ -59,8 +57,7 @@ func Login(output bool) {
"enc_ver": G.Meta.Enc, "enc_ver": G.Meta.Enc,
}) })
if err != nil { if err != nil {
util.ErrHandler(err) return err
return
} }
G.EncryptedInfo = "{SRBX1}" + util.Base64(util.XEncode(string(info), G.Token)) G.EncryptedInfo = "{SRBX1}" + util.Base64(util.XEncode(string(info), G.Token))
G.Md5 = util.Md5(G.Token) G.Md5 = util.Md5(G.Token)
@@ -89,17 +86,20 @@ func Login(output bool) {
"_": fmt.Sprint(time.Now().UnixNano()), "_": fmt.Sprint(time.Now().UnixNano()),
}) })
if err != nil { if err != nil {
util.ErrHandler(err) return err
return
} }
G.LoginResult, err = util.GetResult(res) G.LoginResult, err = util.GetResult(res)
if err != nil { if err != nil {
util.ErrHandler(err) return err
return
} }
util.Log.Println("登录结果: " + G.LoginResult) util.Log.Println("登录结果: " + G.LoginResult)
if global.Config.Settings.DemoMode { if global.Config.Settings.DemoMode {
util.Log.Println(res) util.Log.Println(res)
} }
if G.LoginResult != "ok" {
return errors.New(G.LoginResult)
} }
}
return nil
} }

View File

@@ -25,7 +25,10 @@ func main() {
os.Exit(1) os.Exit(1)
} }
}() }()
controllers.Login(true) if err := controllers.Login(true); err != nil {
util.ErrHandler(err)
return
}
if global.Config.Settings.Guardian != 0 { if global.Config.Settings.Guardian != 0 {
global.Status.Daemon = true global.Status.Daemon = true