http-request.js 4.6 KB

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