123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- /**
- * 统一请求ajax发送方法
- * url 请求地址:例如:patient/health_index/add
- * params 请求参数
- * dataType 数据类型:json等
- * reqType 请求方式:get 或 post
- * error 请求失败处理方法
- * success 请求成功处理方法
- */
- function sendPost(url, params, dataType, reqType, error, success,timeOut) {
- var userAgent = window.localStorage.getItem(agentName);
- var serverUrl = "";
- if(url.indexOf("http://")>-1 || url.indexOf("https://")>-1 ) {
- serverUrl = url;
- } else {
- serverUrl = server + url;
- }
- //发送ajax请求
- $.ajax(serverUrl, {
- data: params,
- dataType: dataType,
- beforeSend: function(request) {
- request.setRequestHeader("userAgent", userAgent);
- },
- timeout: timeOut || 60000,
- type: reqType,
- error: function(res) {
- if(res.status == 999 || res.status == 998 || res.status == 997){
- loginUrl(res.status);
- return;
- }
- error(res);
- },
- success: function(res) {
- if(res.status == 999 || res.status == 998 || res.status == 997){
- loginUrl(res.status);
- return;
- }
- success(res);
- }
- });
- }
- function sendPostNoCache(url, params, dataType, reqType, error, success,timeOut) {
- var userAgent = window.localStorage.getItem(agentName);
- //发送ajax请求
- $.ajax(server + url, {
- data: params,
- dataType: dataType,
- cache: false,
- beforeSend: function(request) {
- request.setRequestHeader("userAgent", userAgent);
- },
- timeout: timeOut || 60000,
- type: reqType,
- error: function(res) {
- if(res.status == 999 || res.status == 998 || res.status == 997){
- loginUrl(res.status);
- return;
- }
- error(res);
- },
- success: function(res) {
- if(res.status == 999 || res.status == 998 || res.status == 997){
- loginUrl(res.status);
- return;
- }
- success(res);
- }
- });
- }
- /**
- * 统一请求ajax发送方法
- * url 请求地址:例如:patient/health_index/add
- * params 请求参数
- * dataType 数据类型:json等
- * reqType 请求方式:get 或 post
- * error 请求失败处理方法
- * success 请求成功处理方法
- */
- function sendPostAsync(url, params, dataType, reqType, error, success) {
- var userAgent = window.localStorage.getItem(agentName);
- //发送ajax请求
- $.ajax(server + url, {
- data: params,
- dataType: dataType,
- async:false,
- beforeSend: function(request) {
- request.setRequestHeader("userAgent", userAgent);
- },
- type: reqType,
- error: function(res) {
- if(res.status == 999 || res.status == 998 || res.status == 997){
- loginUrl(res.status);
- return;
- }
- error(res);
- },
- success: function(res) {
- if(res.status == 999 || res.status == 998 || res.status == 997){
- loginUrl(res.status);
- return;
- }
- success(res);
- }
- });
- }
- //重新登陆
- var count = 0;
- function loginUrl(status){
- var pageurl = "";
- // var hreftemp = server + "wx/html/home/html/zhmm-login.html?type=0&openid=";
- var hreftemp = "../../home/html/login.html?type=0&openid=";
- var content = "";
- count ++;
- try{
- if(d){
- d.close();
- }
- }catch(e){
- //TODO handle the exception
- }
- //如果有两个以上的请求会获得999等错误码的时候,只处理第一个
- if(count >= 2){
- return false;
- }
- if(status == 999){
- content = "此账号已在别处登录,需要请重新登录";
- }else if(status == 998){
- content = "登录超时,需要请重新登录";
- }else if(status == 997){
- content = "此账号未登录,需要请重新登录";
- // hreftemp=server + "wx/html/home/html/zhmm-login.html?type=0&openid="
- hreftemp = "../../home/html/login.html?type=0&openid=";
- }
- var openid = "";
- var userAgent = window.localStorage.getItem(agentName);
- if(userAgent){
- var jsonstr = $.parseJSON(userAgent);
- openid = jsonstr.openid;
- }
- if(openid==null||openid==""){
- Request = GetRequest();
- openid = Request["openid"];
- }
- clearAgent();
- //将保存访问路径的逻辑放到clearAgent后面
- pageurl = window.parent.location.href;
- saveAgentPage(pageurl);
- dialog({
- skin:"ui-dialog ax-popup pror",
- content: content,
- ok: function (){
- count = 0;
- window.parent.location.href = hreftemp+openid;
- }
- }).showModal();
- }
- // 获取异步请求处理Promise对象
- function getReqPromise(url, params, dataType, reqType) {
- return new Promise(function(resolve, reject) {
- sendPost(url, params,dataType, reqType,
- function queryFailed (xht, type, throwErr) {
- reject({
- xht:xht, type:type, throwErr:throwErr
- })
- }
- , function success(res) {
- resolve(res);
- });
- });
- }
- /*
- * reqs: 请求的参数数组,格式:[{url:'a/xxx', reqType: 'POST', data:{...}},{url:'b/xxx',data:{...}}]
- * */
- function getReqPromises(reqs) {
- if(!reqs || !reqs.length) {
- return new Promise(function(resolve, reject) {
- resolve([]);
- });
- }
- return Promise.all(_.map(reqs,function(param){
- return getReqPromise(param.url,param.data, 'json', param.reqType);
- }));
- };
- /*
- * 获取图片路径方法修改
- */
- function getImgUrl(str){
- if(typeof str != 'string'){
- return "";
- }
- if(str.length == 0){
- return "";
- }else{
- if(str.indexOf("../")>-1){
- //访问本地路径
- return str;
- }else if((str.indexOf("http://")>-1) || (str.indexOf("https://")>-1)){
- return str;
- }else{
- //服务器上的图片路径
- return imgUrlDomain + str;
- }
- }
- }
|