Files
fc/dev/project/library/imports/16/16fa92a5-2cd9-44f1-8323-1c79cbc50eb8.js
2026-05-24 10:21:26 +08:00

174 lines
4.3 KiB
JavaScript

"use strict";
cc._RF.push(module, '16fa9KlLNlE8YMjHHnLxQ64', 'cmp.mail.cell');
// Scripts/mod/mail/cmp/cmp.mail.cell.js
"use strict";
// Learn cc.Class:
// - https://docs.cocos.com/creator/manual/en/scripting/class.html
// Learn Attribute:
// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
var PathTool = require("pathtool");
var TimeTool = require("timetool");
var MailController = require("mail.mod");
var MailEvent = require("mail_event");
var SvcItem = require("nx.fx.sv.expand.item");
cc.Class({
"extends": SvcItem,
properties: {
//mail
mail_con: {
"default": null,
type: cc.Node
},
mail_icons: {
"default": [],
type: [cc.SpriteFrame]
},
icon: {
"default": null,
type: cc.Sprite
},
mail_title: {
"default": null,
type: cc.Label
},
time: {
"default": null,
type: cc.Label
},
unread: {
"default": null,
type: cc.Label
},
red: {
"default": null,
type: cc.Node
},
//notice
notice_con: {
"default": null,
type: cc.Node
},
notice_title: {
"default": null,
type: cc.Label
},
notice_content: {
"default": null,
type: cc.Label
},
focus_icon: {
"default": null,
type: cc.Node
}
},
// LIFE-CYCLE CALLBACKS:
// 数据重置
rebind: function rebind(_idx, _data, _key) {
this._super(_idx, _data, _key);
// 刷新
this.setData(this.mdata);
},
onLoad: function onLoad() {
this.ctrl = MailController.getInstance();
},
start: function start() {},
onFocus: function onFocus() {
if (!this.focus_icon.active) {
this.focus_icon.active = true;
}
},
outFocus: function outFocus() {
if (this.focus_icon.active) {
this.focus_icon.active = false;
}
},
// openInfoView(){
// if(this.callback){
// this.callback(this);
// }
// },
setData: function setData(data) {
if (nx.dt.objEmpty(data)) {
return false;
}
if (this.mdata.status >= 0) {
//邮件
this.mail_con.active = true;
this.notice_con.active = false;
var show_time = TimeTool.getDayOrHour(client.socket.getTime() - this.mdata.send_time);
if (show_time) {
this.time.string = show_time;
} else {
this.time.string = "";
}
this.changeIcon(this.mdata.status);
var str = this.mdata.subject;
if (str.length >= 18) {
str = str.substring(0, 15) + "...";
}
this.mail_title.string = str;
} else if (this.mdata.flag >= 0) {
//公告
this.mail_con.active = false;
this.notice_con.active = true;
var _str = this.mdata.title;
if (_str.length >= 18) {
_str = _str.substring(0, 15) + "...";
}
this.notice_title.string = _str;
// this.notice_content.string = this.mdata.summary;
this.setGray(this.mdata.flag == 1);
}
},
//邮件的icon改变
changeIcon: function changeIcon(status) {
this.red.active = false;
this.unread.string = status == 0 ? nx.text.getKey("MailUnread") : nx.text.getKey("MailReal");
if (status == 1) {
//已读
this.icon.spriteFrame = this.mail_icons[status];
this.setGray(true);
if (this.mdata.is_has == 1) {
//有附件
this.icon.spriteFrame = this.mail_icons[3];
}
} else if (status == 2) {
//领了
this.icon.spriteFrame = this.mail_icons[status];
this.setGray(true);
} else if (status == 0) {
//未读
this.red.active = true;
this.icon.spriteFrame = this.mail_icons[status];
this.setGray(false);
if (this.mdata.is_has == 1) {
//有附件
this.icon.spriteFrame = this.mail_icons[3];
}
}
},
setGray: function setGray(status) {
if (status) {
this.unread.node.active = false;
} else {
this.unread.node.active = true;
}
},
getData: function getData() {
return this.mdata;
},
updateIconStatus: function updateIconStatus() {
if (this.mdata == null) return;
var status = this.mdata.status;
this.changeIcon(status);
}
// update (dt) {},
});
cc._RF.pop();