140 lines
4.4 KiB
JavaScript
Executable File
140 lines
4.4 KiB
JavaScript
Executable File
import moduleHelper from "./module-helper";
|
||
import { launchEventType } from "../plugin-config";
|
||
|
||
export default {
|
||
WXReportGameStart() {
|
||
GameGlobal.manager.reportCustomLaunchInfo();
|
||
},
|
||
WXSetGameStage(stageType) {
|
||
if (GameGlobal.manager && GameGlobal.manager.setGameStage) {
|
||
GameGlobal.manager.setGameStage(stageType);
|
||
}
|
||
},
|
||
WXReportGameStageCostTime(ms, extInfo) {
|
||
if (GameGlobal.manager && GameGlobal.manager.reportGameStageCostTime) {
|
||
GameGlobal.manager.reportGameStageCostTime(ms, extInfo);
|
||
}
|
||
},
|
||
WXReportGameStageError(errorType, errStr, extInfo) {
|
||
if (GameGlobal.manager && GameGlobal.manager.reportGameStageError) {
|
||
GameGlobal.manager.reportGameStageError(errorType, errStr, extInfo);
|
||
}
|
||
},
|
||
WXWriteLog(str) {
|
||
if (GameGlobal.manager && GameGlobal.manager.writeLog) {
|
||
GameGlobal.manager.writeLog(str);
|
||
}
|
||
},
|
||
WXWriteWarn(str) {
|
||
if (GameGlobal.manager && GameGlobal.manager.writeWarn) {
|
||
GameGlobal.manager.writeWarn(str);
|
||
}
|
||
},
|
||
WXHideLoadingPage() {
|
||
if (GameGlobal.manager && GameGlobal.manager.hideLoadingPage) {
|
||
GameGlobal.manager.hideLoadingPage();
|
||
}
|
||
},
|
||
WXReportUserBehaviorBranchAnalytics(branchId, branchDim, eventType){
|
||
wx.reportUserBehaviorBranchAnalytics(branchId, branchDim, eventType);
|
||
|
||
},
|
||
WXPreloadConcurrent(count) {
|
||
if (GameGlobal.manager && GameGlobal.manager.setConcurrent) {
|
||
GameGlobal.manager.setConcurrent(count)
|
||
}
|
||
},
|
||
WXIsCloudTest() {
|
||
if (typeof GameGlobal.isTest !== "undefined" && GameGlobal.isTest ) {
|
||
return true;
|
||
}
|
||
return false;
|
||
},
|
||
WXUncaughtException(needAbort) {
|
||
function currentStackTrace() {
|
||
var err = new Error('WXUncaughtException');
|
||
return err
|
||
}
|
||
let err = currentStackTrace();
|
||
let fullTrace = err.stack.toString()
|
||
let posOfThisFunc = fullTrace.indexOf('WXUncaughtException')
|
||
if (posOfThisFunc != -1) fullTrace = fullTrace.substr(posOfThisFunc);
|
||
let posOfRaf = fullTrace.lastIndexOf("browserIterationFunc");
|
||
if (posOfRaf != -1) fullTrace = fullTrace.substr(0, posOfRaf);
|
||
const realTimelog = wx.getRealtimeLogManager();
|
||
realTimelog.error(fullTrace)
|
||
const logmanager = wx.getLogManager()
|
||
logmanager.warn(fullTrace)
|
||
if (needAbort === true) {
|
||
GameGlobal.onCrash(err);
|
||
throw err;
|
||
} else {
|
||
setTimeout(() => {
|
||
throw err;
|
||
}, 0);
|
||
}
|
||
},
|
||
WXCleanAllFileCache() {
|
||
if (GameGlobal.manager && GameGlobal.manager.cleanCache) {
|
||
const key = new Date().getTime().toString(32)+Math.random().toString(32);
|
||
GameGlobal.manager.cleanAllCache().then(res => {
|
||
moduleHelper.send('CleanAllFileCacheCallback', JSON.stringify({
|
||
callbackId: key,
|
||
result: res
|
||
}))
|
||
})
|
||
return key;
|
||
}
|
||
return '';
|
||
},
|
||
WXCleanFileCache(fileSize) {
|
||
if (GameGlobal.manager && GameGlobal.manager.cleanCache) {
|
||
const key = new Date().getTime().toString(32)+Math.random().toString(32);
|
||
GameGlobal.manager.cleanCache(fileSize).then(res => {
|
||
moduleHelper.send('CleanFileCacheCallback', JSON.stringify({
|
||
callbackId: key,
|
||
result: res
|
||
}))
|
||
})
|
||
return key;
|
||
}
|
||
return '';
|
||
},
|
||
WXRemoveFile(path) {
|
||
if (GameGlobal.manager && GameGlobal.manager.removeFile && path) {
|
||
const key = new Date().getTime().toString(32)+Math.random().toString(32);
|
||
GameGlobal.manager.removeFile(path).then(res => {
|
||
moduleHelper.send('RemoveFileCallback', JSON.stringify({
|
||
callbackId: key,
|
||
result: res
|
||
}))
|
||
})
|
||
return key;
|
||
}
|
||
return '';
|
||
},
|
||
WXOnLaunchProgress() {
|
||
if (GameGlobal.manager && GameGlobal.manager.onLaunchProgress) {
|
||
const key = new Date().getTime().toString(32)+Math.random().toString(32);
|
||
// 异步执行,保证C#已经记录这个回调ID
|
||
setTimeout(() => {
|
||
GameGlobal.manager.onLaunchProgress((e) => {
|
||
moduleHelper.send('OnLaunchProgressCallback', JSON.stringify({
|
||
callbackId: key,
|
||
res: JSON.stringify(Object.assign({}, e.data, {
|
||
type: e.type
|
||
}))
|
||
}))
|
||
// 最后一个事件完成,结束监听
|
||
if (e.type === launchEventType.prepareGame) {
|
||
moduleHelper.send('RemoveLaunchProgressCallback', JSON.stringify({
|
||
callbackId: key
|
||
}))
|
||
}
|
||
})
|
||
}, 0);
|
||
return key;
|
||
}
|
||
return '';
|
||
}
|
||
} |