helper.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /**
  2. * 用于定义公用的方法,定义全局参数
  3. *
  4. *
  5. */
  6. // 全局变量
  7. const globalData = {
  8. }
  9. // 格式化时间
  10. const formatDate = function(time, cFormat) {
  11. if (arguments.length === 0) {
  12. return null
  13. }
  14. if (!time) {
  15. return '';
  16. }
  17. let fmt = cFormat || 'yyyy-MM-dd HH:mm:ss';
  18. let date;
  19. if (typeof time === 'object') {
  20. date = time;
  21. } else if (typeof time === 'string') {
  22. time = time.replace(/-/g,'/'); // 为了兼容ios,ios只能转换2019/12/12这种时间格式
  23. date = new Date(time);
  24. } else {
  25. date = new Date(parseInt(time));
  26. }
  27. var o = {
  28. "M+": date.getMonth() + 1, //月份
  29. "d+": date.getDate(), //日
  30. "h+": date.getHours() % 12 == 0 ? 12 : date.getHours() % 12, //小时
  31. "H+": date.getHours(), //小时
  32. "m+": date.getMinutes(), //分
  33. "s+": date.getSeconds(), //秒
  34. "q+": Math.floor((date.getMonth() + 3) / 3), //季度
  35. "S": date.getMilliseconds() //毫秒
  36. };
  37. var week = {
  38. "0": "\u65e5",
  39. "1": "\u4e00",
  40. "2": "\u4e8c",
  41. "3": "\u4e09",
  42. "4": "\u56db",
  43. "5": "\u4e94",
  44. "6": "\u516d"
  45. };
  46. if (/(y+)/.test(fmt)) {
  47. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
  48. }
  49. if (/(E+)/.test(fmt)) {
  50. fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f" : "\u5468") : "") +
  51. week[date.getDay() + ""]);
  52. }
  53. for (var k in o) {
  54. if (new RegExp("(" + k + ")").test(fmt)) {
  55. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  56. }
  57. }
  58. return fmt;
  59. }
  60. // 获取随机数
  61. const getUuid = function() {
  62. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
  63. return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16)
  64. })
  65. }
  66. // ajax错误处理
  67. const catchError = function(error) {
  68. let _this = this;
  69. if (error.response) {
  70. switch (error.response.status) {
  71. case 400:
  72. _this.$message({
  73. message: error.response.data.msg || '请求参数异常',
  74. type: 'error'
  75. });
  76. break;
  77. case 401:
  78. // sessionStorage.removeItem('user');
  79. _this.$message({
  80. message: error.response.data.msg || '密码错误或账号不存在!',
  81. type: 'warning',
  82. onClose: function(){
  83. location.reload();
  84. }
  85. });
  86. break;
  87. case 403:
  88. _this.$message({
  89. message: error.response.data.msg || '无访问权限,请联系企业管理员',
  90. type: 'warning'
  91. });
  92. break;
  93. default:
  94. _this.$message({
  95. message: error.response.data.msg || '服务端异常,请联系技术支持',
  96. type: 'error'
  97. });
  98. }
  99. };
  100. }
  101. export default {
  102. globalData, // 全局变量
  103. formatDate, // 格式化时间
  104. getUuid, // 获取uuid
  105. catchError, // ajax错误处理
  106. }