From 487cca891b4b1b724ef7703fdcb9191eb583eefd Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Sat, 22 Oct 2022 19:52:58 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E4=BA=91=E7=AB=AF=E6=94=B6=E9=9B=86?= =?UTF-8?q?=E7=AE=B1=E6=96=87=E6=A1=A3=E5=86=85=E6=B7=BB=E5=8A=A0=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E6=8C=89=E9=92=AE=20https://github.com/siyuan-note/si?= =?UTF-8?q?yuan/issues/6306?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/api/inbox.go | 19 +++++++++++++++++++ kernel/api/router.go | 1 + kernel/model/liandi.go | 31 +++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/kernel/api/inbox.go b/kernel/api/inbox.go index 78d40f8b3..81b42c601 100644 --- a/kernel/api/inbox.go +++ b/kernel/api/inbox.go @@ -48,6 +48,25 @@ func removeShorthands(c *gin.Context) { } } +func getShorthand(c *gin.Context) { + ret := gulu.Ret.NewResult() + defer c.JSON(http.StatusOK, ret) + + arg, ok := util.JsonArg(c, ret) + if !ok { + return + } + + id := arg["id"].(string) + data, err := model.GetCloudShorthand(id) + if nil != err { + ret.Code = 1 + ret.Msg = err.Error() + return + } + ret.Data = data +} + func getShorthands(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 5c7db0d5b..fff2d28cc 100644 --- a/kernel/api/router.go +++ b/kernel/api/router.go @@ -182,6 +182,7 @@ func ServeAPI(ginServer *gin.Engine) { ginServer.Handle("POST", "/api/sync/getBootSync", model.CheckAuth, getBootSync) ginServer.Handle("POST", "/api/inbox/getShorthands", model.CheckAuth, getShorthands) + ginServer.Handle("POST", "/api/inbox/getShorthand", model.CheckAuth, getShorthand) ginServer.Handle("POST", "/api/inbox/removeShorthands", model.CheckAuth, removeShorthands) ginServer.Handle("POST", "/api/extension/copy", model.CheckAuth, extensionCopy) diff --git a/kernel/model/liandi.go b/kernel/model/liandi.go index 6f1031c38..d31698291 100644 --- a/kernel/model/liandi.go +++ b/kernel/model/liandi.go @@ -357,6 +357,37 @@ func RemoveCloudShorthands(ids []string) (err error) { return } +func GetCloudShorthand(id string) (result map[string]interface{}, err error) { + result = map[string]interface{}{} + request := httpclient.NewCloudRequest() + resp, err := request. + SetResult(&result). + SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}). + Post(util.AliyunServer + "/apis/siyuan/inbox/getCloudShorthand?id=" + id) + if nil != err { + logging.LogErrorf("get cloud shorthand failed: %s", err) + err = ErrFailedToConnectCloudServer + return + } + + if 401 == resp.StatusCode { + err = errors.New(Conf.Language(31)) + return + } + + code := result["code"].(float64) + if 0 != code { + logging.LogErrorf("get cloud shorthand failed: %s", result["msg"]) + err = errors.New(result["msg"].(string)) + return + } + shorthand := result["data"].(map[string]interface{}) + t, _ := strconv.ParseInt(id, 10, 64) + hCreated := util.Millisecond2Time(t) + shorthand["hCreated"] = hCreated.Format("2006-01-02 15:04") + return +} + func GetCloudShorthands(page int) (result map[string]interface{}, err error) { result = map[string]interface{}{} request := httpclient.NewCloudRequest()