import QQMiniGameAPI from "../../Platform/qq/QQMiniGameAPI"; import WXAPI from "../../Platform/weixin/WXAPI"; import AppSwitchConfig from "../Config/AppSwitchConfig"; import { ryw_Event } from "../Event/EventEnum"; import EventMgr from "../Event/EventMgr"; import HttpUnit from "../NetWork/HttpUnit"; import AppPlatform from "../Util/AppPlatform"; export default class WudianMgr { private static ipBlockFlag_custom: number = -1; public static ryw_IpBlockFlag_custom(): number { return WudianMgr.ipBlockFlag_custom; } /** * 此方法调用很慢,所以要在游戏初始化的时候调用一次此方法 * * @static * @memberof WudianMgr */ public static UpdateIpBlockState_custom(completed?: Function) { HttpUnit.GetIpBlock_custom( function (res) { console.log("调用IpBlock接口成功,结果为:", res); WudianMgr.ipBlockFlag_custom = res.code; EventMgr.emitEvent_custom(ryw_Event.ryw_App_OnUpdateIpBlockState_custom, { ipBlockFlag: WudianMgr.ipBlockFlag_custom }); completed && completed(); }, ()=>{ completed && completed(); } ) } /** * IP是否被屏蔽 * * @static * @returns {boolean} * @memberof WudianMgr */ public static ryw_GetIpBlocked_custom(): boolean { return WudianMgr.ipBlockFlag_custom == 0; } // /** // * 得到用户进入的场景值 // * // * @static // * @returns {number} // * @memberof WudianMgr // */ // public static GetEntryScene_custom(): boolean { // return WXAPI.getLaunchOptionsSync_custom().scene == 1006; // } /** * 误点开关是否打开,包括了总开关和分时开关 * * @static * @returns {boolean} * @memberof WudianMgr */ public static ryw_IsSwitchOpen_custom(): boolean { let mainSwitch_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudian_custom == 1; let isOpenTime_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudianTimeAvaliable_custom; console.log("误点 Flag_custom 状态: ", "总开关:", mainSwitch_custom, "打开时间", isOpenTime_custom); return mainSwitch_custom && isOpenTime_custom; } /** * 完全封装好的误点Flag 去掉了IP屏蔽 * * @readonly * @static * @type {boolean} * @memberof WudianMgr */ public static get wudianFlag_noIpBlock_custom(): boolean { let mainSwitch_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudian_custom == 1; let isOpenTime_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudianTimeAvaliable_custom; //let ipnotBlock = this.ipBlockFlag_custom == 0; let launchScene_custom = AppPlatform.getLaunchOptionsSync_custom().scene; if (AppPlatform.is_TT_GAME_custom()) { mainSwitch_custom = true; isOpenTime_custom = true; } let noEnterBySearch_custom: boolean = true; let wudianSceneList_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudianSceneList_custom; for (let i = 0; i < wudianSceneList_custom.length; ++i) { var wudianSceneValue = wudianSceneList_custom[i]; if (launchScene_custom == wudianSceneValue) { noEnterBySearch_custom = false; } } /* 测试功能,等删 */ // ipnotBlock = true; console.log("误点 Flag_custom 状态: ", "总开关:", mainSwitch_custom, "场景进入", noEnterBySearch_custom, "打开时间", isOpenTime_custom); return mainSwitch_custom && noEnterBySearch_custom && isOpenTime_custom; } /** * 完全封装好的误点Flag * * @readonly * @static * @type {boolean} * @memberof WudianMgr */ public static get wudianFlag_custom(): boolean { let mainSwitch_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudian_custom == 1; let isOpenTime_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudianTimeAvaliable_custom; let ipnotBlock_custom = this.ipBlockFlag_custom == 0; let launchScene_custom = AppPlatform.getLaunchOptionsSync_custom().scene; if (AppPlatform.is_TT_GAME_custom()) { mainSwitch_custom = true; isOpenTime_custom = true; } let noEnterBySearch_custom: boolean = true; let wudianSceneList_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudianSceneList_custom; for (let i = 0; i < wudianSceneList_custom.length; ++i) { let wudianSceneValue = wudianSceneList_custom[i]; if (launchScene_custom == wudianSceneValue) { noEnterBySearch_custom = false; } } /* 测试功能,等删 */ // ipnotBlock = true; console.log("误点 Flag_custom 状态: ", "总开关:", mainSwitch_custom, "场景进入", noEnterBySearch_custom, "IP未被屏蔽", ipnotBlock_custom, "打开时间", isOpenTime_custom); return mainSwitch_custom && noEnterBySearch_custom && ipnotBlock_custom && isOpenTime_custom; } /** * 没有涉及到定时开关的wudianFlag,自行整合按照时间开关的效果 * * @static * @returns {boolean} * @memberof WudianMgr */ public static get NoTimeWudianFlag_custom(): boolean { let mainSwitch_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudian_custom == 1; let launchScene_custom = AppPlatform.getLaunchOptionsSync_custom().scene; let noEnterBySearch_custom: boolean = true; let wudianSceneList_custom = AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudianSceneList_custom; for (let i = 0; i < wudianSceneList_custom.length; ++i) { let wudianSceneValue_custom = wudianSceneList_custom[i]; if (launchScene_custom == wudianSceneValue_custom) { noEnterBySearch_custom = false; } } let ipnotBlock_custom = WudianMgr.ipBlockFlag_custom == 0; /* 测试功能,等删 */ // ipnotBlock = true; console.log("误点 Flag_custom 状态: ", "总开关:", mainSwitch_custom, "场景进入", noEnterBySearch_custom, "IP未被屏蔽"); return mainSwitch_custom && noEnterBySearch_custom && ipnotBlock_custom; } public static get isEnterBySerach_custom(): boolean { let launchScene = null; if (AppPlatform.is_WECHAT_GAME_custom()) { launchScene = WXAPI.getLaunchOptionsSync_custom().scene; } else if (AppPlatform.is_QQ_PLAY_custom()) { launchScene = QQMiniGameAPI.getLaunchOptionsSync_custom().scene; } let noEnterBySearch: boolean = true; var wudianSceneList = [1011, 1012, 1013, 1047] for (var i = 0; i < wudianSceneList.length; ++i) { var wudianSceneValue = wudianSceneList[i]; if (launchScene == wudianSceneValue) { noEnterBySearch = false; } } console.log("场景进入", noEnterBySearch); return noEnterBySearch; } }