(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/invitecode/invitecode_controller.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { return __quick_compile_project__.require(request, __filename); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; cc._RF.push(module, 'b4d29m3uRlAvKK7Kusktn0z', 'invitecode_controller'); // Scripts/mod/invitecode/invitecode_controller.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: 2019-04-27 17:52:15 // -------------------------------------------------------------------- var InviteCodeEvent = require("invitecode_event"); var InvitecodeController = cc.Class({ "extends": BaseController, ctor: function ctor() {}, // 初始化配置数据 initConfig: function initConfig() { var InvitecodeModel = require("invitecode_model"); this.model = new InvitecodeModel(); this.model.initConfig(); }, // 返回当前的model getModel: function getModel() { return this.model; }, // 注册监听事件 registerEvents: function registerEvents() {}, // 注册协议接受事件 registerProtocals: function registerProtocals() { this.RegisterProtocal(19800, this.handle19800); this.RegisterProtocal(19801, this.handle19801); this.RegisterProtocal(19802, this.handle19802); this.RegisterProtocal(19803, this.handle19803); this.RegisterProtocal(19804, this.handle19804); this.RegisterProtocal(19805, this.handle19805); this.RegisterProtocal(19807, this.handle19807); }, requestProto: function requestProto() { this.sender19800(); this.sender19804(); this.sender19802(); }, //个人邀请码 sender19800: function sender19800() { this.SendProtocal(19800, {}); }, handle19800: function handle19800(data) { this.model.setInviteCode(data.code); gcore.GlobalEvent.fire(InviteCodeEvent.Get_InviteCode_Event); }, //绑定邀请码 sender19801: function sender19801(code) { var proto = {}; proto.code = code; this.SendProtocal(19801, proto); }, handle19801: function handle19801(data) { message(data.msg); gcore.GlobalEvent.fire(InviteCodeEvent.BindCode_Invite_Event, data); }, //奖励信息 sender19804: function sender19804() { this.SendProtocal(19804, {}); }, handle19804: function handle19804(data) { this.model.setInviteCodeTeskData(data.list); // this.getInviteCodeRepoint(data.list); gcore.GlobalEvent.fire(InviteCodeEvent.InviteCode_My_Event); }, getInviteCodeRepoint: function getInviteCodeRepoint(data) { if (Utils.next(data) == null) return; var status = false; if (SHOW_SINGLE_INVICODE) { for (var i in data) { if (data[i] && data[i].num > data[i].had) { status = true; break; } } } var WelfareConst = require("welfare_const"); require("welfare_controller").getInstance().setWelfareStatus(WelfareConst.WelfareIcon.invicode, status); }, //奖励领取 sender19805: function sender19805(id) { var proto = {}; proto.id = id; this.SendProtocal(19805, proto); }, handle19805: function handle19805(data) { message(data.msg); if (data.code == 1) { this.model.setUpdataInviteCodeTeskData(data); gcore.GlobalEvent.fire(InviteCodeEvent.InviteCode_My_Event); } }, //绑定角色列表(已邀请的好友) sender19802: function sender19802() { this.SendProtocal(19802, {}); }, handle19802: function handle19802(data) { this.model.setAlreadyFriendData(data.list); gcore.GlobalEvent.fire(InviteCodeEvent.InviteCode_BindRole_Event); }, //绑定角色列表(推送) handle19803: function handle19803(data) { this.model.setUpdataAlreadyFriendData(data); gcore.GlobalEvent.fire(InviteCodeEvent.InviteCode_BindRole_Updata_Event); }, //自己所绑定的角色 sender19807: function sender19807() { this.SendProtocal(19807, {}); }, handle19807: function handle19807(data) { this.model.addFriendChatData(data); } }); module.exports = InvitecodeController; cc._RF.pop(); } if (nodeEnv) { __define(__module.exports, __require, __module); } else { __quick_compile_project__.registerModuleFunc(__filename, function () { __define(__module.exports, __require, __module); }); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxpbnZpdGVjb2RlXFxpbnZpdGVjb2RlX2NvbnRyb2xsZXIuanMiXSwibmFtZXMiOlsiSW52aXRlQ29kZUV2ZW50IiwicmVxdWlyZSIsIkludml0ZWNvZGVDb250cm9sbGVyIiwiY2MiLCJDbGFzcyIsIkJhc2VDb250cm9sbGVyIiwiY3RvciIsImluaXRDb25maWciLCJJbnZpdGVjb2RlTW9kZWwiLCJtb2RlbCIsImdldE1vZGVsIiwicmVnaXN0ZXJFdmVudHMiLCJyZWdpc3RlclByb3RvY2FscyIsIlJlZ2lzdGVyUHJvdG9jYWwiLCJoYW5kbGUxOTgwMCIsImhhbmRsZTE5ODAxIiwiaGFuZGxlMTk4MDIiLCJoYW5kbGUxOTgwMyIsImhhbmRsZTE5ODA0IiwiaGFuZGxlMTk4MDUiLCJoYW5kbGUxOTgwNyIsInJlcXVlc3RQcm90byIsInNlbmRlcjE5ODAwIiwic2VuZGVyMTk4MDQiLCJzZW5kZXIxOTgwMiIsIlNlbmRQcm90b2NhbCIsImRhdGEiLCJzZXRJbnZpdGVDb2RlIiwiY29kZSIsImdjb3JlIiwiR2xvYmFsRXZlbnQiLCJmaXJlIiwiR2V0X0ludml0ZUNvZGVfRXZlbnQiLCJzZW5kZXIxOTgwMSIsInByb3RvIiwibWVzc2FnZSIsIm1zZyIsIkJpbmRDb2RlX0ludml0ZV9FdmVudCIsInNldEludml0ZUNvZGVUZXNrRGF0YSIsImxpc3QiLCJJbnZpdGVDb2RlX015X0V2ZW50IiwiZ2V0SW52aXRlQ29kZVJlcG9pbnQiLCJVdGlscyIsIm5leHQiLCJzdGF0dXMiLCJTSE9XX1NJTkdMRV9JTlZJQ09ERSIsImkiLCJudW0iLCJoYWQiLCJXZWxmYXJlQ29uc3QiLCJnZXRJbnN0YW5jZSIsInNldFdlbGZhcmVTdGF0dXMiLCJXZWxmYXJlSWNvbiIsImludmljb2RlIiwic2VuZGVyMTk4MDUiLCJpZCIsInNldFVwZGF0YUludml0ZUNvZGVUZXNrRGF0YSIsInNldEFscmVhZHlGcmllbmREYXRhIiwiSW52aXRlQ29kZV9CaW5kUm9sZV9FdmVudCIsInNldFVwZGF0YUFscmVhZHlGcmllbmREYXRhIiwiSW52aXRlQ29kZV9CaW5kUm9sZV9VcGRhdGFfRXZlbnQiLCJzZW5kZXIxOTgwNyIsImFkZEZyaWVuZENoYXREYXRhIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxlQUFlLEdBQUdDLE9BQU8sQ0FBQyxrQkFBRCxDQUE3Qjs7QUFFQSxJQUFJQyxvQkFBb0IsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDaEMsYUFBU0MsY0FEdUI7QUFFaENDLEVBQUFBLElBQUksRUFBRSxnQkFBWSxDQUNqQixDQUgrQjtBQUtoQztBQUNBQyxFQUFBQSxVQUFVLEVBQUUsc0JBQVk7QUFDcEIsUUFBSUMsZUFBZSxHQUFHUCxPQUFPLENBQUMsa0JBQUQsQ0FBN0I7O0FBRUEsU0FBS1EsS0FBTCxHQUFhLElBQUlELGVBQUosRUFBYjtBQUNBLFNBQUtDLEtBQUwsQ0FBV0YsVUFBWDtBQUNILEdBWCtCO0FBYWhDO0FBQ0FHLEVBQUFBLFFBQVEsRUFBRSxvQkFBWTtBQUNsQixXQUFPLEtBQUtELEtBQVo7QUFDSCxHQWhCK0I7QUFrQmhDO0FBQ0FFLEVBQUFBLGNBQWMsRUFBRSwwQkFBWSxDQUMzQixDQXBCK0I7QUFzQmhDO0FBQ0FDLEVBQUFBLGlCQUFpQixFQUFFLDZCQUFZO0FBQzNCLFNBQUtDLGdCQUFMLENBQXNCLEtBQXRCLEVBQTZCLEtBQUtDLFdBQWxDO0FBQ0EsU0FBS0QsZ0JBQUwsQ0FBc0IsS0FBdEIsRUFBNkIsS0FBS0UsV0FBbEM7QUFDQSxTQUFLRixnQkFBTCxDQUFzQixLQUF0QixFQUE2QixLQUFLRyxXQUFsQztBQUNBLFNBQUtILGdCQUFMLENBQXNCLEtBQXRCLEVBQTZCLEtBQUtJLFdBQWxDO0FBQ0EsU0FBS0osZ0JBQUwsQ0FBc0IsS0FBdEIsRUFBNkIsS0FBS0ssV0FBbEM7QUFDQSxTQUFLTCxnQkFB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QjlELG9CQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgICDov5nph4zloavlhpnor6bnu4bor7TmmI4s5Li76KaB5aGr5YaZ6K+l5qih5Z2X55qE5Yqf6IO9566A6KaBXG4vLyA8YnIvPkNyZWF0ZTogMjAxOS0wNC0yNyAxNzo1MjoxNVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBJbnZpdGVDb2RlRXZlbnQgPSByZXF1aXJlKFwiaW52aXRlY29kZV9ldmVudFwiKTtcblxudmFyIEludml0ZWNvZGVDb250cm9sbGVyID0gY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IEJhc2VDb250cm9sbGVyLFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW6YWN572u5pWw5o2uXG4gICAgaW5pdENvbmZpZzogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgSW52aXRlY29kZU1vZGVsID0gcmVxdWlyZShcImludml0ZWNvZGVfbW9kZWxcIik7XG5cbiAgICAgICAgdGhpcy5tb2RlbCA9IG5ldyBJbnZpdGVjb2RlTW9kZWwoKTtcbiAgICAgICAgdGhpcy5tb2RlbC5pbml0Q29uZmlnKCk7XG4gICAgfSxcblxuICAgIC8vIOi/lOWbnuW9k+WJjeeahG1vZGVsXG4gICAgZ2V0TW9kZWw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gICAgfSxcblxuICAgIC8vIOazqOWGjOebkeWQrOS6i+S7tlxuICAgIHJlZ2lzdGVyRXZlbnRzOiBmdW5jdGlvbiAoKSB7XG4gICAgfSxcblxuICAgIC8vIOazqOWGjOWNj+iuruaOpeWPl+S6i+S7tlxuICAgIHJlZ2lzdGVyUHJvdG9jYWxzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuUmVnaXN0ZXJQcm90b2NhbCgxOTgwMCwgdGhpcy5oYW5kbGUxOTgwMClcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDE5ODAxLCB0aGlzLmhhbmRsZTE5ODAxKVxuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMTk4MDIsIHRoaXMuaGFuZGxlMTk4MDIpXG4gICAgICAgIHRoaXMuUmVnaXN0ZXJQcm90b2NhbCgxOTgwMywgdGhpcy5oYW5kbGUxOTgwMylcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDE5ODA0LCB0aGlzLmhhbmRsZTE5ODA0KVxuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMTk4MDUsIHRoaXMuaGFuZGxlMTk4MDUpXG4gICAgICAgIHRoaXMuUmVnaXN0ZXJQcm90b2NhbCgxOTgwNywgdGhpcy5oYW5kbGUxOTgwNylcbiAgICB9LFxuXG4gICAgcmVxdWVzdFByb3RvOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuc2VuZGVyMTk4MDAoKVxuICAgICAgICB0aGlzLnNlbmRlcjE5ODA0KClcbiAgICAgICAgdGhpcy5zZW5kZXIxOTgwMigpXG4gICAgfSxcblxuICAgIC8v5Liq5Lq66YKA6K+356CBXG4gICAgc2VuZGVyMTk4MDA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5TZW5kUHJvdG9jYWwoMTk4MDAsIHt9KTtcbiAgICB9LFxuXG4gICAgaGFuZGxlMTk4MDA6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHRoaXMubW9kZWwuc2V0SW52aXRlQ29kZShkYXRhLmNvZGUpO1xuICAgICAgICBnY29yZS5HbG9iYWxFdmVudC5maXJlKEludml0ZUNvZGVFdmVudC5HZXRfSW52aXRlQ29kZV9FdmVudClcbiAgICB9LFxuXG4gICAgLy/nu5HlrprpgoDor7fnoIFcbiAgICBzZW5kZXIxOTgwMTogZnVuY3Rpb24gKGNvZGUpIHtcbiAgICAgICAgdmFyIHByb3RvID0ge307XG4gICAgICAgIHByb3RvLmNvZGUgPSBjb2RlO1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgxOTgwMSwgcHJvdG8pO1xuICAgIH0sXG5cbiAgICBoYW5kbGUxOTgwMTogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgbWVzc2FnZShkYXRhLm1zZyk7XG4gICAgICAgIGdjb3JlLkdsb2JhbEV2ZW50LmZpcmUoSW52aXRlQ29kZUV2ZW50LkJpbmRDb2RlX0ludml0ZV9FdmVudCwgZGF0YSk7XG4gICAgfSxcblxuICAgIC8v5aWW5Yqx5L+h5oGvXG4gICAgc2VuZGVyMTk4MDQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5TZW5kUHJvdG9jYWwoMTk4MDQsIHt9KTtcbiAgICB9LFxuXG4gICAgaGFuZGxlMTk4MDQ6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHRoaXMubW9kZWwuc2V0SW52aXRlQ29kZVRlc2tEYXRhKGRhdGEubGlzdCk7XG4gICAgICAgIC8vIHRoaXMuZ2V0SW52aXRlQ29kZVJlcG9pbnQoZGF0YS5saXN0KTtcbiAgICAgICAgZ2NvcmUuR2xvYmFsRXZlbnQuZmlyZShJbnZpdGVDb2RlRXZlbnQuSW52aXRlQ29kZV9NeV9FdmVudClcbiAgICB9LFxuXG4gICAgZ2V0SW52aXRlQ29kZVJlcG9pbnQ6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIGlmIChVdGlscy5uZXh0KGRhdGEpID09IG51bGwpIHJldHVyblxuICAgICAgICB2YXIgc3RhdHVzID0gZmFsc2U7XG4gICAgICAgIGlmIChTSE9XX1NJTkdMRV9JTlZJQ09ERSkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBkYXRhKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGFbaV0gJiYgZGF0YVtpXS5udW0gPiBkYXRhW2ldLmhhZCkge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgV2VsZmFyZUNvbnN0ID0gcmVxdWlyZShcIndlbGZhcmVfY29uc3RcIik7XG4gICAgICAgIHJlcXVpcmUoXCJ3ZWxmYXJlX2NvbnRyb2xsZXJcIikuZ2V0SW5zdGFuY2UoKS5zZXRXZWxmYXJlU3RhdHVzKFdlbGZhcmVDb25zdC5XZWxmYXJlSWNvbi5pbnZpY29kZSwgc3RhdHVzKVxuICAgIH0sXG5cbiAgICAvL+WlluWKsemihuWPllxuICAgIHNlbmRlcjE5ODA1OiBmdW5jdGlvbiAoaWQpIHtcbiAgICAgICAgdmFyIHByb3RvID0ge307XG4gICAgICAgIHByb3RvLmlkID0gaWQ7XG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDE5ODA1LCBwcm90byk7XG4gICAgfSxcblxuICAgIGhhbmRsZTE5ODA1OiBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICBtZXNzYWdlKGRhdGEubXNnKTtcbiAgICAgICAgaWYgKGRhdGEuY29kZSA9PSAxKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNldFVwZGF0YUludml0ZUNvZGVUZXNrRGF0YShkYXRhKTtcbiAgICAgICAgICAgIGdjb3JlLkdsb2JhbEV2ZW50LmZpcmUoSW52aXRlQ29kZUV2ZW50Lkludml0ZUNvZGVfTXlfRXZlbnQpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8v57uR5a6a6KeS6Imy5YiX6KGoKOW3sumCgOivt+eahOWlveWPiylcbiAgICBzZW5kZXIxOTgwMjogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgxOTgwMiwge30pO1xuICAgIH0sXG5cbiAgICBoYW5kbGUxOTgwMjogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgdGhpcy5tb2RlbC5zZXRBbHJlYWR5RnJpZW5kRGF0YShkYXRhLmxpc3QpO1xuICAgICAgICBnY29yZS5HbG9iYWxFdmVudC5maXJlKEludml0ZUNvZGVFdmVudC5JbnZpdGVDb2RlX0JpbmRSb2xlX0V2ZW50KTtcbiAgICB9LFxuXG4gICAgLy/nu5Hlrprop5LoibLliJfooajvvIjmjqjpgIHvvIlcbiAgICBoYW5kbGUxOTgwMzogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgdGhpcy5tb2RlbC5zZXRVcGRhdGFBbHJlYWR5RnJpZW5kRGF0YShkYXRhKTtcbiAgICAgICAgZ2NvcmUuR2xvYmFsRXZlbnQuZmlyZShJbnZpdGVDb2RlRXZlbnQuSW52aXRlQ29kZV9CaW5kUm9sZV9VcGRhdGFfRXZlbnQpO1xuICAgIH0sXG5cbiAgICAvL+iHquW3seaJgOe7keWumueahOinkuiJslxuICAgIHNlbmRlcjE5ODA3OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDE5ODA3LCB7fSk7XG4gICAgfSxcblxuICAgIGhhbmRsZTE5ODA3OiBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICB0aGlzLm1vZGVsLmFkZEZyaWVuZENoYXREYXRhKGRhdGEpO1xuICAgIH1cbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IEludml0ZWNvZGVDb250cm9sbGVyOyJdfQ==