
/*
*封装的ajax函数
* Created by ZHJY on 2020/06/03.
* @param  option.type     请求类型  get 和 post
* @param  option.json     数据请求方式,
* @param  option.url(必选) 请求的url地址   相同域名下的页面（此函数不支持跨域请求）
* @param  option.data(必选) 请求协带的参数  以js对象的形式定义，如：{name:'张三'}
* @param  option.replace  是否更新续签
* @param  option.mask     是否使用模态层加载动画
*/
var Http = {
        AjaxService : function(option){
            var NODE_ENV_BASE_URL = $("#spiServer").val();
            var REV_TOKEN_ENV = '',REV_TOKEN_USERID='';
            var GET_LOGIN_STAUS = JSON.parse(window.localStorage.getItem("userInfo"));
            if (GET_LOGIN_STAUS != null) {
                REV_TOKEN_ENV = GET_LOGIN_STAUS.token;
                REV_TOKEN_USERID = GET_LOGIN_STAUS.userID;
            }else{
                REV_TOKEN_ENV = 'X-token'
            }
            var loading = '';
            var def = $.Deferred();
            $.ajax({
                url: NODE_ENV_BASE_URL + option.url,
                data: option.data,
                xhrFields: {//此处为跨域后台保持session一致,切勿删除!!!
                    withCredentials: true
                },
                type: option.type,
                dataType: "json",
                headers: { 'X-Token': REV_TOKEN_ENV },
                contentType: option.json ? 'application/json;charset=UTF-8' : 'application/x-www-form-urlencoded',
                beforeSend:function () {
                    // if (option.mask) {
                    //     loading = layer.load(0,{shade: [0.1,'#000']}); //0.1透明度的白色背景
                    // }
                }
            }).then(function(res) {
                if(res.code== -99){
                    layer.msg('登录已失效,请重新登录', { icon: 7  }, function() {
                        Http.loginOutFn();
                        location.href = "/login.html";
                    });
                }else{
                    def.resolve(res);
                }
            }, function(error) {
                if(error.status==504){
                    alertInfo('网络请求超时，请重试~');
                }
                def.reject(error);
            });
            return def;
        },
        loginOutFn : function(){//退出登录
            $.ajax({
                type: "POST",
                url: "/login_logoutAjax.action",
                success: function (data) {
                    var code = data.errcode;
                    if(code == 0) {
                        window.location.href = '/login.jsp';
                        localStorage.removeItem('userInfo');
                        if(window.location.href.indexOf("/?logout") > -1) {
                            history.pushState(null, null, document.URL);  //防止页面后退
                            window.addEventListener('popstate', function () {
                                history.pushState(null, null, document.URL);
                            });
                        }
                    }
                },
                error : function (res) {
                    console.log('退出失败',res);
                }
            })
        },
        uploadImage : function(option,callback) {//上传图片
            var NODE_ENV_BASE_URL = $("#spiServer").val();
            var NODE_ENV_BASE_URL = 'https://spi-b.caimei365.com';
            $.ajax({
                url: NODE_ENV_BASE_URL + option.url,
                type: 'POST',
                cache: false,
                data: option.data,
                processData: false,
                contentType: false,
                dataType: "json",
                success: function (res) {
                    callback(res)
                },
                error: function (xhr, type, errorThrown) {
                    console.log("照片上传失败")
                }
            });
        }
};
