app.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. // +----------------------------------------------------------------------
  2. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  3. // +----------------------------------------------------------------------
  4. // | Copyright (c) 2016~2022 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. };
  28. const mutations = {
  29. SETPHONESTATUS(state, val) {
  30. state.phoneStatus = val;
  31. },
  32. LOGIN(state, opt) {
  33. state.token = opt.token;
  34. Cache.set(LOGIN_STATUS, opt.token, opt.time);
  35. },
  36. SETUID(state, val) {
  37. state.uid = val;
  38. Cache.set(UID, val);
  39. },
  40. UPDATE_LOGIN(state, token) {
  41. state.token = token;
  42. },
  43. LOGOUT(state) {
  44. state.token = false;
  45. state.uid = 0
  46. Cache.clear(LOGIN_STATUS);
  47. Cache.clear(USER_INFO);
  48. Cache.clear(UID);
  49. Cache.clear('snsapiCode');
  50. },
  51. BACKGROUND_COLOR(state, color) {
  52. state.color = color;
  53. document.body.style.backgroundColor = color;
  54. },
  55. UPDATE_USERINFO(state, userInfo) {
  56. state.userInfo = userInfo;
  57. Cache.set(USER_INFO, userInfo);
  58. },
  59. OPEN_HOME(state) {
  60. state.homeActive = true;
  61. },
  62. CLOSE_HOME(state) {
  63. state.homeActive = false;
  64. },
  65. FOOT_UPLOAD(state, data) {
  66. state.pageFooter = data
  67. }
  68. };
  69. const actions = {
  70. USERINFO({
  71. state,
  72. commit
  73. }, force) {
  74. if (state.userInfo !== null && !force)
  75. return Promise.resolve(state.userInfo);
  76. else
  77. return new Promise(reslove => {
  78. getUserInfo().then(res => {
  79. commit("UPDATE_USERINFO", res.data);
  80. Cache.set(USER_INFO, res.data);
  81. reslove(res.data);
  82. });
  83. }).catch(() => {
  84. });
  85. }
  86. };
  87. export default {
  88. state,
  89. mutations,
  90. actions
  91. };