http-request.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. (function(exports) {
  2. var publish_version = false;
  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. },
  122. error: function(res) {
  123. top.toastr.error("网络错误无法请求")
  124. reject(res)
  125. },
  126. success: function(res) {
  127. if(isNeedLogin) {
  128. return
  129. }
  130. if(res.status == 998) {
  131. isNeedLogin = true
  132. top.toastr.error(res.errorMsg || "登录失效请重新登录!")
  133. setTimeout(function() {
  134. location.href = "../login/login.html"
  135. }, 500)
  136. return
  137. }
  138. resolve(res)
  139. }
  140. })
  141. });
  142. }
  143. /*
  144. * reqs: 请求的参数数组,格式:[{url:'a/xxx', reqType: 'POST', data:{...}},{url:'b/xxx',data:{...}}]
  145. * */
  146. function getReqPromises(reqs, judge) {
  147. if(!reqs || !reqs.length) {
  148. return new Promise(function(resolve, reject) {
  149. resolve([]);
  150. });
  151. }
  152. return Promise.all(_.map(reqs, function(param) {
  153. return getReqPromise(param.url, param.data, param.reqType, judge);
  154. }));
  155. };
  156. function httpGetJson(url, options) {
  157. //发送ajax请求
  158. return new Promise(function(resolve, reject) {
  159. $.ajax(url,
  160. $.extend({}, {
  161. type: 'GET',
  162. dataType: 'JSON',
  163. success: function(res) {
  164. resolve(res)
  165. }
  166. }, options));
  167. })
  168. }
  169. httpRequest = {
  170. server: server,
  171. openServer: openServer,
  172. userInfo: userInfo,
  173. agentName: agentName,
  174. alertUrl:alertUrl,
  175. saveAgent: function(obj) {
  176. return saveUserAgent(obj)
  177. },
  178. get: function(url, options, judge) {
  179. return httpGet(url, options, judge)
  180. },
  181. post: function(url, options, judge) {
  182. return httpPost(url, options, judge)
  183. },
  184. getReqPromises: function(reqs, judge) {
  185. return getReqPromises(reqs, judge);
  186. },
  187. getJson:function(url,options){
  188. return httpGetJson(url,options)
  189. },
  190. getReqPromise:getReqPromise
  191. }
  192. exports.httpRequest = httpRequest;
  193. })(window)