netHosCommon.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /**
  2. * 常用公共函数封装
  3. */
  4. /**
  5. * 深拷贝
  6. */
  7. export const deepCopy = function (obj: any, c?: any): any {
  8. if (!c) {
  9. c = obj.constructor === Array ? [] : {};
  10. }
  11. for (var i in obj) {
  12. if (typeof obj[i] === 'object' && obj[i]) {
  13. c[i] = obj[i].constructor === Array ? [] : {};
  14. deepCopy(obj[i], c[i]);
  15. } else {
  16. c[i] = obj[i];
  17. }
  18. }
  19. return c;
  20. };
  21. /**
  22. * 如果c有obj的key,将obj的值 拷贝给c
  23. */
  24. export const copy = function (obj: any, c: any): any {
  25. for (var i in obj) {
  26. if (Object.keys(c).includes(i)) {
  27. if (typeof obj[i] === 'object' && obj[i]) {
  28. c[i] = obj[i].constructor === Array ? [] : {};
  29. deepCopy(obj[i], c[i]);
  30. } else {
  31. c[i] = obj[i];
  32. }
  33. }
  34. }
  35. return c;
  36. };
  37. /**
  38. * 获取订单失效时间
  39. * 传入endDate
  40. */
  41. export const getexpirationTime = function (endDate: string): string {
  42. /**ios下转换时间 */
  43. endDate = endDate.replace(/\-/g, "/");
  44. let seconds = Math.floor((new Date(endDate).getTime() - Date.now()) / 1000);
  45. if (seconds > 0) {
  46. let hour: number;
  47. let min: number;
  48. let sec: number;
  49. min = Math.floor(seconds / 60); //分钟
  50. sec = seconds % 60; //秒
  51. hour = Math.floor(min / 60);
  52. min = min % 60;
  53. let hourStr = formatNumber(hour);
  54. let minStr = formatNumber(min);
  55. let secStr = formatNumber(sec);
  56. return `${hourStr}:${minStr}:${secStr}`;
  57. } else {
  58. return "00:00:00";
  59. }
  60. };
  61. /**
  62. * 日期补足两位
  63. */
  64. export const formatNumber = function (n: number | string): string {
  65. n = n.toString();
  66. return n[1] ? n : '0' + n;
  67. };
  68. /**
  69. * 脱敏 num1 前面位数 num2后面位数
  70. */
  71. export const desensitization = function (str: string, num1: number = 1, num2: number = 1): string {
  72. num1 = Number(num1);
  73. num2 = Number(num2);
  74. if (str.length <= (num1 + num2)) {
  75. return str;
  76. }
  77. let num = str.length - num1 - num2;
  78. let strDes = '';
  79. let strDesArr = new Array(num);
  80. for (let i of strDesArr) {
  81. strDes += "*";
  82. }
  83. return str.substring(0, num1) + strDes + str.substring(num1 + strDesArr.length);
  84. };