user.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { apiUserInfo, apiUserTabBar } from "@/api/user";
  2. import {defaultTabBarListConfig} from '@/utils/config.js'
  3. const token = uni.getStorageSync("token") || "";
  4. let lastTabbarList=[]//上次请求的tabbar数据
  5. const userModules = {
  6. state: {
  7. token: token,
  8. userInfo: {},
  9. tabbarList: [], //用户的tabbar
  10. },
  11. mutations: {
  12. // 设置token
  13. setToken(state, data) {
  14. state.token = data;
  15. uni.setStorageSync("token", data);
  16. },
  17. // 设置个人信息
  18. setUserInfo(state, data) {
  19. state.userInfo = data;
  20. },
  21. // 设置tabbar权限
  22. setTabBar(state, data) {
  23. if(lastTabbarList.toString()===data.toString()) return
  24. lastTabbarList=data
  25. // 默认的tabbar数据
  26. let defaultTabBarList = defaultTabBarListConfig;
  27. let arr=defaultTabBarList.filter(item=>{
  28. if(data.some(e=>e===item.key)){
  29. return item
  30. }
  31. })
  32. state.tabbarList=arr
  33. },
  34. },
  35. actions: {
  36. // 获取个人信息
  37. async getUserInfo(context) {
  38. const res = await apiUserInfo();
  39. if (res.code === 200) {
  40. context.commit("setUserInfo", res.data);
  41. }
  42. },
  43. async getTabBar(context) {
  44. const res = await apiUserTabBar();
  45. if (res.code === 200) {
  46. context.commit("setTabBar", res.data);
  47. }
  48. },
  49. },
  50. };
  51. export default userModules;