63 lines
2.6 KiB
TypeScript
63 lines
2.6 KiB
TypeScript
import Logger, { LoggerKey } from "./Logger";
|
|
import ClassName from "../container/ClassName";
|
|
import { Injectable } from "../container/Injectable";
|
|
import CommonUtils, { CommonUtilsKey } from "./utils/CommonUtils";
|
|
import LocalConfigWrapper, { LocalConfigWrapperKey } from "./LocalConfigWrapper";
|
|
import NNB from "./handler/NNB";
|
|
import ItemPriceWatcherHandler from "./handler/ItemPriceWatcherHandler";
|
|
import { createApp } from "vue";
|
|
import FloatMenu from "../../vue/FloatMenu.vue";
|
|
import PopupWrapper, { PopupWrapperKey } from "./utils/PopupWrapper";
|
|
import InfoUtils from "./utils/InfoUtils";
|
|
import TravelItem, { TravelItemKey } from "./action/TravelItem";
|
|
import QuickGymTrain, { QuickGymTrainKey } from "./action/QuickGymTrain";
|
|
import QuickFlyBtnHandler, { QuickFlyBtnHandlerKey } from "./handler/QuickFlyBtnHandler";
|
|
import ItemHelper, { ItemHelperKey } from "./utils/ItemHelper";
|
|
import MathUtils, { MathUtilsKey } from "./utils/MathUtils";
|
|
|
|
@ClassName("IconHelper")
|
|
@Injectable()
|
|
export default class IconHelper {
|
|
private readonly _element: HTMLElement;
|
|
|
|
constructor(
|
|
private readonly logger: Logger,
|
|
private readonly commonUtils: CommonUtils,
|
|
private readonly localConfigWrapper: LocalConfigWrapper,
|
|
private readonly nnb: NNB,
|
|
private readonly itemPriceWatcherHandler: ItemPriceWatcherHandler,
|
|
private readonly popupWrapper: PopupWrapper,
|
|
private readonly infoUtils: InfoUtils,
|
|
private readonly travelItem: TravelItem,
|
|
private readonly quickGymTrain: QuickGymTrain,
|
|
private readonly quickFlyBtnHandler: QuickFlyBtnHandler,
|
|
private readonly itemHelper: ItemHelper,
|
|
private readonly mathUtils: MathUtils,
|
|
) {
|
|
this._element = document.createElement('div');
|
|
}
|
|
|
|
get element() {
|
|
return this._element;
|
|
}
|
|
|
|
init() {
|
|
this._element.id = 'WHMenu2023';
|
|
document.body.append(this._element);
|
|
let app = createApp(FloatMenu);
|
|
app.config.errorHandler = (err) => this.logger.error('[VUE错误]', err);
|
|
app.config.warnHandler = (err) => this.logger.warn('[VUE警告]', err);
|
|
app.provide(LoggerKey, this.logger);
|
|
app.provide(CommonUtilsKey, this.commonUtils);
|
|
app.provide(MathUtilsKey, this.mathUtils);
|
|
app.provide(TravelItemKey, this.travelItem);
|
|
app.provide(PopupWrapperKey, this.popupWrapper);
|
|
app.provide(LocalConfigWrapperKey, this.localConfigWrapper);
|
|
app.provide(QuickGymTrainKey, this.quickGymTrain);
|
|
app.provide(QuickFlyBtnHandlerKey, this.quickFlyBtnHandler);
|
|
app.provide(ItemHelperKey, this.itemHelper);
|
|
app.mount(this._element);
|
|
}
|
|
|
|
}
|