封装请求参数
意义:
server端知道当前请求来源于
哪个渠道(SEM渠道、微信流量入口、搜索流量入口......)、
哪一个版本、哪一个平台(iOS、Android、H5),可能Server就能对这个请求做定制化处理了
协助KPI考核,比如市场人员要推广自己的产品,
而后台要统计他今天成功推广多少单,就会为这个用户生成一个二维码,具体的url是这样的:
而错误码不为0的情况,我们多是弹一个toast提示msg错误信息,
所以我们会统一修改请求的回调,当然也会对一些错误码做特殊处理(未登陆、未授权)
意义:
server端知道当前请求来源于
哪个渠道(SEM渠道、微信流量入口、搜索流量入口......)、
哪一个版本、哪一个平台(iOS、Android、H5),可能Server就能对这个请求做定制化处理了
协助KPI考核,比如市场人员要推广自己的产品,
而后台要统计他今天成功推广多少单,就会为这个用户生成一个二维码,具体的url是这样的:
var head= {
channel: 'webapp', //渠道标志
version: '1,0,0', //版本信息
ct: 'webapp', //平台信息
extend: 'webapp', //可能需要的扩展信息
}
统一数据处理
意义:
而错误码不为0的情况,我们多是弹一个toast提示msg错误信息,
所以我们会统一修改请求的回调,当然也会对一些错误码做特殊处理(未登陆、未授权)
var json={
data: {},//真实数据
errno: 9999,//错误码
msg: "错误信息",//信息
}
//ajax 公共处理函数
var orgDisable = function(data,index){
if (data.rtnmessage.indexOf('停用') != -1){
location.href="login.jsp";
return;
}
closeLayer('noReload',index);
}
var ajaxErr = function(data){
parent.layer.alert(data.rtnmessage,{icon: 2,yes:function(index){
console.log(index);
orgDisable(data,index);
LayerClose({index:index,type:"fatherall"})
},cancel:function(){
LayerClose({type:"self"})
}
});
}
var ajaxErr2 = function(data){
parent.layer.alert(data.rtnmessage,{icon: 2});
orgDisable(data);
}
弹窗关闭
var LayerClose = function(o){
if(typeof o.type =="undefined"){
return;
}
// 开始判断
switch(o.type){
case "self":
(!o.index)?layer.index:o.index
layer.close(index);
break;
case "FrameIndex":
//var index = parent.layer.getFrameIndex(window.name);
(!o.index)?parent.layer.getFrameIndex(window.name):o.index
layer.close(index);
break;
case "selfall":
layer.closeAll(); //疯狂模式,关闭所有层
break;
case "fatherall":
parent.layer.closeAll(); //疯狂模式,关闭所有层
break;
default:
break;
}
};