🐛 增加对于 eventTrack 的回调处理

*修复战绩跳转游戏带来的异常
This commit is contained in:
BTMuli
2023-12-13 21:09:55 +08:00
parent e3c74dc237
commit 19c6f265a9

View File

@@ -91,12 +91,13 @@ class TGClient {
/**
* @func loadJSBridge
* @since Beta v0.3.7
* @since Beta v0.3.8
* @desc 加载 JSBridge
* @returns {void} - 无返回值
*/
async loadJSBridge(): Promise<void> {
const executeJS = `javascript:(function() {
if(window.MiHoYoJSBridge) return;
window.MiHoYoJSInterface = {
postMessage: function(arg) { window.__TAURI__.event.emit('post_mhy_client', arg) },
closePage: function() { this.postMessage('{"method":"closePage"}') },
@@ -215,6 +216,9 @@ class TGClient {
break;
case "configure_share":
break;
case "eventTrack":
await this.eventTrack(payload);
break;
case "getStatusBarHeight":
await this.getStatusBarHeight(callback);
break;
@@ -521,7 +525,6 @@ class TGClient {
* @returns {void} - 无返回值
*/
async nullCallback(arg: Event<string>): Promise<void> {
console.warn(`[${arg.windowLabel}] ${arg.payload}`);
const { callback } = <NormalArg>JSON.parse(arg.payload);
await this.callback(callback, {});
}
@@ -594,6 +597,18 @@ class TGClient {
await this.callback(callback, {});
}, 3000);
}
/**
* @func eventTrack
* @since Beta v0.3.8
* @desc 事件跟踪
* @param {unknown} payload - 请求参数
* @returns {void} - 无返回值
*/
async eventTrack(payload: unknown): Promise<void> {
console.log(`[eventTrack] ${JSON.stringify(payload)}`);
await this.loadJSBridge();
}
}
const mhyClient = new TGClient();