user.js 2.6 KB

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