可以通过组件或App全局的onMessage消息通道来接收消息,如下所示。
如果是一个update类型的消息,可以提取其中的dataSource进行更新界面。
import { JSON, JSONObject } from "waft-json";
import { console, Page, ComponentProps, MessageEvent } from "waft";
export class Index extends Page {
constructor(props: ComponentProps){
}
onMessage(event: MessageEvent): void{
// 信息推送更新
console.log('page onMessage:' + JSON.stringify(event.data));
// 如果需要进行更新界面
if(event.data.has("dataSource")){
this.setState(event.data.getObject("dataSource").toString())
}
}
}
一个onMessage的update类型的指令下发的数据示例如下:
{
"dataSource":{
"desc": "hello world message"
},
"pageTitle":"蚂蚁森林新版",
"template":"ant_forest"
}