userdata.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import MD5 from 'js-md5'
  2. interface userDATA {
  3. lastLogin: number,
  4. loginInfo: {
  5. token: string
  6. },
  7. }
  8. /**
  9. * 用户加密操作
  10. */
  11. class Userservice {
  12. constructor() {
  13. this.setTime()
  14. }
  15. /**
  16. * 加密
  17. * @param {string} txt 密码
  18. */
  19. encryPassword(txt: string) {
  20. const password = MD5(txt)
  21. return password
  22. }
  23. /**
  24. * 存储
  25. * @param {userDATA} params 参数
  26. */
  27. saveUserData(params: userDATA) {
  28. const lastLogin = Date.now()
  29. const uses = {
  30. ...params,
  31. lastLogin,
  32. token: params.loginInfo.token || ''
  33. }
  34. const USERS = JSON.stringify(uses)
  35. localStorage.setItem('userDATA', USERS)
  36. return uses
  37. }
  38. /**
  39. * 获取
  40. */
  41. getUserData() {
  42. return JSON.parse(localStorage.getItem('userDATA') as string) || null
  43. }
  44. /**
  45. * 时间限制24小时
  46. */
  47. async setTime() {
  48. const nowtime = Date.now()
  49. const data = this.getUserData()
  50. if (data && data.lastLogin) {
  51. if ((nowtime - data.lastLogin) > (1000 * 60 * 60 * 24)) {
  52. localStorage.clear()
  53. return false
  54. } else {
  55. return true
  56. }
  57. } else {
  58. localStorage.clear()
  59. return false
  60. }
  61. }
  62. /**
  63. * 清楚数据
  64. */
  65. clear() {
  66. localStorage.clear()
  67. }
  68. }
  69. export default new Userservice()