require md 模板

来源:互联网 发布:hbuilder for mac安装 编辑:程序博客网 时间:2024/05/11 19:17
/**
 * 因接口调用地方过多为方便接口调用 集中处理接口 并且方便ajax里调用ajax 2015-12-14
 * 调用示例1:单个接口调用
 * $.when(isLogin()).done(function(){
 *      成功处理函数
 * }).fail(function(){
 *      失败处理函数
 * })
 * 或者 isLogin(function(data){  带参数形式
 *      成功
 * },function(){
 *      失败
 * })
 *
 *
 * 示例2: 2个或者多个接口 带参数调用  意思是2个接口同时调用成功以后再执行回调
 * $.when(isLogin(),action5029({fundCode:"1111"})).done(function(a,b){
 *  a为 isLogin调用成功返回的结果
 *  b为 action5029 调用成功返回的结果
 * })
 * .fail(function(){
 *      失败处理
 * })
 * log
 * 12.21
 * 5891 无数据 处理
 * 12.20
 * 1.增加接口 5013 查询客户可用额度
 * 2.接口返回错误信息时 错误函数待会参数
 * 12.19
 * 1.修改formatMoney参数n 默认保留整数 传n则保留n位小数
 * 2.修改toDecimal函数 不传n 默认为0 返回整数
 * 3.接口参数增加 &Account=($account)
 * 4.增加349中签查询
 * 5.修改toDecimal函数 返回单位.
 */
define(["jquery","base"],function($,base){
    "use strict";
    var face={
        //对象转字符串 {a:1,b:2} 变成 a=1&b=2;
        objToUrl:function(obj){
            var temp=[];
            for(var n in obj){
                temp.push(n+"="+obj[n]);
            }
            return temp.join("&")
        },
        //保留小数点几位
        toDecimal: function (x, n) {
            //保留n位小数 调用方式 toDecimal(10,2); 结果 10.00
            if(n){
                var t = parseFloat(x);
                if (isNaN(t)) {
                    return false;
                }
                var f = Math.round(x * Math.pow(10, n)) / Math.pow(10, n);
                var s = f.toString();
                var rs = s.indexOf('.');
                if (rs < 0) {
                    rs = s.length;
                    s += '.';
                }
                while (s.length <= rs + n) {
                    s += '0';
                }
                return s;
            }else{
                return parseInt(x);
            }
        },
        //根据数据转化为指定单位并保留指定小数默认不带单位
        formatMoney: function (money, type, n) {
            //根据 type转换money 1为 亿元  2为 万元  n为小数位数 默认为0
            //money.replace(/([\d\.]+)/gi,function(m,m1){
            //    money=m1; //过滤money后面可能带有的单位 元
            //})
            //console.log(money);
            if (isNaN(money)) {
                return false;
            }
            var f = parseFloat(money);
            var b = f / 100000000;
            var m = f / 10000;
            if (type === 1) {
                return this.toDecimal(b, n)+"万" // "亿元";
            } else {
                return this.toDecimal(m, n)+"亿" // "万元";
            }
        },
        //检测用户是否登录
        isLogin:function(success,fail){
            var dtd=$.Deferred();
            ajax.run("/reqlocal?jyloginflag=($jyloginflag)",{},function(data){
                success && success(data);
                dtd.resolve(data);
            },function(){
                fail && fail();
                dtd.reject();
            })
            return dtd.promise();
        },
        //查看股东状态是否正常
        //返回值 [{
            // 股东帐号 acount
            //股东代码 code
            //主副标志 primary
            //账户状态 status
            //额外状态 extraStatus
        // }]
        action5029:function(success,fail){
            var url="/reqxml?MobileCode=($MobileCode)&Token=($Token)&Account=($account)&Reqno=($Reqno)&action=5029";
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                //解析数据
                var result=data.GRID0;
                var r=[];
                if(result.length<=1 || !$.isArray(result)){
                    //无数据
                }else{
                    //有数据 循环取数据
                    //["股东账号|股东代码|主副标志|帐户状态|额外状态|", "上海A|A225954014|主股东账号|正常|正常|", "深圳A|0033921315|主股东账号|正常|正常|"]
                   result.shift(); //删除第一个 只取数据
                    for(var i=0;i<result.length;i++){
                        var s=result[i].split("|");
                        r.push({acount:s[0],code:s[1],primary:s[2],status:s[3],extraStatus:s[4]})
                    }
                }
                success && success(r);
                dtd.resolve(r);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        },
        /*5034当日新股查询 返回键值对 [{},{}]


        *code 股票代码
        * name 名称
        * market 市场
        * acount 股东帐号
        * maxNumber 认购上线
        * price 认购价格
        * isGrowth 是否创业板
        * hasPower  是否有创业板权限
        * quota 客户额度
        * limit 是否限制
        * */
        action5034:function(success,fail){
            var url="/reqxml?MobileCode=($MobileCode)&Token=($Token)&Account=($account)&Reqno=($Reqno)&maxCount=200&action=5034";
            //url="http://58.213.69.37:48080/wiki/app.jsp?key=5034";
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                //解析数据
                var result=data.GRID0;
                var r=[];
                if(result.length<=1 || !$.isArray(result)){
                    //无数据
                }else{
                    //有数据 循环取数据
                    result.shift(); //删除第一个 只取数据
                    for(var i=0;i<result.length;i++){
                        var s=result[i].split("|");
                        //console.log(result[i]);
                        r.push({code:s[0],name:s[1],market:s[2],acount:s[3],maxNumber:s[4],price:s[5],isGrowth:s[6],hasPower:s[7],quota:s[8],limit:s[9]})
                    }
                }
                success && success(r);
                dtd.resolve(r);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        },
        /*5035接口
        传参 Count=1  Details="证券代码1,证券名称1,市场代码1,股东账号1,申购价格1,申购数量1;" 一条也要有分号
        返回
        code 证券代码
        name 证券名称
        price 申购价格
        number 申购数量
        isSuccess 是否成功
        memo 备注
        t2 t+2
        * */
        action5035:function(param,success,fail){
            var pm=this.objToUrl(param);
            var url="/reqxml?MobileCode=($MobileCode)&Token=($Token)&Account=($account)&Reqno=($Reqno)&action=5035&"+pm;
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                //解析数据
                var result=data.GRID0;
                var r=[];
                if(result.length<=1){
                    //无数据
                }else{
                    //有数据 循环取数据
                    result.shift(); //删除第一个 只取数据
                    for(var i=0;i<result.length;i++){
                        var s=result[i].split("|");
                        r.push({code:s[0],name:s[1],price:s[2],number:s[3],isSuccess:s[4],memo:s[5],t2:s[6]})
                    }
                }
                success && success(r);
                dtd.resolve(r);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        },
        /*
        * 5044查询客户的可用资金
        * 返回接口数据
        * */
        action5044:function(success,fail){
            var url="/reqxml?MobileCode=($MobileCode)&Token=($Token)&Account=($account)&Reqno=($Reqno)&action=5044";
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                //解析数据
                success && success(data);
                dtd.resolve(data);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        },
        /*
        * 5891新股申购记录查询
        * 传参
        * QueryType StringY 0只查历史   1查最近四交易日
         BeginDate StringN 若QueryType为0必传
         EndDate StringN 若QueryType为0必传


         * 申购日期|证券代码|证券名称|市场代码|委托数量|起始配号|配号数量|发行价|中签日期|中签数量|认购放弃数量|缴款确认数量|状态|备注|
        * date  申购日期
        * code  代码
        * name 名称
        * market 市场
        * degNumber 委托数量
        * said 起始配号
        * saidNumber配号数量
        * price发行价
        * luckyDate 中签日期
        * luckyNumber 中签数量
        * giveUpNumber 认购放弃数量
        * money 交款确认数量
        * status 状态
        * memo 备注
        * */
        action5891:function(param,success,fail){
            var pm=this.objToUrl(param);
            var url="/reqxml?MobileCode=($MobileCode)&Token=($Token)&Account=($account)&Reqno=($Reqno)&action=5891&"+pm;
            // var url = '';
            // if(param.QueryType==1){
            //   url = "http://58.213.69.37:48080/wiki/app.jsp?key=5891-1";
            // }else{
            //    url = "http://58.213.69.37:48080/wiki/app.jsp?key=5891-0"; 
            // }
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                //console.log("====data: "+JSON.stringify(data));
                //解析数据
                var result=data.GRID0;
                //获取当前日期
                var curr_date = data.CURDATE;
                var ret_obj = {};
                var r=[];
                if(result.length<=1 || !$.isArray(result)){
                    //无数据
                }else{
                    //有数据 循环取数据
                    result.shift(); //删除第一个 只取数据


                    if(result[0].indexOf("查无记录")==-1){
                        for(var i=0;i<result.length;i++){
                            var s=result[i].split("|");
                            r.push({date:s[0],code:s[1],name:s[2],market:s[3],degNumber:s[4],said:s[5],saidNumber:s[6],price:s[7],luckyDate:s[8],luckyNumber:s[9],giveUpNumber:s[10],money:s[11],status:s[12],memo:s[13]})
                        }
                    }
                }
                ret_obj = {"curr_date":curr_date,"data":r};
                success && success(ret_obj);
                dtd.resolve(ret_obj);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        },
        /**
         *5892交易日区间查询 直接返回结果
         * 传参
         * InitDate 起始日,不填默认是今日
         * Interval 间隔事件
         *
         */
        action5892:function(param,success,fail){
            var pm=this.objToUrl(param);
            var url="/reqxml?MobileCode=($MobileCode)&Token=($Token)&Account=($account)&action=5892&"+pm;
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                success && success(data);
                dtd.resolve(data);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        },
        /*
        * 5893 是否业务交易时间查询
        * 传参 Type 业务类型,现支持1新股申购
        * WTAccountType 市场代码
        * flag 0不允许  1允许
        * */
        action5893:function(param,success,fail){
            var pm=this.objToUrl(param);
            var url="/reqxml?action=5893&"+pm;
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                success && success(data);
                dtd.resolve(data);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        },
        /*查询是否中签349
        传参 BeginDate  EndDate
        * date 中签日期
        * market市场名称
        * name 证券名称
        * code市场代码
        * luckyNumber 中签数量
        * avgPrice 成交均价
        * */
        action349:function(param,success,fail){
            var pm=this.objToUrl(param);
            var url="/reqxml?MobileCode=($MobileCode)&Token=($Token)&Account=($account)&Reqno=($Reqno)&action=349&"+pm;
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                //解析数据
                var result=data.GRID0;
                var r=[];
                if(result.length<=1 || !$.isArray(result)){
                    //无数据
                }else{
                    //有数据 循环取数据
                    result.shift(); //删除第一个 只取数据
                    if(result[0].indexOf("查无记录")==-1) {
                        for (var i = 0; i < result.length; i++) {
                            var s = result[i].split("|");
                            r.push({
                                date: s[0],
                                market: s[1],
                                name: s[2],
                                code: s[3],
                                avgPrice: s[4],
                                luckyNumber: s[5]
                            })
                        }
                    }
                }
                success && success(r);
                dtd.resolve(r);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        },
        /*查询客户申购额度
        * 返回 market 市场
        * acount 股东帐号
        * quota 客户额度
        * date 到账日期
        * memo 备注
        * */
        action5013:function(success,fail){
            //var pm=this.objToUrl(param);
            var url="/reqxml?MobileCode=($MobileCode)&Token=($Token)&Account=($account)&Reqno=($Reqno)&action=5013";
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                //解析数据
                var result=data.GRID0;
                var r=[];
                if(result.length<=1 || !$.isArray(result)){
                    //无数据
                }else{
                    //有数据 循环取数据
                    result.shift(); //删除第一个 只取数据
                    for(var i=0;i<result.length;i++){
                        var s=result[i].split("|");
                        r.push({market:s[0],acount:s[1],quota:s[2],date:s[3],memo:s[4]})
                    }
                }
                success && success(r);
                dtd.resolve(r);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        },
        /*5036新股申购记录查询
        * 传参 BeginDate  2010-10-10
        * 传参 EndDate 2015-12-30
        * 输出
        * [{
        *   name 证券名称
        *   code证券代码
        *   number 申购数量
        *   status 申购状态
        *   price 委托价格
        *   date 申购时间
        * }]
        * */
        action5036:function(param,success,fail){
            var pm=this.objToUrl(param);
            var url="/reqxml?MobileCode=($MobileCode)&Token=($Token)&Account=($account)&Reqno=($Reqno)&action=5036&"+pm;
            var dtd=$.Deferred();
            ajax.run(url,{},function(data){
                //解析数据
                var result=data.GRID0;
                var r=[];
                if(result.length<=1 || !$.isArray(result)){
                    //无数据
                }else{
                    //有数据 循环取数据
                    result.shift(); //删除第一个 只取数据
                    if(result[0].indexOf("查无记录")==-1) {
                        for (var i = 0; i < result.length; i++) {
                            var s = result[i].split("|");
                            r.push({date: s[0], name: s[1], code: s[2], number: s[3], status: s[4],price:s[5]})
                        }
                    }
                }
                success && success(r);
                dtd.resolve(r);
            },function(data){
                fail && fail(data);
                dtd.reject(data);
            })
            return dtd.promise();
        }
    };
    return face;
})
0 0
原创粉丝点击