difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
 
                (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:
//      这里填写详细说明,主要填写该模块的功能简要
// <br/>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==