41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import IGlobal from "../interface/IGlobal";
|
|
import IWHSettings from "../interface/IWHSettings";
|
|
import Provider from "./provider/Provider";
|
|
import Log from "./Log";
|
|
|
|
export default class WuhuBase extends Provider {
|
|
public static glob: IGlobal = null;
|
|
protected readonly className: string = 'WuhuBase';
|
|
|
|
/**
|
|
* 获取 localStorage 中的 wh_trans_settings 值 (json),以对象形式返回
|
|
*/
|
|
public static getLocal(): IWHSettings {
|
|
let localObject;
|
|
let localItem = localStorage.getItem('wh_trans_settings') || '{}';
|
|
try {
|
|
localObject = JSON.parse(localItem);
|
|
} catch (e) {
|
|
Log.error('解析localStorage对象出错', e);
|
|
localStorage.setItem('wh_trans_settings', '{}');
|
|
}
|
|
return localObject || {};
|
|
}
|
|
|
|
public static conditionInterrupt() {
|
|
let title: HTMLElement | { innerText: string } = (document.querySelector('#skip-to-content') ||
|
|
document.querySelector('[href*="#skip-to-content"]')) as HTMLElement || { innerText: '' };
|
|
let condition = (
|
|
document.title.toLowerCase().includes('just a moment') ||
|
|
title.innerText.toLowerCase().includes('please validate') ||
|
|
document.querySelector('div.container div.cf .iAmUnderAttack') !== null
|
|
);
|
|
if (condition) throw '芜湖';
|
|
}
|
|
|
|
public getClassName() {
|
|
return this.className;
|
|
}
|
|
|
|
}
|