user.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import userApi from '@/reqApi/user.js'; // 引入你的 API 请求模块
  2. const userStore = {
  3. state: {
  4. token:uni.getStorageSync('token') || '',//token
  5. userInfo:uni.getStorageSync('userInfo') || {},//用户信息
  6. schoolsList:uni.getStorageSync('schoolsList') || '',//schoolsList
  7. modulesList:uni.getStorageSync('modulesList') || [],//模块权限列表
  8. },
  9. mutations: {
  10. //设置token
  11. SET_TOKEN(state, token) {
  12. state.token = token;
  13. },
  14. //设置用户信息
  15. SET_USER_INFO(state, userInfo) {
  16. state.userInfo = userInfo;
  17. },
  18. //退出登录
  19. LOGOUT_USERINFO(state)
  20. {
  21. state.token = '';
  22. state.userInfo = {};
  23. state.schoolsList = '';
  24. state.modulesList = [];
  25. uni.removeStorageSync('token');
  26. uni.removeStorageSync('userInfo');
  27. uni.removeStorageSync('schoolsList');
  28. uni.removeStorageSync('modulesList');
  29. },
  30. //保存学校
  31. SET_SCHOOLSLIST(state,list){
  32. state.schoolsList = list;
  33. },
  34. //保存模块权限列表
  35. SET_MODULESLIST(state,list){
  36. state.modulesList = list;
  37. }
  38. },
  39. getters: {
  40. currentColor(state) {
  41. return state.colorList[state.colorIndex]
  42. }
  43. },
  44. actions: {
  45. //设置token
  46. setToken({ commit }, token) {
  47. commit('SET_TOKEN', token);
  48. },
  49. //注销退出登录
  50. async logout({commit},isOut){
  51. if(isOut){
  52. try {
  53. const res = await userApi.signOut();
  54. if (res.code === 200) {
  55. commit('LOGOUT_USERINFO');
  56. }
  57. } catch (error) {
  58. // signOut 失败(如token无效),直接清除本地数据
  59. commit('LOGOUT_USERINFO');
  60. }
  61. }else{
  62. commit('LOGOUT_USERINFO');
  63. }
  64. },
  65. //设置用户信息
  66. async setUserInfo({ commit }) {
  67. try {
  68. const res = await userApi.getUserInfo();
  69. if (res.code === 200) {
  70. console.log("打印用户信息",res.data);
  71. let userInfo={
  72. email:res.data.email || '',//用户邮箱
  73. userName:res.data.userName || '',//用户昵称
  74. userId:res.data.id || '',//用户Id
  75. roleName:res.data.roleName || '',//用户角色
  76. accountId:res.data.loginName || '',//登录账号
  77. schoolName:res.data.schoolName || '',//学校名称
  78. schoolId:res.data.schoolId || '',//学校id
  79. userImage:res.data.headPic || '',//用户头像
  80. roleCodes:res.data.roleCodes || '',//用户角色编码
  81. roleNames:res.data.roleNames || '',//用户角色名称
  82. identify:res.data.identify || '',//用户身份
  83. phone:res.data.phone || '',//用户手机号
  84. schoolType:res.data.schoolType || '',//学校类型
  85. wxName:res.data.wxName || '',//用户微信昵称
  86. // userSex:res.data.gender || 0,//用户性别
  87. };
  88. commit('SET_USER_INFO', userInfo);
  89. uni.setStorageSync('userInfo', userInfo); // 存储 token 到本地
  90. } else {
  91. }
  92. } catch (error) {
  93. }
  94. },
  95. //保存学校
  96. setSchoolsList({ commit }, list){
  97. commit('SET_SCHOOLSLIST', list);
  98. },
  99. //保存模块权限列表
  100. setModulesList({ commit }, list){
  101. commit('SET_MODULESLIST', list);
  102. }
  103. }
  104. }
  105. export default userStore