添加后台访问权限超时重新登录验证获取访问权限功能
diff --git a/webservice.go b/webservice.go
index 91b3209..31467dd 100644
--- a/webservice.go
+++ b/webservice.go
@@ -212,6 +212,17 @@
return nil
}
+func (w *WebSession) updateAuth() {
+ for {
+ log.Debugf("设备: %v 正在尝试重新连接登录验证!", w.AppID)
+ err := w.Auth()
+ if err == nil {
+ return
+ }
+ time.Sleep(time.Second * 10)
+ }
+}
+
// NewSession new session object
func NewSession(appid, appsecret, termid, baseurl string, timeout int, sslVerify bool) *WebSession {
return &WebSession{
@@ -420,6 +431,10 @@
return
}
+ if r.StatusCode() == 403 || r.StatusCode() == 401 {
+ w.updateAuth()
+ }
+
if r.StatusCode() != 200 {
log.Errorf("Request Error %v", r.StatusCode())
err = fmt.Errorf("Request Error, StatusCode : %v", r.StatusCode())