app.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. // +----------------------------------------------------------------------
  2. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  3. // +----------------------------------------------------------------------
  4. // | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
  5. // +----------------------------------------------------------------------
  6. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  7. // +----------------------------------------------------------------------
  8. // | Author: CRMEB Team <admin@crmeb.com>
  9. // +----------------------------------------------------------------------
  10. import {
  11. getUserInfo
  12. } from "../../api/user.js";
  13. import {
  14. LOGIN_STATUS,
  15. UID,
  16. USER_INFO
  17. } from '../../config/cache';
  18. import Cache from '../../utils/cache';
  19. const state = {
  20. token: Cache.get(LOGIN_STATUS) || false,
  21. backgroundColor: "#fff",
  22. userInfo: {},
  23. uid: Cache.get(UID) || 0,
  24. homeActive: false,
  25. phoneStatus: true,
  26. pageFooter: uni.getStorageSync('pageFoot') || {},
  27. activityTab: ''
  28. };
  29. const mutations = {
  30. SETPHONESTATUS(state, val) {
  31. state.phoneStatus = val;
  32. },
  33. LOGIN(state, opt) {
  34. state.token = opt.token;
  35. Cache.set(LOGIN_STATUS, opt.token, opt.time);
  36. },
  37. SETUID(state, val) {
  38. state.uid = val;
  39. Cache.set(UID, val);
  40. },
  41. UPDATE_LOGIN(state, token) {
  42. state.token = token;
  43. },
  44. ACTIVITYTAB(state, tab) {
  45. state.activityTab = tab;
  46. },
  47. LOGOUT(state) {
  48. state.token = false;
  49. state.uid = 0
  50. Cache.clear(LOGIN_STATUS);
  51. Cache.clear(USER_INFO);
  52. Cache.clear(UID);
  53. Cache.clear('snsapiCode');
  54. },
  55. BACKGROUND_COLOR(state, color) {
  56. state.color = color;
  57. document.body.style.backgroundColor = color;
  58. },
  59. UPDATE_USERINFO(state, userInfo) {
  60. state.userInfo = userInfo;
  61. Cache.set(USER_INFO, userInfo);
  62. },
  63. OPEN_HOME(state) {
  64. state.homeActive = true;
  65. },
  66. CLOSE_HOME(state) {
  67. state.homeActive = false;
  68. },
  69. FOOT_UPLOAD(state, data) {
  70. state.pageFooter = data
  71. }
  72. };
  73. const actions = {
  74. USERINFO({
  75. state,
  76. commit
  77. }, force) {
  78. if (state.userInfo !== null && !force)
  79. return Promise.resolve(state.userInfo);
  80. else
  81. return new Promise(reslove => {
  82. getUserInfo().then(res => {
  83. commit("UPDATE_USERINFO", res.data);
  84. Cache.set(USER_INFO, res.data);
  85. reslove(res.data);
  86. });
  87. }).catch(() => {
  88. });
  89. }
  90. };
  91. export default {
  92. state,
  93. mutations,
  94. actions
  95. };