;(function ($) { window.ajaxInsArr = {} window.eventBuss = new Vue() var publish_version = false 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 = '//ijk.xmsmjk.com/wlyy/' imserver = '//ijk.xmsmjk.com/api/v2' socketUrl = '//ijk.xmsmjk.com' articleServer = '//ijk.xmsmjk.com/wlyy/' loginUrl = '../../login/login.html' imgServer = '//ijk.xmsmjk.com/' 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/" //测试环境 server = 'http://172.26.0.118:8081/wlyy/' //ip imserver = 'http://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)