http-request.js 5.5 KB

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