token.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import logger from './logger';
  2. const STORAGE_KEY = 'token';
  3. const VALID_SPAN = 30 * 24 * 3600 * 1000; // 有效期,默认30天
  4. let app = getApp();
  5. /**
  6. * 判断本地存储的 token 是否有效
  7. */
  8. export function isTokenValided(expiresIn) {
  9. return Date.now() <= expiresIn;
  10. }
  11. /**
  12. * 保存 Token 到本地,默认保存有效期 30 天
  13. * @param {String} options.token
  14. * @param {String} options.phone
  15. * @returns {Promise}
  16. */
  17. export function setTokenStorage(options) {
  18. logger.log(`TUIKit | TUI-utils | setTokenStorage | options:${options}`);
  19. return new Promise((resolve, reject) => {
  20. const data = {
  21. expiresIn: Date.now() + VALID_SPAN,
  22. userInfo: {
  23. token: options.userInfo.token,
  24. phone: options.userInfo.phone,
  25. userID: options.userInfo.userID,
  26. userSig: options.userInfo.userSig
  27. }
  28. };
  29. if (!app) {
  30. app = getApp();
  31. }
  32. app.globalData.expiresIn = data.expiresIn;
  33. wx.setStorage({
  34. key: STORAGE_KEY,
  35. data,
  36. success: resolve,
  37. fail: reject
  38. });
  39. });
  40. }
  41. export function getTokenStorage() {
  42. return new Promise((resolve, reject) => {
  43. wx.getStorage({
  44. key: STORAGE_KEY,
  45. success: ({
  46. data
  47. }) => {
  48. resolve(data);
  49. },
  50. fail: reject
  51. });
  52. });
  53. }
  54. export function removeTokenStorage() {
  55. return new Promise((resolve, reject) => {
  56. wx.removeStorage({
  57. key: STORAGE_KEY,
  58. success: resolve,
  59. fail: reject
  60. });
  61. });
  62. }