🎨 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-02 11:04:38 +08:00
parent c0724d70f5
commit c5bffb68f1
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 15 additions and 5 deletions

View file

@ -2,7 +2,9 @@ import {openMobileFileById} from "../editor";
import {
processSync,
progressLoading,
reloadSync, setDefRefCount, setRefDynamicText,
reloadSync,
setDefRefCount,
setRefDynamicText,
transactionError
} from "../../dialog/processSystem";
import {App} from "../../index";
@ -20,7 +22,7 @@ export const onMessage = (app: App, data: IWebSocketData) => {
switch (data.cmd) {
case "sendDeviceNotification":
if (window.JSAndroid.sendNotification) {
window.JSAndroid.sendNotification(data.data.title, data.data.body);
window.JSAndroid.sendNotification(data.data.title, data.data.body, data.data.delayInSeconds);
}
break;
case "backgroundtask":

View file

@ -255,7 +255,7 @@ interface Window {
getScreenWidthPx(): number
exit(): void
setWebViewFocusable(enable: boolean): void
sendNotification(title: string, body: string): void
sendNotification(title: string, body: string, delayInSeconds: number): void
};
JSHarmony: {
showKeyboard(): void

View file

@ -58,9 +58,17 @@ func sendDeviceNotification(c *gin.Context) {
return
}
var delayInSeconds int
if nil != arg["delayInSeconds"] {
delayInSeconds = int(arg["delayInSeconds"].(float64))
} else {
delayInSeconds = 1
}
util.BroadcastByType("main", "sendDeviceNotification", 0, "", map[string]interface{}{
"title": title,
"body": body,
"title": title,
"body": body,
"delayInSeconds": delayInSeconds,
})
}