(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 || "") }); }, ready: function (payload) { return post("ready", payload || {}); } }; })();