auth.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. "use strict";
  2. const common_vendor = require("../common/vendor.js");
  3. const TOKEN_KEY = "user_token";
  4. const USER_INFO_KEY = "user_info";
  5. const setToken = (token) => {
  6. common_vendor.index.setStorageSync(TOKEN_KEY, token);
  7. };
  8. const getToken = () => {
  9. return common_vendor.index.getStorageSync(TOKEN_KEY) || null;
  10. };
  11. const removeToken = () => {
  12. common_vendor.index.removeStorageSync(TOKEN_KEY);
  13. };
  14. const setUserInfo = (userInfo) => {
  15. common_vendor.index.setStorageSync(USER_INFO_KEY, JSON.stringify(userInfo));
  16. };
  17. const getUserInfo = () => {
  18. const userInfo = common_vendor.index.getStorageSync(USER_INFO_KEY);
  19. return userInfo ? JSON.parse(userInfo) : null;
  20. };
  21. const removeUserInfo = () => {
  22. common_vendor.index.removeStorageSync(USER_INFO_KEY);
  23. };
  24. const isLoggedIn = () => {
  25. return !!getToken();
  26. };
  27. const logout = () => {
  28. removeToken();
  29. removeUserInfo();
  30. };
  31. const checkLogin = (callback) => {
  32. if (isLoggedIn()) {
  33. return true;
  34. }
  35. common_vendor.index.showModal({
  36. title: "提示",
  37. content: "此操作需要登录,是否前往登录?",
  38. success: (res) => {
  39. if (res.confirm) {
  40. common_vendor.index.navigateTo({
  41. url: "/pages/login/login",
  42. success: () => {
  43. if (callback) {
  44. getApp().globalData.loginCallback = callback;
  45. }
  46. }
  47. });
  48. }
  49. }
  50. });
  51. return false;
  52. };
  53. exports.checkLogin = checkLogin;
  54. exports.getToken = getToken;
  55. exports.getUserInfo = getUserInfo;
  56. exports.isLoggedIn = isLoggedIn;
  57. exports.logout = logout;
  58. exports.setToken = setToken;
  59. exports.setUserInfo = setUserInfo;