(function($){
	var publish_version = false;
	var agentName = "wlyyAgent";
	var server, userAgent, loginUrl, imserver, socketUrl;
	
 
	$.support.cors = true;
	if(publish_version) { // 生产环境配置
		
	} else { // 测试环境配置
        server = "http://172.19.103.88:9092/wlyy/"
        // server = "http://192.168.131.127:8060/"; //逸祥
	    // server = "http://192.168.131.24:8080/"; //仕杰
        imserver = "http://172.19.103.88:3000/api/v2";
        socketUrl = "http://172.19.103.88:3000";
		loginUrl = "http://172.19.103.88:9092/wlyy/auth/login.html"
	}
	
	
    userAgent = localStorage.getItem(agentName)
    //hard code userAgent for test
    //全科
    // userAgent = {"id":4798,"uid":"hxmD201703150222","token":"a69244e7c000c2db07f6cb5c2e44e8f4","imei":"A8221352625AFE32","platform":4}
	//健管
    // userAgent = {"id":4821,"uid":"zbqD201703150228","imei":"864394010176834","token":"73f5ace5c7d4cdb811f743902fd705d9","platform":2,"hospital":"3502050100"}; 
    // userAgent = JSON.stringify(userAgent);
    
    if(userAgent) {
        try{
            userAgent = JSON.parse(userAgent)
        }catch(e){
        	toastr && toastr.warning("登录失效，请重新登录")
        	setTimeout(function() {
        		location.replace(loginUrl+'?redirect_url='+encodeURIComponent(location.href))
        	}, 2000)  
        }
    } else {
        location.replace(loginUrl+'?redirect_url='+encodeURIComponent(location.href))
    }
	
	function httpGet(url,options) {
		//发送ajax请求
		return new Promise(function(resolve, reject) {
			$.ajax(server + url, 
				$.extend({},{
				type: 'GET',
				dataType: 'JSON',
				beforeSend: function(request) {
                    request.setRequestHeader("userAgent", JSON.stringify(userAgent));
				},
				error: function(res) {
					reject(res)
				},
				success: function(res) {
					failCodeHandle(res)
					resolve(res)
				}
			},options));
		})
	}
	
	function httpPost(url,options) {
		//发送ajax请求
		return new Promise(function(resolve, reject) {
			$.ajax(server + url, 
				$.extend({},{
				type: 'POST',
				dataType: 'JSON',
				beforeSend: function(request) {
                    request.setRequestHeader("userAgent", JSON.stringify(userAgent));
				},
				error: function(res) {
					reject(res)
				},
				success: function(res) {
					failCodeHandle(res)
					resolve(res)
				}
			},options));
		})
    }
    
    function imHttpGet(url,options) {
		//发送ajax请求
		return new Promise(function(resolve, reject) {
			$.ajax(imserver + url, 
				$.extend({},{
				type: 'GET',
                dataType: 'JSON',
                beforeSend: function(request) {
                    request.setRequestHeader("userAgent", JSON.stringify(userAgent));
				},
				error: function(res) {
					reject(res)
				},
				success: function(res) {
					failCodeHandle(res)
					resolve(res)
				}
			},options));
		})
	}
	
	function imHttpPost(url,options) {
		//发送ajax请求
		return new Promise(function(resolve, reject) {
			$.ajax(imserver + url, 
				$.extend({},{
				type: 'POST',
                dataType: 'JSON',
                beforeSend: function(request) {
                    request.setRequestHeader("userAgent", JSON.stringify(userAgent));
				},
				error: function(res) {
					reject(res)
				},
				success: function(res) {
					failCodeHandle(res)
					resolve(res)
				}
			},options));
		})
	}
	
	function failCodeHandle(res) {
		var tip = "";
		if(res.status == 999) {
			tip = "此账号已在别处登录，请重新登录";
		} else if(res.status == 998) {
			tip = "登录超时，请重新登录";
		} else if(res.status == 997) {
			tip = "此账号未登录，请先登录"
		}
		if(tip) {
			toastr && toastr.warning(tip)
			// location.replace(loginUrl+'?redirect_url='+encodeURIComponent(location.href))
		}
    }
	
	APIService = {
        server: server,
        imserver: imserver,
        socketUrl: socketUrl,
        userAgent: userAgent,
        httpGet: httpGet,
        httpPost: httpPost,
        imHttpGet: imHttpGet,
        imHttpPost: imHttpPost,
        getDoctorInfo: function(){
            return httpGet('doctor/baseinfo');
        },
        getTeamInfo: function(doctor){
            return httpGet('/doctor/admin-teams/team/'+doctor+'/teams');
        }
	}
	
	window.APIService = APIService;
})(jQuery)
