WeSDK - The SDK Noone Asked For

API: Communication

Communication APIs connect H5 web-view and mini program container messaging.

miniProgram.postMessage(options?)

Send a message payload to the host mini program.

await sdk.miniProgram.postMessage({
	data: { type: "cart:updated", itemCount: 3 },
});

miniProgram.sendWebviewEvent(options?)

Send web-view event payload to host.

await sdk.miniProgram.sendWebviewEvent({
	data: { event: "payment:success", orderId: "A123" },
});

miniProgram.onWebviewEvent(callback)

Register host-to-H5 event listener.

const unsubscribe = sdk.miniProgram.onWebviewEvent((payload) => {
	console.log("received", payload);
});

miniProgram.offWebviewEvent(callback?)

Remove one listener or all listeners.

sdk.miniProgram.offWebviewEvent();
// or
sdk.miniProgram.offWebviewEvent(myHandler);

miniProgram.getEnv(callback?)

Returns { miniprogram: boolean } and supports callback form.

const env = await sdk.miniProgram.getEnv();
if (!env.miniprogram) {
	console.log("running outside mini-program web-view");
}

Root-Level Aliases

The SDK also exposes root-level communication methods:

These mirror the miniProgram communication behavior.

Best Practices

Legacy Comparison

v1 listener lifecycles were easy to misuse.

v2 includes clearer subscribe/unsubscribe behavior and Promise-compatible send APIs.