app.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. // +----------------------------------------------------------------------
  2. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  3. // +----------------------------------------------------------------------
  4. // | Copyright (c) 2016~2021 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. } from '../../config/cache';
  17. import Cache from '../../utils/cache';
  18. import {
  19. USER_INFO
  20. } from '../../config/cache';
  21. const state = {
  22. token: Cache.get(LOGIN_STATUS) || null,
  23. backgroundColor: "#fff",
  24. userInfo: null,
  25. uid: Cache.get(UID) || null,
  26. globalData: uni.getStorageSync('GLOBAL_DATA') || {},
  27. homeActive: false,
  28. copyPwd: null,
  29. keyColor: Cache.get('KEY_COLOR') || '_default',
  30. viewColor: Cache.get('VIEW_COLOR') || '--view-theme: #E93323;--view-assist:#FF7612;--view-priceColor:#E93323;--view-bgColor:rgba(255, 118, 18,.1);--view-minorColor:rgba(233, 51, 35,.1);--view-bntColor11:#FDA923;--view-bntColor12:#FD6523;--view-bntColor21:#F11B09;--view-bntColor22:#F67A38;',
  31. };
  32. const mutations = {
  33. LOGIN(state, opt) {
  34. state.token = opt.token;
  35. Cache.set(LOGIN_STATUS, opt.token, opt.time);
  36. uni.removeStorageSync('auth_token');
  37. },
  38. SETUID(state,val){
  39. state.uid = val;
  40. Cache.set(UID, val);
  41. },
  42. UPDATE_LOGIN(state, token) {
  43. state.token = token;
  44. },
  45. LOGOUT(state) {
  46. state.token = null;
  47. state.uid = null
  48. Cache.clear(LOGIN_STATUS);
  49. Cache.clear(UID);
  50. },
  51. BACKGROUND_COLOR(state, color) {
  52. state.color = color;
  53. document.body.style.backgroundColor = color;
  54. },
  55. UPDATE_USERINFO(state, userInfo) {
  56. userInfo.isNew && Cache.set('is_new_user', '1')
  57. state.userInfo = userInfo;
  58. },
  59. OPEN_HOME(state) {
  60. state.homeActive = true;
  61. },
  62. CLOSE_HOME(state) {
  63. state.homeActive = false;
  64. },
  65. PARSE_PWD(state, pwd) {
  66. state.copyPwd = pwd;
  67. },
  68. VIEW_COLOR(state, color) {
  69. Cache.set('VIEW_COLOR', color)
  70. state.viewColor = color;
  71. },
  72. KEY_COLOR(state, key) {
  73. Cache.set('KEY_COLOR', key)
  74. state.keyColor = key;
  75. },
  76. GLOBAL_DATA(state, key) {
  77. uni.setStorageSync('GLOBAL_DATA', key);
  78. state.globalData = key;
  79. },
  80. };
  81. const actions = {
  82. USERINFO({
  83. state,
  84. commit
  85. }, force) {
  86. if (state.userInfo !== null && !force)
  87. return Promise.resolve(state.userInfo);
  88. else
  89. return new Promise(reslove => {
  90. getUserInfo().then(res => {
  91. commit("UPDATE_USERINFO", res.data);
  92. Cache.set(USER_INFO, res.data);
  93. reslove(res.data);
  94. });
  95. }).catch(() => {
  96. });
  97. }
  98. };
  99. export default {
  100. state,
  101. mutations,
  102. actions
  103. };