utils.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /**
  2. * @Description:
  3. * @Author: 空白格
  4. * @Date: 2022-08-10 15:31:30
  5. * @LastEditors: 空白格
  6. * @LastEditTime: 2022-08-10 15:31:30
  7. * @FilePath: \veterans_client_web\src\utils\utils.js
  8. * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
  9. */
  10. /**
  11. * 参数处理
  12. * @param {*} params 参数
  13. */
  14. export function tansParams(params) {
  15. let result = ''
  16. for (const propName of Object.keys(params)) {
  17. const value = params[propName]
  18. var part = encodeURIComponent(propName) + '='
  19. if (value !== null && value !== '' && typeof value !== 'undefined') {
  20. if (typeof value === 'object') {
  21. for (const key of Object.keys(value)) {
  22. if (
  23. value[key] !== null &&
  24. value[key] !== '' &&
  25. typeof value[key] !== 'undefined'
  26. ) {
  27. let params = propName + '[' + key + ']'
  28. var subPart = encodeURIComponent(params) + '='
  29. result += subPart + encodeURIComponent(value[key]) + '&'
  30. }
  31. }
  32. } else {
  33. result += part + encodeURIComponent(value) + '&'
  34. }
  35. }
  36. }
  37. return result
  38. }
  39. /**
  40. * 日期格式化
  41. * @param {*} time
  42. * @param {*} pattern
  43. * @returns
  44. */
  45. export function parseTime(time, pattern) {
  46. if (arguments.length === 0 || !time) {
  47. return null
  48. }
  49. const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
  50. let date
  51. if (typeof time === 'object') {
  52. date = time
  53. } else {
  54. if (typeof time === 'string' && /^[0-9]+$/.test(time)) {
  55. time = parseInt(time)
  56. } else if (typeof time === 'string') {
  57. time = time
  58. .replace(new RegExp(/-/gm), '/')
  59. .replace('T', ' ')
  60. .replace(new RegExp(/\.[\d]{3}/gm), '')
  61. }
  62. if (typeof time === 'number' && time.toString().length === 10) {
  63. time = time * 1000
  64. }
  65. date = new Date(time)
  66. }
  67. const formatObj = {
  68. y: date.getFullYear(),
  69. m: date.getMonth() + 1,
  70. d: date.getDate(),
  71. h: date.getHours(),
  72. i: date.getMinutes(),
  73. s: date.getSeconds(),
  74. a: date.getDay()
  75. }
  76. const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
  77. let value = formatObj[key]
  78. // Note: getDay() returns 0 on Sunday
  79. if (key === 'a') {
  80. return ['日', '一', '二', '三', '四', '五', '六'][value]
  81. }
  82. if (result.length > 0 && value < 10) {
  83. value = '0' + value
  84. }
  85. return value || 0
  86. })
  87. return time_str
  88. }