"use strict"; cc._RF.push(module, 'fc753Pu5ktBOZoyuaPREqO7', 'vip_controller'); // Scripts/mod/vip/vip_controller.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: 2019-02-26 21:07:32 // -------------------------------------------------------------------- var RoleController = require("role_controller"); var VipEvent = require("vip_event"); var VipController = cc.Class({ "extends": BaseController, ctor: function ctor() {}, // 初始化配置数据 initConfig: function initConfig() { var VipModel = require("vip_model"); this.model = new VipModel(); this.model.initConfig(); this.vip_redpoint_status = {}; this.vip_privilege_redpoint = {}; //vip特权 item 红点 this.is_first = true; }, // 返回当前的model getModel: function getModel() { return this.model; }, // 注册监听事件 registerEvents: function registerEvents() { if (this.login_event_success == null) { this.login_event_success = gcore.GlobalEvent.bind(EventId.EVT_ROLE_CREATE_SUCCESS, function () { gcore.GlobalEvent.unbind(this.login_event_success); this.login_event_success = null; this.role_vo = RoleController.getInstance().getRoleVo(); if (this.role_vo) { if (this.role_assets_event == null) { this.role_assets_event = this.role_vo.bind(EventId.UPDATE_ROLE_ATTRIBUTE, function (key, value) { if (key == "vip_lev") { this.setIsFirst(true); var get_list = this.model.getGetGiftList(); var item_status = get_list[this.role_vo.vip_lev] == null && this.getIsFirst(); this.setTipsVIPStstus(VIPREDPOINT.VIP_TAB, item_status); gcore.GlobalEvent.fire(VipEvent.UPDATA_ITEM_REDPOINT); } }.bind(this)); } } // this.sender16707() //月卡领取 // this.sender16710() //VIP礼包红点用 // this.sender16712() //累充红点 // this.sender21006() //每日礼包 // this.sender24502() //特权礼包 }, this); } if (this.re_link_game_event == null) { this.re_link_game_event = gcore.GlobalEvent.bind(EventId.EVT_RE_LINK_GAME, function () {// this.sender21006(); }, this); } }, // 注册协议接受事件 registerProtocals: function registerProtocals() { this.RegisterProtocal(16700, this.handle16700); //获取充值列表信息 this.RegisterProtocal(16710, this.handle16710); //VIP礼包领取信息 this.RegisterProtocal(16711, this.handle16711); //VIP等级奖励领取 this.RegisterProtocal(16712, this.handle16712); //获取永久累充信息 this.RegisterProtocal(16713, this.handle16713); //领取累充奖励 this.RegisterProtocal(21005, this.handle21005); //三倍返利信息 this.RegisterProtocal(21006, this.handle21006); //每日礼包数据 this.RegisterProtocal(24501, this.handle24501); //购买VIP特权礼包 this.RegisterProtocal(24502, this.handle24502); //VIP特权礼包数据 this.RegisterProtocal(16707, this.handle16707); this.RegisterProtocal(16708, this.handle16708); this.RegisterProtocal(16730, this.handle16730); this.RegisterProtocal(16731, this.handle16731); this.RegisterProtocal(21020, this.handle21020); //每日一元红点 }, setPrivilegeRedpoint: function setPrivilegeRedpoint(index, status) { this.vip_privilege_redpoint[index] = status; }, getPrivilegeRedpoint: function getPrivilegeRedpoint(index) { var status = this.vip_privilege_redpoint[index]; return status; }, getIsFirst: function getIsFirst() { return this.is_first; }, setIsFirst: function setIsFirst(status) { this.is_first = status; }, //获取充值列表信息 sender16700: function sender16700() { this.SendProtocal(16700, {}); }, handle16700: function handle16700(data) { gcore.GlobalEvent.fire(VipEvent.UPDATE_CHARGE_LIST, data.list); }, //三倍返利信息 sender21005: function sender21005() { this.SendProtocal(21005, {}); }, handle21005: function handle21005(data) { gcore.GlobalEvent.fire(VipEvent.THREE_RECHARGE, data); }, //请求每次礼包数据 sender21006: function sender21006() { this.SendProtocal(21006, {}); }, handle21006: function handle21006(data) { if (data) { this.model.setDailyGiftData(data.first_gift); gcore.GlobalEvent.fire(VipEvent.DAILY_GIFT_INFO); } }, //请求购买VIP特权礼包 sender24501: function sender24501(id) { var protocal = {}; protocal.id = id; this.SendProtocal(24501, protocal); }, handle24501: function handle24501(data) { if (data.msg) { message(data.msg); } }, //请求VIP特权礼包数据 sender24502: function sender24502() { this.SendProtocal(24502, {}); }, handle24502: function handle24502(data) { if (data) { this.model.setPrivilegeList(data.list); var status = this.model.getPrivilegeRedStatus(); this.setTipsVIPStstus(VIPREDPOINT.PRIVILEGE, status); gcore.GlobalEvent.fire(VipEvent.PRIVILEGE_INFO); } }, //VIP界面月卡领取 sender16707: function sender16707() { this.SendProtocal(16707, {}); }, handle16707: function handle16707(data) { var status = false; if (data.status == 1) { status = true; } this.model.setMonthCard(data.status); this.setTipsVIPStstus(VIPREDPOINT.MONTH_CARD, status); gcore.GlobalEvent.fire(VipEvent.SUPRE_CARD_GET, data.status); }, sender16708: function sender16708() { this.SendProtocal(16708, {}); }, handle16708: function handle16708(data) { message(data.msg); }, //VIP礼包领取信息 sender16710: function sender16710() { this.SendProtocal(16710, {}); }, handle16710: function handle16710(data) { this.model.setGetGiftList(data.list); if (this.role_vo == null) { this.role_vo = RoleController.getInstance().getRoleVo(); } var get_list = this.model.getGetGiftList(); var item_status = get_list[this.role_vo.vip_lev] == null && this.getIsFirst(); this.setTipsVIPStstus(VIPREDPOINT.VIP_TAB, item_status); gcore.GlobalEvent.fire(VipEvent.UPDATA_ITEM_REDPOINT); }, //红点 setTipsVIPStstus: function setTipsVIPStstus(bid, status) { this.vip_redpoint_status[bid] = status; var redpoint = false; for (var i in this.vip_redpoint_status) { var v = this.vip_redpoint_status[i]; if (v == true) { redpoint = true; break; } } var MainuiController = require("mainui_controller"); var MainuiConst = require("mainui_const"); MainuiController.getInstance().setFunctionTipsStatus(MainuiConst.icon.charge, redpoint); }, //VIP等级奖励领取 sender16711: function sender16711(lev) { var protocal = {}; protocal.lev = lev; this.SendProtocal(16711, protocal); }, handle16711: function handle16711(data) { message(data.msg); }, //累充奖励信息 sender16712: function sender16712() { this.SendProtocal(16712, {}); }, handle16712: function handle16712(data) { this.charge_sum = data.charge_sum; //当前总充值数 this.model.setAccList(data.list); gcore.GlobalEvent.fire(VipEvent.ACC_RECHARGE_INFO, data); }, getChargeSum: function getChargeSum() { return this.charge_sum || 0; }, //领取累充奖励 sender16713: function sender16713(id) { var protocal = {}; protocal.id = id; this.SendProtocal(16713, protocal); }, handle16713: function handle16713(data) { message(data.msg); }, // sender16730: function sender16730() { var protocal = {}; this.SendProtocal(16730, protocal); }, // time // state handle16730: function handle16730(data) { this.model.setGiveVipInfo(data); this.model.setGiveVipStatus(); gcore.GlobalEvent.fire(VipEvent.GIVE_VIP_UPDATE); }, // sender16731: function sender16731() { var protocal = {}; this.SendProtocal(16731, protocal); }, //领取vip handle16731: function handle16731(data) { message(data.msg); if (data.code == 1) { this.openVipAwardWindow(); this.sender16730(); } }, //index是大标签页 VIPTABCONST //sub_type是vip特权界面的 要跳哪个等级就传哪个等级 openVipMainWindow: function openVipMainWindow(status, index, sub_type, callFunc) { if (status) { if (IS_SHOW_CHARGE == false) { message(Utils.TI18N("功能暂未开放,敬请期待")); return; } var charge_cfg = gdata("charge_data", "data_constant", ["open_lv"]); if (charge_cfg) { if (this.role_vo && this.role_vo.lev < charge_cfg.val) { message(charge_cfg.desc); return; } } if (!this.vip_window) { this.vip_window = Utils.createClass("vip_main_window"); } index = index || 1; if (this.vip_window) { this.vip_window.open(index, sub_type); } if (callFunc) { this.deleteCallFunc = callFunc; } } else { if (this.vip_window) { this.vip_window.close(); this.vip_window = null; if (this.deleteCallFunc) { this.deleteCallFunc(); this.deleteCallFunc = null; } } } }, // 打开奖励VIP界面 openVipAwardWindow: function openVipAwardWindow(status) { if (status == true) { if (!this.vip_award_window) { this.vip_award_window = Utils.createClass("vip_award_window", this); } if (this.vip_award_window && this.vip_award_window.isOpen() == false) { this.vip_award_window.open(); } } else { if (this.vip_award_window) { this.vip_award_window.close(); this.vip_award_window = null; } } }, //切换vip面板的标签页 changeMainWindowTab: function changeMainWindowTab(index) { if (this.vip_window) { this.vip_window.changeTabView(index); } }, handle21020: function handle21020(data) { var status = false; if (data.code == 1) { status = true; } var MainuiController = require("mainui_controller"); var MainuiConst = require("mainui_const"); MainuiController.getInstance().setFunctionTipsStatus(MainuiConst.icon.one_gift, status); } }); module.exports = VipController; cc._RF.pop();