user.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. "use strict";
  2. const common_vendor = require("../common/vendor.js");
  3. const settings_enums = require("../settings/enums.js");
  4. const useUserStore = common_vendor.defineStore({
  5. id: "app-user",
  6. state: () => ({
  7. userInfo: null,
  8. token: void 0,
  9. siteId: void 0,
  10. openId: void 0
  11. }),
  12. getters: {
  13. getUserInfo() {
  14. return this.userInfo || common_vendor.index.getStorageSync(settings_enums.USER_INFO) || {};
  15. },
  16. getToken() {
  17. return this.token || common_vendor.index.getStorageSync(settings_enums.TOKEN) || "";
  18. },
  19. getOpenId() {
  20. return this.openId || common_vendor.index.getStorageSync(settings_enums.OPEN_ID) || "";
  21. }
  22. },
  23. actions: {
  24. // 修改用户信息
  25. setUserInfo(e) {
  26. this.userInfo = e;
  27. common_vendor.index.setStorageSync(settings_enums.USER_INFO, e);
  28. },
  29. // 登录
  30. login(e) {
  31. this.userInfo = e;
  32. this.token = e.token;
  33. this.siteId = e.siteId;
  34. common_vendor.index.setStorageSync(settings_enums.TOKEN, e.token);
  35. common_vendor.index.setStorageSync(settings_enums.USER_INFO, e);
  36. setTimeout(() => {
  37. common_vendor.index.showToast({
  38. title: "登录成功",
  39. duration: 1e3
  40. });
  41. });
  42. },
  43. // 退出之前的操作
  44. beforeLogout() {
  45. common_vendor.index.showModal({
  46. title: "提示",
  47. content: "确定退出登录吗?",
  48. confirmText: "确定",
  49. success: (res) => {
  50. if (res.confirm) {
  51. this.logout();
  52. } else if (res.cancel)
  53. ;
  54. }
  55. });
  56. },
  57. // 退出登录
  58. async logout(option = {}) {
  59. const options = {
  60. redirct: true,
  61. ...option
  62. };
  63. try {
  64. const keys = [settings_enums.USER_INFO, settings_enums.TOKEN];
  65. await Promise.all(keys.map((key) => common_vendor.index.removeStorageSync(key))).then(
  66. () => {
  67. this.userInfo = null;
  68. this.token = "";
  69. options.redirct && common_vendor.index.reLaunch({
  70. url: "/pages/index/index"
  71. });
  72. }
  73. );
  74. return Promise.resolve();
  75. } catch (e) {
  76. common_vendor.index.__f__("log", "at store/user.js:80", "eeee login", e);
  77. }
  78. }
  79. }
  80. });
  81. exports.useUserStore = useUserStore;
  82. //# sourceMappingURL=../../.sourcemap/mp-weixin/store/user.js.map