http-request.js 5.6 KB

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