utils.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. const qs = require('qs');
  2. const $ = require("jquery");
  3. var Utils = require('./rePromise');
  4. //重写assign方法
  5. if (typeof Object.assign != 'function') {
  6. Object.assign = function (target) {
  7. 'use strict';
  8. if (target == null) {
  9. throw new TypeError('Cannot convert undefined or null to object');
  10. }
  11. target = Object(target);
  12. for (var index = 1; index < arguments.length; index++) {
  13. var source = arguments[index];
  14. if (source != null) {
  15. for (var key in source) {
  16. if (Object.prototype.hasOwnProperty.call(source, key)) {
  17. target[key] = source[key];
  18. }
  19. }
  20. }
  21. }
  22. return target;
  23. };
  24. }
  25. window.console = window.console || (function () {
  26. var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile
  27. = c.clear = c.exception = c.trace = c.assert = function () { };
  28. return c;
  29. })();
  30. const config = {
  31. }
  32. const getUrlArgObject = function getQueryString(name) {
  33. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  34. var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i");
  35. var r = window.location.search.substr(1).match(reg);
  36. var q = window.location.pathname.substr(1).match(reg_rewrite);
  37. if (r != null) {
  38. return decodeURIComponent(r[2]);
  39. } else if (q != null) {
  40. return decodeURIComponent(q[2]);
  41. } else {
  42. return null;
  43. }
  44. }
  45. const post = function (url, data) {
  46. return new Utils((resolve, reject) => {
  47. $.ajax({
  48. method: 'post',
  49. url: url,
  50. data: JSON.stringify(data),
  51. contentType: "application/json; charset=UTF-8",
  52. beforeSend: function (xmlHttp) {
  53. xmlHttp.setRequestHeader("If-Modified-Since", "0");
  54. xmlHttp.setRequestHeader("Cache-Control", "no-cache");
  55. },
  56. success: function (res) {
  57. resolve({ data: res });
  58. },
  59. error: function (error) {
  60. reject(error);
  61. },
  62. });
  63. });
  64. }
  65. //判断浏览器是否为Ie8
  66. const isIe8 = function () {
  67. var DEFAULT_VERSION = 8.0;
  68. var ua = navigator.userAgent.toLowerCase();
  69. var isIE = ua.indexOf("msie") > -1;
  70. var safariVersion;
  71. if (isIE) {
  72. safariVersion = ua.match(/msie ([\d.]+)/)[1];
  73. }
  74. if (safariVersion <= DEFAULT_VERSION) {
  75. return true
  76. }
  77. }
  78. module.exports = {
  79. config,
  80. post,
  81. getUrlArgObject,
  82. isIe8
  83. };