http-request.js 5.3 KB

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