http-request.js 5.3 KB

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