73 lines
2.1 KiB
JavaScript
73 lines
2.1 KiB
JavaScript
(function () {
|
|
function post(action, payload) {
|
|
var message = JSON.stringify({
|
|
action: action,
|
|
payload: payload || {},
|
|
});
|
|
|
|
if (
|
|
window.flutter_inappwebview &&
|
|
window.flutter_inappwebview.callHandler
|
|
) {
|
|
return window.flutter_inappwebview.callHandler(
|
|
'HyAppBridge',
|
|
action,
|
|
payload || {}
|
|
);
|
|
}
|
|
if (
|
|
window.HyAppBridgeChannel &&
|
|
window.HyAppBridgeChannel.postMessage
|
|
) {
|
|
window.HyAppBridgeChannel.postMessage(message);
|
|
return Promise.resolve();
|
|
}
|
|
if (window.FlutterBridge && window.FlutterBridge.postMessage) {
|
|
window.FlutterBridge.postMessage(message);
|
|
return Promise.resolve();
|
|
}
|
|
if (
|
|
window.webkit &&
|
|
window.webkit.messageHandlers &&
|
|
window.webkit.messageHandlers.HyAppBridge
|
|
) {
|
|
window.webkit.messageHandlers.HyAppBridge.postMessage({
|
|
action: action,
|
|
payload: payload || {},
|
|
});
|
|
return Promise.resolve();
|
|
}
|
|
|
|
window.dispatchEvent(
|
|
new CustomEvent('hyapp:bridge-message', {
|
|
detail: { action: action, payload: payload || {} },
|
|
})
|
|
);
|
|
return Promise.resolve();
|
|
}
|
|
|
|
window.HyAppBridge = {
|
|
post: post,
|
|
back: function () {
|
|
return post('back');
|
|
},
|
|
openUser: function (userId) {
|
|
return post('openUser', { user_id: String(userId || '') });
|
|
},
|
|
openRoom: function (roomId) {
|
|
return post('openRoom', { room_id: String(roomId || '') });
|
|
},
|
|
openRankNote: function (boardType) {
|
|
return post('openRankNote', {
|
|
board_type: String(boardType || ''),
|
|
});
|
|
},
|
|
openTaskAction: function (payload) {
|
|
return post('taskAction', payload || {});
|
|
},
|
|
ready: function (payload) {
|
|
return post('ready', payload || {});
|
|
},
|
|
};
|
|
})();
|