http-request.js 4.5 KB

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