(function($) { window.ajaxInsArr = {} var publish_version = true; var isInner = false; //发布线上后有内外网的配置 var docInfo = "app_storage"; var agentName = "wlyyAgentForDoc"; var docAgentName = "wlyyAgent"; var server, userAgent, loginUrl, imserver, socketUrl, imgServer,teamworkService; var IMEI = localStorage.getItem('WLYY_IMEI') || uuid(16, 16) localStorage.setItem('WLYY_IMEI', IMEI) $.support.cors = true; if(publish_version) { // 生产环境配置 server = "//www.xmtyw.cn/wlyy/" imserver = "//www.xmtyw.cn/api/v2"; socketUrl = "//www.xmtyw.cn"; articleServer = "//www.xmtyw.cn/wlyy/" loginUrl = "../../login/login.html"; imgServer = "//www.xmtyw.cn/"; teamworkService="//hlwyy.xmzsh.com/hlwyy/ims-web"; videoChatIntranetFlag = false; if(isInner){ server = "http://10.95.22.10:8011/wlyy/" imserver = "http://10.95.22.138:3000/api/v2"; socketUrl = "http://10.95.22.138:3000"; articleServer = "http://10.95.22.10:8011/wlyy/" loginUrl = "../../login/login.html"; imgServer = "http://10.95.22.10:8011/"; } } else { // 测试环境配置 server = "https://ehr.yihu.com/wlyy/" //测试环境 imserver = "https://172.26.0.118:3000/api/v2"; socketUrl = "https://172.26.0.118:3000"; loginUrl = "../../login/login.html"; // loginUrl = "/PC-prescription/login.html"; //自己本地测试时的路径 imgServer = "http://172.26.0.110:8888/"; teamworkService="//ehr.yihu.com/hlwyy/ims-web"; videoChatIntranetFlag = false; // server = "http://172.26.0.118:8081/wlyy/" //测试环境 // imserver = "https://172.26.0.118:3000/api/v2"; // socketUrl = "https://172.26.0.118:3000"; // loginUrl = "../../login/login.html"; // // loginUrl = "/PC-prescription/login.html"; //自己本地测试时的路径 // imgServer = "http://172.26.0.110:8888/"; // teamworkService="//ehr.yihu.com/hlwyy/ims-web"; // videoChatIntranetFlag = false; } var baseInfo = window.localStorage.getItem(docInfo); userAgent = window.localStorage.getItem(agentName) if(userAgent || baseInfo) { try { if(baseInfo){ baseInfo = JSON.parse(baseInfo); window.localStorage.setItem(docAgentName, JSON.stringify(baseInfo.api_login_doctor)); userAgent = { 'id': baseInfo.api_login_doctor.id, 'uid': baseInfo.api_login_doctor.uid, 'imei': baseInfo.IMEI, 'token': baseInfo.api_login_doctor.token, 'platform': '4' }; window.localStorage.setItem(agentName, JSON.stringify(userAgent)); localStorage.setItem('WLYY_IMEI', baseInfo.IMEI) }else{ userAgent = JSON.parse(userAgent) } } catch(e) { toastr && toastr.warning("登录失效,请关闭当前弹窗前往PC IM重新登录") // toLoginPage() } } else { toLoginPage() } var isRelogined = sessionStorage.getItem('wlyy_relogin') if(isRelogined && location.href.indexOf("login.html") < 0){ sessionStorage.removeItem('wlyy_relogin') } function httpGet(url, options) { //发送ajax请求 return new Promise(function(resolve, reject) { window.ajaxInsArr[url] = $.ajax(server + url, $.extend({}, { type: 'GET', dataType: 'JSON', beforeSend: function(request) { var agent = userAgent || { imei: localStorage.getItem('WLYY_IMEI'), platform: 4 } request.setRequestHeader("userAgent", JSON.stringify(agent)); }, error: function(res) { if(res.statusText == "abort"){ } reject(res) }, success: function(res) { failCodeHandle(res) resolve(res) } }, options)); }) } function articleGet(url, options) { //发送ajax请求 return new Promise(function(resolve, reject) { $.ajax(articleServer + url, $.extend({}, { type: 'GET', dataType: 'JSON', beforeSend: function(request) { var agent = userAgent || { imei: localStorage.getItem('WLYY_IMEI'), platform: 4 } request.setRequestHeader("userAgent", JSON.stringify(agent)); }, 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) { var agent = userAgent || { imei: localStorage.getItem('WLYY_IMEI') } request.setRequestHeader("userAgent", JSON.stringify(agent)); }, error: function(res) { reject(res) }, success: function(res) { failCodeHandle(res) resolve(res) } }, options)); }) } function articlePost(url, options) { //发送ajax请求 return new Promise(function(resolve, reject) { $.ajax(articleServer + url, $.extend({}, { type: 'POST', dataType: 'JSON', beforeSend: function(request) { var agent = userAgent || { imei: localStorage.getItem('WLYY_IMEI') } request.setRequestHeader("userAgent", JSON.stringify(agent)); }, 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 videoChatPost(url, options) { if(options && options.data){ options.data.intranetFlag = videoChatIntranetFlag } return httpPost(url, options); } function toLoginPage() { if(location.href.indexOf('login.html') > -1) { return; } setTimeout(function() { sessionStorage.setItem("wlyy_relogin", 1) // var path = top.location.pathname, // rootPath = path.split("/")[1]; top.location.replace(loginUrl + '?redirect_url=' + encodeURIComponent(top.location.href)) }, 2000) } var count = 0; function failCodeHandle(res) { var tip = ""; if(res.status == 999) { tip = "此账号已在别处登录,请关闭当前弹窗前往PC IM重新登录"; } else if(res.status == 998) { tip = "登录超时,请关闭当前弹窗前往PC IM重新登录"; } else if(res.status == 997) { tip = "此账号未登录,请先登录" } if(tip) { count ++; if(count == 1){ // console.log(tip) toastr && toastr.warning(tip) // toLoginPage() } } } function uuid(len, radix) { var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); var uuid = [], i; radix = radix || chars.length; if(len) { // Compact form for(i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]; } else { // rfc4122, version 4 form var r; // rfc4122 requires these characters uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'; uuid[14] = '4'; // Fill in random data. At i==19 set the high bits of clock sequence as // per rfc4122, sec. 4.1.5 for(i = 0; i < 36; i++) { if(!uuid[i]) { r = 0 | Math.random() * 16; uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]; } } } return uuid.join(''); } /* * 获取图片路径方法修改 */ 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 imgServer + str; } } } // 导出xls function downLoadFileForAjax(url, fileName, data){ // 判断内网走url if(publish_version&&isInner) { var p = [] for(var k in data){ p.push(k + "=" + data[k]) } var ps = p.join("&") var str = server + url+'?'+ps setTimeout(function(){ window.location.href = str },1000) return Promise.resolve() }else{ // 外网做ajax return new Promise(function(resolve, reject){ if(window.URL) { const xhr = new XMLHttpRequest(); if(data){ var p = [] for(var k in data){ p.push(k + "=" + data[k]) } url += (url.indexOf("?")!=-1? "&" : "?") + p.join("&") } xhr.open('GET', server + url, true);        xhr.responseType = "blob";          xhr.onload = function() { if(xhr.readyState == 4 && xhr.status==200){         const blob = xhr.response;         const blobUrl = window.URL.createObjectURL(blob);         const a = document.createElement('a');         a.style.display = 'none';         a.download = fileName         a.href = blobUrl;         a.target = '_blank';         a.click(); resolve() } else { reject(xhr) }        }    xhr.onerror = function(err){ console.error(err) reject(xhr) }                          xhr.setRequestHeader("Content-Type","application/json;charset=UTF-8"); var agent = userAgent || { imei: localStorage.getItem('WLYY_IMEI'), platform: 4 }        xhr.setRequestHeader("userAgent", JSON.stringify(agent));          xhr.send(); }else{ window.toastr && window.toastr.warning('您正使用外网访问系统,浏览器版本低,请更新浏览器后再操作!') reject() } }) } } httpRequest = { downLoadFileForAjax: downLoadFileForAjax, agentName: agentName, server: server, imserver: imserver, socketUrl: socketUrl, userAgent: userAgent, get: httpGet, post: httpPost, imHttpGet: imHttpGet, imHttpPost: imHttpPost, getImgUrl: getImgUrl, imgServer:imgServer, teamworkService:teamworkService, articleGet:articleGet, articlePost:articlePost, failCodeHandle: failCodeHandle, uuid: uuid, videoChatPost: videoChatPost, loginIm: function(data){ return imHttpPost('/users/login', data); }, getDoctorInfo: function() { return httpGet('doctor/baseinfo'); } } window.httpRequest = httpRequest; })(jQuery)