js:add notification plugin

This commit is contained in:
pengfei.zhou
2020-01-08 19:44:24 +08:00
committed by osborn
parent b4018abe9f
commit b520ffb5df
10 changed files with 119 additions and 1 deletions

View File

@@ -0,0 +1,16 @@
import { BridgeContext } from "../runtime/global";
export declare function notification(context: BridgeContext): {
publish: (args: {
biz: string;
name: string;
data?: object | undefined;
androidSystem?: boolean | undefined;
}) => Promise<any>;
subscribe: (args: {
biz: string;
name: string;
callback: (data?: object | undefined) => void;
androidSystem?: boolean | undefined;
}) => Promise<string>;
unsubscribe: (subscribeId: string) => Promise<any>;
};

View File

@@ -0,0 +1,18 @@
export function notification(context) {
return {
publish: (args) => {
if (args.data !== undefined) {
args.data = JSON.stringify(args.data);
}
return context.notification.publish(args);
},
subscribe: (args) => {
args.callback = context.function2Id(args.callback);
return context.notification.subscribe(args);
},
unsubscribe: (subscribeId) => {
context.removeFuncById(subscribeId);
return context.notification.unsubscribe({ subscribeId });
}
};
}