Files
fc/dev/project/library/imports/94/94ba9721-8de2-4d18-bccd-f070f634c59b.js
T
2026-05-24 10:21:26 +08:00

130 lines
3.3 KiB
JavaScript

"use strict";
cc._RF.push(module, '94ba9chjeJNGLzN8HD2NMWb', 'partner.clerk.mod');
// Scripts/mod/partner/partner.clerk.mod.js
"use strict";
/*******************************************************************************
*
* 伙伴秘书组管理
*
*
*
* 2023.04.10
******************************************************************************/
var BridgeController = require("bridge.controller");
var RoleController = require("role_controller");
var PartnerClerkMod = cc.Class({
"extends": BridgeController,
// 初始化配置数据
initConfig: function initConfig() {
// 视图清理
this.reset();
// 全局支持
nx.bridge.clerks = this;
},
// 注册监听事件
registerEvents: function registerEvents() {},
// 注册协议接受事件
registerProtocals: function registerProtocals() {
// 获取秘书组信息
this.RegisterProtocal(10361, this.onFetchData.bind(this));
// 修改秘书组信息
this.RegisterProtocal(10362, this.onModifyData.bind(this));
// 修改当前展示的秘书
this.RegisterProtocal(10363, this.onShowChanged.bind(this));
},
// 从服务器初始化数据
reqBaseFromServer: function reqBaseFromServer(_cb) {
var _this = this;
// 配置加载
var cfgs = ["secretary_data" // 秘书组
];
this.loadConfigs(cfgs, function (_ret, _data) {
_this.reqFetch(_cb);
});
},
// 重置
reset: function reset(_list, _cur) {
nx.bridge.vset("clerkList", _list || []);
nx.bridge.vset("clerkShowId", _cur || "");
},
// 获取秘书组信息
reqFetch: function reqFetch(_cb) {
this.SendProtocal(10361, {}, _cb);
},
// REC: 获取秘书组信息
onFetchData: function onFetchData(_data) {
this.reset(_data.secretary_group, _data.current_resource_id);
},
// 修改秘书组信息
reqModify: function reqModify(_data, _cb) {
this.cbModify = _cb;
this.SendProtocal(10362, {
secretary_group: _data
});
},
// REC: 修改秘书组信息
onModifyData: function onModifyData(_data) {
console.log(_data);
// 失败
if (_data.code != 1) {
nx.tbox(_data.msg);
return;
}
this.reset(_data.secretary_group, _data.current_resource_id);
nx.dt.fnInvoke(this.cbModify, _data);
this.cbModify = null;
},
// 修改当前展示的秘书
reqActiveShow: function reqActiveShow(_cb) {
// 判空
var lst = nx.bridge.vget("clerkList");
if (nx.dt.arrEmpty(lst)) {
return;
}
// 唯一
var cur = nx.bridge.vget("clerkShowId");
if (lst.length == 1 && lst[0].resource_id == cur) {
nx.tbox("NeedSet");
return;
}
// 下一个
var idx = 0;
for (var i = 0; i < lst.length; ++i) {
if (lst[i].resource_id == cur) {
idx = i + 1;
break;
}
}
idx = (idx + lst.length) % lst.length;
this.cbActive = _cb;
this.SendProtocal(10363, {
resource_id: lst[idx].resource_id
});
},
// REC: 修改当前展示的秘书
onShowChanged: function onShowChanged(_data) {
console.log(_data);
// 失败
if (_data.code != 1) {
nx.tbox(_data.msg);
return;
}
nx.bridge.vset("clerkShowId", _data.current_resource_id);
nx.dt.fnInvoke(this.cbActive, _data);
this.cbActive = null;
}
});
module.exports = PartnerClerkMod;
cc._RF.pop();