diff --git a/kernel/model/cloud_service.go b/kernel/model/cloud_service.go index 609254414..e0c66cc39 100644 --- a/kernel/model/cloud_service.go +++ b/kernel/model/cloud_service.go @@ -105,7 +105,7 @@ func StartFreeTrial() (err error) { requestResult := gulu.Ret.NewResult() request := httpclient.NewCloudRequest30s() - _, err = request. + resp, err := request. SetSuccessResult(requestResult). SetCookies(&http.Cookie{Name: "symphony", Value: Conf.GetUser().UserToken}). Post(util.GetCloudServer() + "/apis/siyuan/user/startFreeTrial") @@ -113,6 +113,10 @@ func StartFreeTrial() (err error) { logging.LogErrorf("start free trial failed: %s", err) return ErrFailedToConnectCloudServer } + if http.StatusOK != resp.StatusCode { + logging.LogErrorf("start free trial failed: %d", resp.StatusCode) + return ErrFailedToConnectCloudServer + } if 0 != requestResult.Code { return errors.New(requestResult.Msg) } @@ -530,7 +534,7 @@ var errInvalidUser = errors.New("invalid user") func getUser(token string) (*conf.User, error) { result := map[string]interface{}{} request := httpclient.NewCloudRequest30s() - _, err := request. + resp, err := request. SetSuccessResult(&result). SetBody(map[string]string{"token": token}). Post(util.GetCloudServer() + "/apis/siyuan/user") @@ -538,6 +542,10 @@ func getUser(token string) (*conf.User, error) { logging.LogErrorf("get community user failed: %s", err) return nil, errors.New(Conf.Language(18)) } + if http.StatusOK != resp.StatusCode { + logging.LogErrorf("get community user failed: %d", resp.StatusCode) + return nil, errors.New(Conf.Language(18)) + } code := result["code"].(float64) if 0 != code { @@ -563,7 +571,7 @@ func UseActivationcode(code string) (err error) { code = gulu.Str.RemoveInvisible(code) requestResult := gulu.Ret.NewResult() request := httpclient.NewCloudRequest30s() - _, err = request. + resp, err := request. SetSuccessResult(requestResult). SetBody(map[string]string{"data": code}). SetCookies(&http.Cookie{Name: "symphony", Value: Conf.GetUser().UserToken}). @@ -572,6 +580,10 @@ func UseActivationcode(code string) (err error) { logging.LogErrorf("check activation code failed: %s", err) return ErrFailedToConnectCloudServer } + if http.StatusOK != resp.StatusCode { + logging.LogErrorf("check activation code failed: %d", resp.StatusCode) + return ErrFailedToConnectCloudServer + } if 0 != requestResult.Code { return errors.New(requestResult.Msg) } @@ -584,7 +596,7 @@ func CheckActivationcode(code string) (retCode int, msg string) { retCode = 1 requestResult := gulu.Ret.NewResult() request := httpclient.NewCloudRequest30s() - _, err := request. + resp, err := request. SetSuccessResult(requestResult). SetBody(map[string]string{"data": code}). SetCookies(&http.Cookie{Name: "symphony", Value: Conf.GetUser().UserToken}). @@ -594,6 +606,11 @@ func CheckActivationcode(code string) (retCode int, msg string) { msg = ErrFailedToConnectCloudServer.Error() return } + if http.StatusOK != resp.StatusCode { + logging.LogErrorf("check activation code failed: %d", resp.StatusCode) + msg = ErrFailedToConnectCloudServer.Error() + return + } if 0 == requestResult.Code { retCode = 0 } @@ -608,7 +625,7 @@ func Login(userName, password, captcha string, cloudRegion int) (ret *gulu.Resul result := map[string]interface{}{} request := httpclient.NewCloudRequest30s() - _, err := request. + resp, err := request. SetSuccessResult(&result). SetBody(map[string]string{"userName": userName, "userPassword": password, "captcha": captcha}). Post(util.GetCloudServer() + "/apis/siyuan/login") @@ -619,6 +636,14 @@ func Login(userName, password, captcha string, cloudRegion int) (ret *gulu.Resul ret.Msg = Conf.Language(18) + ": " + err.Error() return } + if http.StatusOK != resp.StatusCode { + logging.LogErrorf("login failed: %d", resp.StatusCode) + ret = gulu.Ret.NewResult() + ret.Code = -1 + ret.Msg = Conf.Language(18) + return + } + ret = &gulu.Result{ Code: int(result["code"].(float64)), Msg: result["msg"].(string),