41 lines
1.7 KiB
TypeScript
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();
|
|
}
|
|
}
|