diff --git a/app/src/mobile/util/onMessage.ts b/app/src/mobile/util/onMessage.ts index 196759437..3b47e4020 100644 --- a/app/src/mobile/util/onMessage.ts +++ b/app/src/mobile/util/onMessage.ts @@ -26,7 +26,7 @@ export const onMessage = (app: App, data: IWebSocketData) => { break; case "sendDeviceNotification": if (window.JSAndroid.sendNotification) { - window.JSAndroid.sendNotification(data.data.title, data.data.body, data.data.delayInSeconds); + window.JSAndroid.sendNotification(data.data.channel, data.data.title, data.data.body, data.data.delayInSeconds); } break; case "backgroundtask": diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index 84f4a8c1f..9348ebd9a 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -255,7 +255,7 @@ interface Window { getScreenWidthPx(): number exit(): void setWebViewFocusable(enable: boolean): void - sendNotification(title: string, body: string, delayInSeconds: number): void + sendNotification(channel: string, title: string, body: string, delayInSeconds: number): void }; JSHarmony: { showKeyboard(): void diff --git a/kernel/api/notification.go b/kernel/api/notification.go index f71192252..4b0a5a48c 100644 --- a/kernel/api/notification.go +++ b/kernel/api/notification.go @@ -40,6 +40,13 @@ func sendDeviceNotification(c *gin.Context) { return } + var channel string + if nil != arg["channel"] { + channel = strings.TrimSpace(arg["channel"].(string)) + } else { + channel = "SiYuan Notifications" + } + var title string if nil != arg["title"] { title = strings.TrimSpace(arg["title"].(string)) @@ -66,6 +73,7 @@ func sendDeviceNotification(c *gin.Context) { } util.BroadcastByType("main", "sendDeviceNotification", 0, "", map[string]interface{}{ + "channel": channel, "title": title, "body": body, "delayInSeconds": delayInSeconds,