"use strict"; cc._RF.push(module, '5c685tZb5BISb0muzSIY7g8', 'notice_panel'); // Scripts/mod/welfare/view/notice_panel.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 公告 //
Create: 2019-08-8 20:53:13 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var WelfareConst = require("welfare_const"); var PastePanel = cc.Class({ "extends": BasePanel, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("welfare", "notice_panel"); }, // 可以初始化声明一些变量的 initConfig: function initConfig() { this.ctrl = require("notice_controller").getInstance(); this.dengluMgr = require("login_controller").getInstance().getModel(); this.node_list = []; this.color = new cc.Color(0x64, 0x32, 0x23, 0xff); }, // 初始化一些配置数据,可以用于声明一些变量之类的 initPanel: function initPanel() { this.main_container = this.seekChild("main_container"); this.title_lab = this.seekChild("title_lab", cc.Label); this.qq_lab = this.seekChild("qq_lab", cc.Label); this.qq_lab.string = ""; this.notice_scroll = this.seekChild("notice_scroll"); this.notice_scroll_sv = this.seekChild("notice_scroll", cc.ScrollView); this.scroll_content = this.seekChild(this.notice_scroll, "content"); this.container_size = this.notice_scroll.getContentSize(); }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() {}, setMessage: function setMessage() { this.notice_content = this.ctrl.getNoticeContent(); if (this.notice_content == null) { var loginData = this.dengluMgr.getLoginInfo(); var svrName = this.dengluMgr.getSvrName(loginData.srv_id); var svrTime = loginData.open_time || 0; var svrDays = 0; // let str = '{"error":"success","msg":"\u83b7\u53d6\u6210\u529f","data":[{"type":"2","title":"\u65b0\u670d\u516c\u544a","content":"\u4eb2\u7231\u7684\u5192\u9669\u8005\u5927\u4eba:|\r\n
2019-08-07 11:00:00<\/div>\uff0c\u5192\u9669\u4e16\u754c\u5c06\u5f00\u542f\u5168\u65b0\u670d\u52a1\u5668\u2014\u2014
\u82f1\u96c4\u4e4b\u8defS1<\/div>\u3002\u795d\u613f\u5e7f\u5927\u5192\u9669\u8005\u80fd\u5728\u5192\u9669\u5927\u9646\u4e4b\u4e2d\u5c3d\u60c5\u5192\u9669\uff0c\u5bfb\u89c5\u5feb\u4e50~\u795d\u5927\u5bb6\u5192\u9669\u6109\u5feb\uff01\r\n\r\n \r\n\u300c\u65b0\u670d\u6d3b\u52a8\u300d\r\n \r\n\u6d3b\u52a8\u4e00\uff1a\u4e03\u5929\u767b\u5f55\u9886\u597d\u793c\u00b7\u6b21\u65e5\u767b\u5f55\u90015\u661f\u5965\u4e01<\/div>\r\n \u6bcf\u65e5\u767b\u9646\u5c31\u80fd\u9886\u53d6\u4e30\u539a\u5956\u52b1\uff0c\u9996\u65e5\u767b\u5f55\u9001\u5927\u91cf\u94bb\u77f3\uff0c\u6b21\u65e5\u767b\u9646\u90015\u661f\u8089\u76fe\u82f1\u96c4-\u5965\u4e01\uff01\u7b2c\u4e09\u65e5\u90015\u661f\u8f93\u51fa\u82f1\u96c4--\u7f8e\u675c\u838e\u3002\r\n \r\n\u6d3b\u52a8\u4e8c\uff1a\u9996\u5145\u53cc\u500d<\/div>\r\n \u9996\u6b21\u5355\u7b14\u5145\u503c\u6307\u5b9a\u989d\u5ea6\uff0c\u7acb\u5373\u83b7\u5f97\u53cc\u500d\u94bb\u77f3\uff0c\u8d85\u503c\u8fd4\u5229\u4e0d\u505c\u6b47\uff01\r\n \r\n\u6d3b\u52a8\u4e09\uff1a\u840c\u65b0\u8865\u7ed9<\/div>\r\n \u9996\u5145\u6ee16\u5143\u5373\u53ef\u83b7\u5f975\u661f\u8d85\u5f3a\u8f93\u51fa\u82f1\u96c4\u3010\u96c5\u5178\u5a1c\u3011\uff01\u66f4\u6709\u5176\u4ed6\u8d85\u503c\u5956\u52b1\u4e00\u6ce2\u5e26\u8d70\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01\r\n \r\n\u6d3b\u52a8\u56db\uff1a\u4e03\u65e5\u76ee\u6807<\/div>\r\n \u8fde\u7eed\u4e03\u65e5\u5b8c\u6210\u6bcf\u65e5\u4efb\u52a1\uff0c\u6bcf\u5929\u90fd\u6709\u597d\u793c\u9001\uff0c\u8d85\u503c\u82f1\u96c4\uff0c\u5347\u7ea7\u9053\u5177\uff0c\u52a9\u529b\u5192\u9669\u8005\u5927\u4eba\u63d0\u5347\u4e0d\u95f4\u65ad\uff017\u65e5\u7d2f\u5145\u5956\u52b1\u989d\u5916\u9001\u51fa\u5f3a\u529b\u5149\u6697\u82f1\u96c4\u3002\r\n \r\n\u6d3b\u52a8\u4e94\uff1a\u7d2f\u8ba1\u5145\u503c<\/div>\r\n \u6bcf\u65e5\u7d2f\u8ba1\u5145\u503c\u90015\u661f\u82f1\u96c4\uff0c\u8fd8\u9001\u7ea2\u8272\u88c5\u5907\u4e0e\u5927\u91cf\u8d44\u6e90\uff01\r\n \r\n\u6d3b\u52a8\u516d\uff1a\u793c\u5305\u62a2\u8d2d\/\u6bcf\u6708\u798f\u5229\/\u6bcf\u5468\u798f\u5229<\/div>\r\n \u6bcf\u5468\u9650\u8d2d\u8d85\u503c\u793c\u5305\u964d\u4ef7\u5927\u7529\u5356\uff0c\u5404\u7c7b\u968f\u673a\u798f\u888b\u597d\u793c\u5916\uff0c\u5145\u503c648\u8fd8\u6709\u5f3a\u529b\u5149\u6697\u82f1\u96c4\u788e\u7247\u4e0e\u5f69\u8679\u7b26\u6587\uff01\r\n \r\n\u6d3b\u52a8\u4e03\uff1a\u79ef\u5929\u8c6a\u793c<\/div>\r\n \u8fde\u7eed\u5145\u503c\u597d\u793c\u4e0d\u505c\u6b47\uff0c\u51b2\u7684\u5929\u6570\u8d8a\u591a\uff0c\u5956\u52b1\u8d8a\u591a\u3002\u5927\u91cf\u4e94\u661f\u968f\u673a\u788e\u7247\u9001\uff01\r\n\r\n\u6d3b\u52a8\u516b\uff1a\u6bcf\u65e5\u793c\u5305<\/div>\r\n \u6bcf\u65e5\u8d85\u503c\u597d\u793c\u8d85\u4f4e\u4ef7\u653e\u9001\uff0c\u989d\u5916\u8d60\u9001\u53cc\u500d\u94bb\u77f3\uff01\r\n \r\n\u6d3b\u52a8\u4e5d\uff1a\u7279\u6743\u5546\u57ce<\/div>\r\n \u5f3a\u529b\u5192\u9669\u8005\u5fc5\u5907\uff0c\u8d85\u503c\u4f18\u60e0\u793c\u5305\u548c\u8d85\u8c6a\u534e\u7279\u6743\uff01\u52a9\u529b\u5192\u9669\u8005\u5feb\u901f\u5347\u7ea7\u3002\r\n \r\n\u6d3b\u52a8\u5341\uff1a\u8363\u8000\/\u81f3\u5c0a\u6708\u5361<\/div>\r\n \u7d2f\u8ba1\u5145\u503c30\/98\u53ef\u6fc0\u6d3b\u8363\u8000\/\u81f3\u5c0a\u6708\u5361\uff0c\u6bcf\u65e5\u94bb\u77f3\u9886\u4e0d\u505c\uff0c\u8fd8\u80fd\u989d\u5916\u6fc0\u6d3b\u8d85\u503c\u57fa\u91d1\u8d2d\u4e70\u673a\u4f1a\uff01\r\n \r\n\u6d3b\u52a8\u5341\u4e00\uff1a\u8d85\u503c\u57fa\u91d1<\/div>\r\n20\u500d\u8d85\u503c\u8fd4\u5229\uff0c\u8fde\u7eed30\u65e5\u9886\u53d6\u8c6a\u534e\u5956\u52b1\r\n \r\n\u6d3b\u52a8\u5341\u4e8c\uff1a\u6210\u957f\u57fa\u91d1<\/div>\r\n \u8d2d\u4e70\u8d85\u503c\u6210\u957f\u8ba1\u5212\uff0c\u52a9\u529b\u65b0\u4eba\u6210\u957f\uff0c\u7d2f\u8ba130\u500d\u8fd4\u8fd8\u94bb\u77f3\r\n \r\n\u6d3b\u52a8\u5341\u56db\uff1a\u70b9\u77f3\u6210\u91d1<\/div>\r\n \u6d3b\u52a8\u671f\u95f4\uff0c\u70b9\u91d1\u6b21\u6570\u8d85\u5927\u5e45\u63d0\u5347\uff01\u70b9\u91d1\u8fbe\u5230\u6307\u5b9a\u6b21\u6570\u66f4\u6709\u4e30\u539a\u5956\u52b1\u9886~\u8fbe\u5230\u6700\u7ec8\u76ee\u6807\u53ef\u83b7\u6ce2\u585e\u51ac\u788e\u7247*50,\uff0c\u8fd8\u6709\u9650\u65f6\u6392\u884c\u5956\u52b1\uff0c\u5927\u91cf\u94bb\u77f3\uff0c\u9ad8\u7ea7\u5bfb\u5b9d\u5377\uff0c\u592a\u9633\u7b26\u6587\u7b49\u4f60\u6765\u62a2\r\n \r\n\u6d3b\u52a8\u5341\u4e94\uff1a\u9650\u65f6\u7b49\u7ea7\u793c\u5305<\/div>\r\n \u5168\u670d\u9650\u91cf\u793c\u5305\uff0c\u8fbe\u5230\u7b49\u7ea7\u5373\u53ef\u514d\u8d39\u9886\u53d6\uff01\u6570\u91cf\u6709\u9650\uff0c\u8fd8\u4e0d\u8d76\u7d27\u5feb\u5feb\u5347\u7ea7\uff0c\u62a2\u5168\u670d\u793c\u5305~\r\n \r\n \t\u671f\u5f85\u5192\u9669\u8005\u5927\u4eba\u7684\u5149\u4e34\uff0c\u795d\u5927\u4eba\u5192\u9669\u6109\u5feb~\r\n \r\n P.S. \u5927\u4eba\u7684\u53cd\u9988\u5efa\u8bae\u5c31\u662f\u6211\u4eec\u524d\u8fdb\u7684\u52a8\u529b\uff0c\u5728\u6e38\u620f\u4e2d\u5982\u6709\u9047\u5230\u95ee\u9898\u6216\u5bf9\u5192\u9669\u4e16\u754c\u6709\u4ec0\u4e48\u5efa\u8bae\uff0c\u8bf7\u70b9\u51fb\u3010\u5934\u50cf\u3011->\u3010BUG\u53cd\u9988\u3011\u8054\u7cfb\u5c0f\u52a9\u624b\uff0c\u5c0f\u52a9\u624b\u4f1a\u9010\u6761\u67e5\u770b\u5927\u4eba\u4eec\u7684\u53cd\u9988\uff0c\u8ba9\u5192\u9669\u4e16\u754c\u53d8\u5f97\u66f4\u597d~"}]}' // // str = str.replace(/</g, "<"); // // str = str.replace(/>/g, ">"); // // str = str.replace(/'/g, "'"); // // str = str.replace(/"/g, '"'); // // str = str.replace(/\9/g, ' '); // str = str.replace(/\r\n/g,"\\r\\n"); // str = str.replace(/\t/g,""); // // cc.log(str) // let _str = JSON.parse(str); // let cont = _str.data[0].content // cc.log(cont); // this.notice_content = StringUtil.parseStr(cont).string; // cc.log(StringUtil.parseStr(cont)) // var list = this.notice_content.split("|"); // cc.log(list) // this.addNoticeContent(list) // } var srvurl = this.ctrl.get_notice_url(svrDays, loginData); // console.log(srvurl); if (srvurl) { DownloadManager.getInstance().downloadText(srvurl, function (status, responseText) { // console.log("url+++++++++++", status, responseText) // console.log("type=", typeof (responseText)); // var response = JSON.parse(responseText); // console.log(response); var str = StringUtil.parseStr(responseText); // console.log(str); if (status == null && responseText != null) { var _str2 = responseText; _str2 = _str2.replace(/\r\n/g, "\\r\\n"); _str2 = _str2.replace(/\t/g, ""); var _str = JSON.parse(_str2); if (_str.data && _str.data[0]) { this.notice_content = StringUtil.parseStr(_str.data[0].content).string; var list = this.notice_content.split("|"); // console.log(list) this.addNoticeContent(list); this.ctrl.setNoticeContent(this.notice_content); } } else { cc.log("status==>", status, "responseText==>", responseText); } }.bind(this)); } } else { var list = this.notice_content.split("|"); this.addNoticeContent(list); } }, addNoticeContent: function addNoticeContent(list) { if (list == null || list.length == 0) return; //更新先情况,防止加载不到文件时候多次加载 this.main_container.stopAllActions(); var curY = -80; //取出第一个用于称谓显示 this.title_lab.string = list.shift() || ""; this.list_index = 0; var _y = 0; this.startUpdate(list.length, function () { var index = this.list_index; var vo = list[index]; var sub = this.createSubContent(2, 20, vo, this.container_size.width - 4, 0); this.node_list.push(sub); curY = curY + sub.node.getContentSize().height + 3; //60 cc.log(curY); var maxY = Math.max(curY, this.container_size.height); this.scroll_content.setContentSize(this.container_size.width, maxY + 80); sub.node.y = _y - sub.node.getContentSize().height + 5; _y = sub.node.y; this.list_index += 1; }.bind(this), 100); this.notice_scroll_sv.scrollToTop(0.5); }, createSubContent: function createSubContent(x, y, content, width, linespce) { var label = Utils.createRichLabel(24, this.color, cc.v2(0, 0), cc.v2(0, 0), 30, width, this.scroll_content); label.string = content; label.horizontalAlign = cc.macro.TextAlignment.LEFT; label.node.setPosition(x, y); return label; }, // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了 onShow: function onShow(params) { this.setMessage(); }, setVisibleStatus: function setVisibleStatus(status) { this.setVisible(status); }, // 面板设置不可见的回调,这里做一些不可见的屏蔽处理 onHide: function onHide() {}, // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用 onDelete: function onDelete() { if (this.node_list) { for (var i in this.node_list) { var v = this.node_list[i]; if (v instanceof cc.Node) { v.destroy(); v = null; } else { v.node.destroy(); v = null; } } this.node_list = null; } if (this.main_container) { this.main_container.stopAllActions(); } } }); cc._RF.pop();