From 206200cc588d554d7a04c7034af8052ff5af5271 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Thu, 2 Jun 2022 10:05:47 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E5=85=8D=E8=B4=B9=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=9C=88=E7=9A=84=E8=AE=A2=E9=98=85=E8=AF=95?= =?UTF-8?q?=E7=94=A8=20https://github.com/siyuan-note/siyuan/issues/4186?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/api/account.go | 12 ++++++++++++ kernel/api/router.go | 1 + kernel/model/liandi.go | 17 +++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/kernel/api/account.go b/kernel/api/account.go index cf661d298..ffcb1c5d2 100644 --- a/kernel/api/account.go +++ b/kernel/api/account.go @@ -25,6 +25,18 @@ import ( "github.com/siyuan-note/siyuan/kernel/util" ) +func startFreeTrial(c *gin.Context) { + ret := gulu.Ret.NewResult() + defer c.JSON(http.StatusOK, ret) + + err := model.StartFreeTrial() + if nil != err { + ret.Code = -1 + ret.Msg = err.Error() + return + } +} + func useActivationcode(c *gin.Context) { ret := gulu.Ret.NewResult() defer c.JSON(http.StatusOK, ret) diff --git a/kernel/api/router.go b/kernel/api/router.go index 479cb1c05..cb7af192d 100644 --- a/kernel/api/router.go +++ b/kernel/api/router.go @@ -54,6 +54,7 @@ func ServeAPI(ginServer *gin.Engine) { ginServer.Handle("POST", "/api/account/checkActivationcode", model.CheckAuth, checkActivationcode) ginServer.Handle("POST", "/api/account/useActivationcode", model.CheckAuth, useActivationcode) ginServer.Handle("POST", "/api/account/deactivate", model.CheckAuth, deactivateUser) + ginServer.Handle("POST", "/api/account/startFreeTrial", model.CheckAuth, startFreeTrial) ginServer.Handle("POST", "/api/notebook/lsNotebooks", model.CheckAuth, lsNotebooks) ginServer.Handle("POST", "/api/notebook/openNotebook", model.CheckAuth, openNotebook) diff --git a/kernel/model/liandi.go b/kernel/model/liandi.go index a0cc85e99..6aa61241c 100644 --- a/kernel/model/liandi.go +++ b/kernel/model/liandi.go @@ -31,6 +31,23 @@ import ( var ErrFailedToConnectCloudServer = errors.New("failed to connect cloud server") +func StartFreeTrial() (err error) { + requestResult := gulu.Ret.NewResult() + request := util.NewCloudRequest(Conf.System.NetworkProxy.String()) + _, err = request. + SetResult(requestResult). + SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}). + Post(util.AliyunServer + "/apis/siyuan/user/startFreeTrial") + if nil != err { + util.LogErrorf("start free trial failed: %s", err) + return ErrFailedToConnectCloudServer + } + if 0 != requestResult.Code { + return errors.New(requestResult.Msg) + } + return +} + func DeactivateUser() (err error) { requestResult := gulu.Ret.NewResult() request := util.NewCloudRequest(Conf.System.NetworkProxy.String())