2023-06-19 17:27:58 +08:00

41 lines
1.7 KiB
TypeScript

import "reflect-metadata";
import { Container } from "../../container/Container";
import Logger from "../Logger";
import globVars from "../../globVars";
export default function EntryPoint(T: { main: () => void }) {
if (window.WHTRANS) {
console.log('退出, 已运行次数' + window.WHTRANS)
} else {
window.WHTRANS = window.WHTRANS === undefined ? 1 : window.WHTRANS++;
const logger = Container.factory(Logger);
let started = false;
const starter = () => {
console.log('starter init...');
let started = performance.now();
try {
T.main();
} catch (e) {
logger.error('[Starter]加载出错信息: ' + e.stack || e.message);
}
let runTime: number = (performance.now() - started) | 0;
globVars.loadTime = runTime;
logger.info(`芜湖脚本完成加载, 耗时${ runTime }ms`);
// if (ZhongIcon.ZhongNode && ZhongIcon.ZhongNode.initTimer)
// ZhongIcon.ZhongNode.initTimer.innerHTML = `加载时间 ${ runTime }ms`;
};
const evHandler = () => {
// console.log('document.readyState: ' + document.readyState);
if (!started && (document.readyState === 'complete' || document.readyState === 'interactive')) {
document.removeEventListener('readystatechange', evHandler);
started = !started;
starter();
} else if (!(document.readyState === 'complete' || document.readyState === 'interactive')) {
document.addEventListener('readystatechange', evHandler);
}
};
evHandler();
}
}