api-service.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. (function($){
  2. var publish_version = false;
  3. var agentName = "wlyyAgent";
  4. var server, userAgent, loginUrl, imserver, socketUrl;
  5. var IMEI = localStorage.getItem('WLYY_IMEI') || uuid(16, 16)
  6. localStorage.setItem('WLYY_IMEI', IMEI)
  7. $.support.cors = true;
  8. if(publish_version) { // 生产环境配置
  9. } else { // 测试环境配置
  10. server = "http://172.19.103.88:9092/wlyy/"
  11. // server = "http://192.168.131.127:8060/"; //逸祥
  12. // server = "http://192.168.131.24:8080/"; //仕杰
  13. imserver = "http://172.19.103.88:3000/api/v2";
  14. socketUrl = "http://172.19.103.88:3000";
  15. loginUrl = "login.html"
  16. }
  17. userAgent = localStorage.getItem(agentName)
  18. //hard code userAgent for test start
  19. //全科
  20. // userAgent = {"id":4800,"uid":"zbqD201703150222","imei":"864394010176834","token":"9b23e4ec0bcd3b9fa72a52f91544a4e9","platform":4,"hospital":"3502050100"}
  21. //健管
  22. // userAgent = {"id":4821,"uid":"zbqD201703150228","imei":"864394010176834","token":"73f5ace5c7d4cdb811f743902fd705d9","platform":4,"hospital":"3502050100"};
  23. // userAgent = JSON.stringify(userAgent);
  24. //hard code userAgent for test end
  25. if(userAgent) {
  26. try{
  27. userAgent = JSON.parse(userAgent)
  28. }catch(e){
  29. toastr && toastr.warning("登录失效,请重新登录")
  30. toLoginPage()
  31. }
  32. } else {
  33. toLoginPage()
  34. }
  35. function httpGet(url,options) {
  36. //发送ajax请求
  37. return new Promise(function(resolve, reject) {
  38. $.ajax(server + url,
  39. $.extend({},{
  40. type: 'GET',
  41. dataType: 'JSON',
  42. beforeSend: function(request) {
  43. var agent = userAgent || {
  44. imei: IMEI,
  45. platform: 4
  46. }
  47. request.setRequestHeader("userAgent", JSON.stringify(agent));
  48. },
  49. error: function(res) {
  50. reject(res)
  51. },
  52. success: function(res) {
  53. failCodeHandle(res)
  54. resolve(res)
  55. }
  56. },options));
  57. })
  58. }
  59. function httpPost(url,options) {
  60. //发送ajax请求
  61. return new Promise(function(resolve, reject) {
  62. $.ajax(server + url,
  63. $.extend({},{
  64. type: 'POST',
  65. dataType: 'JSON',
  66. beforeSend: function(request) {
  67. var agent = userAgent || {
  68. imei: IMEI
  69. }
  70. request.setRequestHeader("userAgent", JSON.stringify(agent));
  71. },
  72. error: function(res) {
  73. reject(res)
  74. },
  75. success: function(res) {
  76. failCodeHandle(res)
  77. resolve(res)
  78. }
  79. },options));
  80. })
  81. }
  82. function imHttpGet(url,options) {
  83. //发送ajax请求
  84. return new Promise(function(resolve, reject) {
  85. $.ajax(imserver + url,
  86. $.extend({},{
  87. type: 'GET',
  88. dataType: 'JSON',
  89. beforeSend: function(request) {
  90. request.setRequestHeader("userAgent", JSON.stringify(userAgent));
  91. },
  92. error: function(res) {
  93. reject(res)
  94. },
  95. success: function(res) {
  96. failCodeHandle(res)
  97. resolve(res)
  98. }
  99. },options));
  100. })
  101. }
  102. function imHttpPost(url,options) {
  103. //发送ajax请求
  104. return new Promise(function(resolve, reject) {
  105. $.ajax(imserver + url,
  106. $.extend({},{
  107. type: 'POST',
  108. dataType: 'JSON',
  109. beforeSend: function(request) {
  110. request.setRequestHeader("userAgent", JSON.stringify(userAgent));
  111. },
  112. error: function(res) {
  113. reject(res)
  114. },
  115. success: function(res) {
  116. failCodeHandle(res)
  117. resolve(res)
  118. }
  119. },options));
  120. })
  121. }
  122. function toLoginPage() {
  123. if(location.href.indexOf('login.html')>-1) {
  124. return ;
  125. }
  126. setTimeout(function() {
  127. location.replace(loginUrl+'?redirect_url='+encodeURIComponent(location.href))
  128. }, 2000)
  129. }
  130. function failCodeHandle(res) {
  131. var tip = "";
  132. if(res.status == 999) {
  133. tip = "此账号已在别处登录,请重新登录";
  134. } else if(res.status == 998) {
  135. tip = "登录超时,请重新登录";
  136. } else if(res.status == 997) {
  137. tip = "此账号未登录,请先登录"
  138. }
  139. if(tip) {
  140. toastr && toastr.warning(tip)
  141. toLoginPage()
  142. }
  143. }
  144. function uuid(len, radix) {
  145. var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
  146. var uuid = [], i;
  147. radix = radix || chars.length;
  148. if (len) {
  149. // Compact form
  150. for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix];
  151. } else {
  152. // rfc4122, version 4 form
  153. var r;
  154. // rfc4122 requires these characters
  155. uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
  156. uuid[14] = '4';
  157. // Fill in random data. At i==19 set the high bits of clock sequence as
  158. // per rfc4122, sec. 4.1.5
  159. for (i = 0; i < 36; i++) {
  160. if (!uuid[i]) {
  161. r = 0 | Math.random()*16;
  162. uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
  163. }
  164. }
  165. }
  166. return uuid.join('');
  167. }
  168. APIService = {
  169. server: server,
  170. imserver: imserver,
  171. socketUrl: socketUrl,
  172. userAgent: userAgent,
  173. httpGet: httpGet,
  174. httpPost: httpPost,
  175. imHttpGet: imHttpGet,
  176. imHttpPost: imHttpPost,
  177. getDoctorInfo: function(){
  178. return httpGet('doctor/baseinfo');
  179. },
  180. getTeamInfo: function(doctor){
  181. return httpGet('/doctor/admin-teams/team/'+doctor+'/teams');
  182. }
  183. }
  184. window.APIService = APIService;
  185. })(jQuery)