如何给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;
                        sendMsgList.push(msg);
                }
                if(status){
                        status = false;
                        var tempSendMsgList = sendMsgList;
                        sendMsgList = [];
                        FR.ajax({  
                                url: server,  
                                type: sendType,
                                dataType:dataType,
                                data:{msgList:tempSendMsgList},
                                success : function(receiveMsgList){
                                        status = true;
                                        onReceive(receiveMsgList);
                                },
                                complete: function(XMLHttpRequest,textStatus){
                                        status = true;
                                        onComplete(XMLHttpRequest,textStatus);
                                },
              
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值