mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-14 09:38:13 +08:00
🐛 增加对于 eventTrack 的回调处理
*修复战绩跳转游戏带来的异常
This commit is contained in:
@@ -91,12 +91,13 @@ class TGClient {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @func loadJSBridge
|
* @func loadJSBridge
|
||||||
* @since Beta v0.3.7
|
* @since Beta v0.3.8
|
||||||
* @desc 加载 JSBridge
|
* @desc 加载 JSBridge
|
||||||
* @returns {void} - 无返回值
|
* @returns {void} - 无返回值
|
||||||
*/
|
*/
|
||||||
async loadJSBridge(): Promise<void> {
|
async loadJSBridge(): Promise<void> {
|
||||||
const executeJS = `javascript:(function(){
|
const executeJS = `javascript:(function() {
|
||||||
|
if(window.MiHoYoJSBridge) return;
|
||||||
window.MiHoYoJSInterface = {
|
window.MiHoYoJSInterface = {
|
||||||
postMessage: function(arg) { window.__TAURI__.event.emit('post_mhy_client', arg) },
|
postMessage: function(arg) { window.__TAURI__.event.emit('post_mhy_client', arg) },
|
||||||
closePage: function() { this.postMessage('{"method":"closePage"}') },
|
closePage: function() { this.postMessage('{"method":"closePage"}') },
|
||||||
@@ -215,6 +216,9 @@ class TGClient {
|
|||||||
break;
|
break;
|
||||||
case "configure_share":
|
case "configure_share":
|
||||||
break;
|
break;
|
||||||
|
case "eventTrack":
|
||||||
|
await this.eventTrack(payload);
|
||||||
|
break;
|
||||||
case "getStatusBarHeight":
|
case "getStatusBarHeight":
|
||||||
await this.getStatusBarHeight(callback);
|
await this.getStatusBarHeight(callback);
|
||||||
break;
|
break;
|
||||||
@@ -521,7 +525,6 @@ class TGClient {
|
|||||||
* @returns {void} - 无返回值
|
* @returns {void} - 无返回值
|
||||||
*/
|
*/
|
||||||
async nullCallback(arg: Event<string>): Promise<void> {
|
async nullCallback(arg: Event<string>): Promise<void> {
|
||||||
console.warn(`[${arg.windowLabel}] ${arg.payload}`);
|
|
||||||
const { callback } = <NormalArg>JSON.parse(arg.payload);
|
const { callback } = <NormalArg>JSON.parse(arg.payload);
|
||||||
await this.callback(callback, {});
|
await this.callback(callback, {});
|
||||||
}
|
}
|
||||||
@@ -594,6 +597,18 @@ class TGClient {
|
|||||||
await this.callback(callback, {});
|
await this.callback(callback, {});
|
||||||
}, 3000);
|
}, 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();
|
const mhyClient = new TGClient();
|
||||||
|
|||||||
Reference in New Issue
Block a user