background image
如何给
FineReport 设置自定义消息提醒工具
FineReport 设计器有自动的消息推送功能,可设置报表定时推送和常规的日报周报推送。官
方有自己的消息推送的接口,不过有些用户旺旺希望自己开发,符合自己需求的推送界面。
下面这个方案就从逻辑层面简单阐述一个通讯类应该怎么实现。
废话不多说直接上代码,为了保证新手能够看懂,这个代码基本上只需要了解
JS 和 JQ 的常
规写法就行。
;
(function($){
/*定义一个工具对象,所有的工具以后都放进去*/
HG = {};
/*定义我们第一个基础类 OBJ*/
HG.OBJ = function(options){
//保证子类能够继承父类的默认成员变量
this.options = $.extend(this._defaultOptions(), options);
//初始化对象
this._init();
};
$.extend(HG.OBJ.prototype, {
_defaultOptions: function () {
return {classType:"OBJ"};
},
_init:function(){}
});
/*定义用于生成子类的方法*/
HG.extend=function(parent,options){
var son = $.extend(parent,{});
son.prototype = $.extend(parent.prototype,options);
return son;
};
/*第一个就是要构建我们的通讯对象*/
/****定义一些通讯用的私有成员和方法*****/
//发送通道的状态,为了减轻服务器压力,采取单通道发送
var status = true;
var sendMsgList = [];
var receiveMsgList = [];
var server = null;
var sendType = null;
var dataType = null;
//最终发送消息的方法
var send=function(msg,onReceive,onComplete,onFailed){
if(!msg.inList){
msg.inList = true;