http-request.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. (function(exports) {
  2. var publish_version = false;
  3. var server;
  4. var agentName = "useragent"
  5. var userInfo = "userInfoForPay"
  6. var isNeedLogin = false
  7. var openServer,alertUrl;
  8. if(publish_version) { // 生产环境配置
  9. server = "http://jksr.srswjw.gov.cn:1235";
  10. alertUrl="http://jksr.srswjw.gov.cn:1235/bigScreenShow";
  11. } else { // 测试环境配置
  12. server = "http://172.19.103.70:1235"; // 测试环境
  13. alertUrl="http://172.19.103.70:1235/bigScreenShow";
  14. alertUrl="http://192.168.131.17:8020/bigScreenShow";
  15. // server = "http://192.168.131.104:9088"; // 测试环境 周杰
  16. // server = "http://192.168.131.105:9088"; // 测试环境 兴旺
  17. }
  18. //保存userAgent
  19. function saveUserAgent(obj) {
  20. if(window.localStorage.getItem(agentName)){
  21. window.localStorage.removeItem(agentName);
  22. }
  23. var userAgent = {
  24. id: obj.id,
  25. token: obj.token || null
  26. }
  27. userAgent = JSON.stringify(userAgent);
  28. window.localStorage.setItem(agentName, userAgent);
  29. return userAgent;
  30. }
  31. function httpGet(url, options, judge) {
  32. var setService = judge ? openServer : server
  33. //发送ajax请求
  34. return new Promise(function(resolve, reject) {
  35. $.ajax(setService + url,
  36. $.extend({}, {
  37. type: 'GET',
  38. dataType: 'JSON',
  39. beforeSend: function(request) {
  40. var userAgent = window.localStorage.getItem(agentName);
  41. request.setRequestHeader(agentName, userAgent);
  42. },
  43. error: function(res) {
  44. top.toastr.error("网络错误无法请求")
  45. reject(res)
  46. },
  47. success: function(res) {
  48. if(isNeedLogin) {
  49. return
  50. }
  51. if(res.status == 998) {
  52. isNeedLogin = true
  53. top.toastr.error(res.errorMsg || "登录失效请重新登录!")
  54. setTimeout(function() {
  55. location.href = "../login/login.html"
  56. }, 500)
  57. return
  58. }
  59. resolve(res)
  60. }
  61. }, options));
  62. })
  63. }
  64. function httpPost(url, options, judge) {
  65. var setService = judge ? openServer : server
  66. //发送ajax请求
  67. return new Promise(function(resolve, reject) {
  68. $.ajax(setService + url,
  69. $.extend({}, {
  70. type: 'POST',
  71. dataType: 'JSON',
  72. beforeSend: function(request) {
  73. var userAgent = window.localStorage.getItem(agentName);
  74. request.setRequestHeader(agentName, userAgent);
  75. },
  76. error: function(res) {
  77. reject(res)
  78. },
  79. success: function(res) {
  80. if(isNeedLogin) {
  81. return
  82. }
  83. if(res.status == 998) {
  84. isNeedLogin = true
  85. top.toastr.error(res.errorMsg || "登录失效请重新登录!")
  86. setTimeout(function() {
  87. location.href = "../login/login.html"
  88. }, 500)
  89. return
  90. }
  91. resolve(res)
  92. }
  93. }, options));
  94. })
  95. }
  96. // 获取异步请求处理Promise对象
  97. function getReqPromise(url, options, reqType, judge) {
  98. var setService = judge ? openServer : server
  99. return new Promise(function(resolve, reject) {
  100. $.ajax(setService + url, {
  101. data: options,
  102. type: reqType,
  103. dataType: 'JSON',
  104. beforeSend: function(request) {
  105. var userAgent = window.localStorage.getItem(agentName);
  106. request.setRequestHeader(agentName, userAgent);
  107. },
  108. error: function(res) {
  109. top.toastr.error("网络错误无法请求")
  110. reject(res)
  111. },
  112. success: function(res) {
  113. if(isNeedLogin) {
  114. return
  115. }
  116. if(res.status == 998) {
  117. isNeedLogin = true
  118. top.toastr.error(res.errorMsg || "登录失效请重新登录!")
  119. setTimeout(function() {
  120. location.href = "../login/login.html"
  121. }, 500)
  122. return
  123. }
  124. resolve(res)
  125. }
  126. })
  127. });
  128. }
  129. /*
  130. * reqs: 请求的参数数组,格式:[{url:'a/xxx', reqType: 'POST', data:{...}},{url:'b/xxx',data:{...}}]
  131. * */
  132. function getReqPromises(reqs, judge) {
  133. if(!reqs || !reqs.length) {
  134. return new Promise(function(resolve, reject) {
  135. resolve([]);
  136. });
  137. }
  138. return Promise.all(_.map(reqs, function(param) {
  139. return getReqPromise(param.url, param.data, param.reqType, judge);
  140. }));
  141. };
  142. function httpGetJson(url, options) {
  143. //发送ajax请求
  144. return new Promise(function(resolve, reject) {
  145. $.ajax(url,
  146. $.extend({}, {
  147. type: 'GET',
  148. dataType: 'JSON',
  149. success: function(res) {
  150. resolve(res)
  151. }
  152. }, options));
  153. })
  154. }
  155. httpRequest = {
  156. server: server,
  157. openServer: openServer,
  158. userInfo: userInfo,
  159. agentName: agentName,
  160. alertUrl:alertUrl,
  161. saveAgent: function(obj) {
  162. return saveUserAgent(obj)
  163. },
  164. get: function(url, options, judge) {
  165. return httpGet(url, options, judge)
  166. },
  167. post: function(url, options, judge) {
  168. return httpPost(url, options, judge)
  169. },
  170. getReqPromises: function(reqs, judge) {
  171. return getReqPromises(reqs, judge);
  172. },
  173. getJson:function(url,options){
  174. return httpGetJson(url,options)
  175. },
  176. getReqPromise:getReqPromise
  177. }
  178. exports.httpRequest = httpRequest;
  179. })(window)