import { IPlatform } from "../IPlatform"; import { LiangLiangSDK } from "../libs/liangliangSDK"; export class BasePlatform implements IPlatform{ public openID:string; currentVersion:string="1.0.2"; /** * 后台开关 */ config:any; /** * 广告与互推 */ adConfig:any; constructor() { } /** * 登录 * @param success 成功 * @param failure 失败 */ login(success:Function,failure:Function):void{ LiangLiangSDK.Init(success,failure); } /** * 登录成功钩子,子类重写来做一些其他事情 */ protected __loginSuccess():void{ } /** * 跳转 * @param data * @param success * @param failure */ navigate2Mini(data:any,success?:Function,failure?:Function):void{ } /** * 分享 * @param data * @param success * @param failure */ shareMessage(data:any,success?:Function,failure?:Function):void{ } /** * 被动分享 */ onShareAppMessage():void{ } /** * 显示Banner * @param data */ showBanner(data:any):void{ } /** * 隐藏Banner */ hideBanner():void{ } /** * 显示激励广告 * @param success * @param failure */ showRewardedVideo(success?:Function,failure?:Function):void{ } /** * 显示插屏广告 */ showInsertAd(success?:Function,failure?:Function):void{ } /** * 显示原生广告 */ showNativeAd(success?:Function,failure?:Function):void{ } /** * 打点 * @param eventName * @param data */ sendEvent(eventName:string,data?:any):void{ } /** * 设置加载进度 * @param progress */ setLoadingProgress(progress:number):void{ } /** * 加载完成 * @param completeHandler */ loadingComplete(completeHandler?:Function):void{ if(completeHandler){ completeHandler(); } } /** * 游戏互推 * @param num */ getRandomPageAd(num: number): any[] { return []; } protected __getRandomAd(num: number, list: any[]): any[] { if (num > list.length) { num = list.length; } let adlist: any[] = list.slice(0); let result: any[] = []; let index: number; let adData: any; while (result.length < num) { index = Math.floor(Math.random() * adlist.length); adData = adlist[index]; if (result.indexOf(adData) < 0) { result.push(adData); } } return result; } /** * 是否显示互导 */ get canJump():boolean{ return this.zs_jump_switch==1?true:false; } /** * 配置的版本号与当前版本一致时,则下方开关对当前版本生效;配置的版本号和当前版本不一致时,则当前版本默认所有开关均关闭。 */ get zs_version():string{ return this.config.zs_version; } /** * 配置为0时,则不展示接入此开关的导出;配置为1时,接入此开关的导出位置正常展示 */ get zs_jump_switch():number{ if(this.currentVersion!=this.config.zs_version){ return 0; } return this.config.zs_jump_switch; } /** * 配置为0时,则文字直接展示在上移后的位置/文字不延时;配置为1时,则文字上移/延时 */ get zs_switch():number{ if(this.currentVersion!=this.config.zs_version){ return 0; } return this.config.zs_switch; } /** * 配置为0时,则不展示接入此开关的导出;配置为1时,接入此开关的导出位置正常展示 */ get zs_full_screen_jump():number{ if(this.currentVersion!=this.config.zs_version){ return 0; } return this.config.zs_full_screen_jump; } /** * 按钮延迟时间 */ get zs_button_delay_time():number{ if(this.currentVersion!=this.config.zs_version){ return 0; } return this.config.zs_button_delay_time; } /** * 配置为0时,下方按钮为“点击跳过”,点击此按钮可直接关闭当前插屏式原生;配置为1时,下方按钮文字调用官方接口,点击此按钮跳转广告。(无论开关什么状态,点击插屏式原生左上角的关闭按钮均可关闭当前插屏式原生,点击广告图片均可以跳转至广告,示例发群里) */ get zs_native_click_switch():number{ if(this.currentVersion!=this.config.zs_version){ return 0; } return this.config.zs_native_click_switch; } get zs_banner_show_time():number{ return this.config.zs_banner_show_time; } /** * 延迟时间 */ get delayTime():number{ return 2000; } /** * 是否显示原生和插屏广告 */ get showNativa():number{ if(this.currentVersion!=this.config.zs_version){ return 0; } return 1; } /** * 可显示次数 */ get zs_click_award_num():number{ if(this.currentVersion!=this.config.zs_version){ return 0; } let value:number=Number(this.config.zs_click_award_num); if(isNaN(value)){ return 0; }else{ if(value!=0){ return value; } } return 0; } /** * 进度条上涨百分比 */ get zs_click_award_add():number{ return this.config.zs_click_award_add; } /** * 进度条不点下降百分比 */ get zs_click_award_back():number{ return this.config.zs_click_award_back; } /** * 砸金蛋区间 */ get zs_click_award_percent():number[]{ let percent:number[] = []; let str:string = this.config.zs_click_award_percent; str = str.replace("[", ""); str = str.replace("]", ""); let items:string[] = str.split(","); for(let i:number = 0; i < items.length; i++){ percent.push(Number(items[i])); } return percent; } }