🎨 Support sending notifications on Android https://github.com/siyuan-note/siyuan/issues/17114

Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
Daniel 2026-03-01 09:44:35 +08:00
parent 3c3a065776
commit f07ae1fc75
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 24 additions and 0 deletions

View file

@ -25,6 +25,29 @@ import (
"github.com/siyuan-note/siyuan/kernel/util"
)
func sendDeviceNotification(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)
arg, ok := util.JsonArg(c, ret)
if !ok {
return
}
if util.ContainerAndroid != util.Container {
ret.Code = -1
ret.Msg = "Just support Android"
return
}
payload := arg["payload"].(string)
evt := util.NewCmdResult("sendDeviceNotification", 0, util.PushModeSingleSelf)
evt.Data = map[string]interface{}{
"payload": payload,
}
util.PushEvent(evt)
}
func pushMsg(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)

View file

@ -458,6 +458,7 @@ func ServeAPI(ginServer *gin.Engine) {
ginServer.Handle("POST", "/api/notification/pushMsg", model.CheckAuth, model.CheckAdminRole, pushMsg)
ginServer.Handle("POST", "/api/notification/pushErrMsg", model.CheckAuth, model.CheckAdminRole, pushErrMsg)
ginServer.Handle("POST", "/api/notification/sendDeviceNotification", model.CheckAuth, model.CheckAdminRole, sendDeviceNotification)
ginServer.Handle("POST", "/api/snippet/getSnippet", model.CheckAuth, getSnippet)
ginServer.Handle("POST", "/api/snippet/setSnippet", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, setSnippet)