mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-13 09:28:14 +08:00
🐛 增加对于 eventTrack 的回调处理
*修复战绩跳转游戏带来的异常
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user