index.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { isDate } from 'date-fns';
  2. import { AES, mode, pad, enc } from "crypto-js";
  3. /**
  4. * @description 判断是否是时间戳
  5. * @param {number} 时间戳
  6. * @return {boolean}
  7. */
  8. export const isTimestamp = (value) => {
  9. // 判断是否为数字
  10. if (typeof value !== 'number') return false;
  11. // 判断是否为合理的时间戳(大于0)
  12. if (value <= 0) return false;
  13. // 判断是否为Math.floor(value),即是否为整数
  14. if (value !== Math.floor(value)) return false;
  15. // 判断是否为日期对象
  16. return isDate(new Date(value));
  17. }
  18. /**
  19. * @description 生成连续的数字
  20. * @param {number} start 起点数字
  21. * @param {number} end 终点数字
  22. * @return {array}
  23. */
  24. export const generateNumberArray = (start, end) => {
  25. return Array.from(new Array(end + 1).keys()).slice(start);
  26. }
  27. /**
  28. * @description 登录加密
  29. * @param {string} str 待加密的字符串
  30. * @return {string}
  31. */
  32. export const encryptByEnAESLogin = (str) => {
  33. str = enc.Utf8.parse(str);
  34. let Key = enc.Utf8.parse('Aes2Util666AQWER');
  35. let tmpAES = AES.encrypt(str, Key, {
  36. mode: mode.ECB,
  37. padding: pad.Pkcs7,
  38. });
  39. return tmpAES.toString();
  40. }