http-request.js 4.8 KB

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