mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-04 19:17:37 +08:00
fix: nil pointer
This commit is contained in:
parent
417a0f256a
commit
9e6d7b7650
@ -288,6 +288,10 @@ func sign(seq uint64, uin string, cmd string, qua string, buff []byte) (sign []b
|
|||||||
i := 0
|
i := 0
|
||||||
for {
|
for {
|
||||||
cs := ss.get()
|
cs := ss.get()
|
||||||
|
if cs == nil {
|
||||||
|
err = errors.New("nil signserver")
|
||||||
|
return
|
||||||
|
}
|
||||||
sign, extra, token, err = signRequset(seq, uin, cmd, qua, buff)
|
sign, extra, token, err = signRequset(seq, uin, cmd, qua, buff)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warnf("获取sso sign时出现错误: %v. server: %v", err, cs.URL)
|
log.Warnf("获取sso sign时出现错误: %v. server: %v", err, cs.URL)
|
||||||
@ -345,9 +349,13 @@ func signServerDestroy(uin string) error {
|
|||||||
if global.VersionNameCompare("v"+signVersion, "v1.1.6") {
|
if global.VersionNameCompare("v"+signVersion, "v1.1.6") {
|
||||||
return errors.Errorf("当前签名服务器版本 %v 低于 1.1.6,无法使用 destroy 接口", signVersion)
|
return errors.Errorf("当前签名服务器版本 %v 低于 1.1.6,无法使用 destroy 接口", signVersion)
|
||||||
}
|
}
|
||||||
|
cs := ss.get()
|
||||||
|
if cs == nil {
|
||||||
|
return errors.New("nil signserver")
|
||||||
|
}
|
||||||
signServer, resp, err := requestSignServer(
|
signServer, resp, err := requestSignServer(
|
||||||
http.MethodGet,
|
http.MethodGet,
|
||||||
"destroy"+fmt.Sprintf("?uin=%v&key=%v", uin, ss.get().Key),
|
"destroy"+fmt.Sprintf("?uin=%v&key=%v", uin, cs.Key),
|
||||||
nil, nil,
|
nil, nil,
|
||||||
)
|
)
|
||||||
if err != nil || gjson.GetBytes(resp, "code").Int() != 0 {
|
if err != nil || gjson.GetBytes(resp, "code").Int() != 0 {
|
||||||
@ -385,11 +393,16 @@ func signStartRefreshToken(interval int64) {
|
|||||||
qqstr := strconv.FormatInt(base.Account.Uin, 10)
|
qqstr := strconv.FormatInt(base.Account.Uin, 10)
|
||||||
defer t.Stop()
|
defer t.Stop()
|
||||||
for range t.C {
|
for range t.C {
|
||||||
cs, master := ss.get(), base.SignServers[0]
|
cs, master := ss.get(), &base.SignServers[0]
|
||||||
if cs.URL != master.URL && isServerAvaliable(master.URL) {
|
if (cs == nil || cs.URL != master.URL) && isServerAvaliable(master.URL) {
|
||||||
ss.set(&master)
|
ss.set(master)
|
||||||
log.Infof("主签名服务器可用,已切换至主签名服务器 %v", cs.URL)
|
log.Infof("主签名服务器可用,已切换至主签名服务器 %v", cs.URL)
|
||||||
}
|
}
|
||||||
|
cs = ss.get()
|
||||||
|
if cs == nil {
|
||||||
|
log.Warn("无法获得可用签名服务器,停止 token 定时刷新")
|
||||||
|
return
|
||||||
|
}
|
||||||
err := signRefreshToken(qqstr)
|
err := signRefreshToken(qqstr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warnf("刷新 token 出现错误: %v. server: %v", err, cs.URL)
|
log.Warnf("刷新 token 出现错误: %v. server: %v", err, cs.URL)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user