index.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. import Vue from "vue";
  2. import Vuex from "vuex";
  3. import api from "@/api/api";
  4. import MinCache from "@/common/util/MinCache.js";
  5. import { ACCESS_TOKEN, USER_NAME, USER_INFO } from "@/common/util/constants";
  6. Vue.use(Vuex);
  7. export default new Vuex.Store({
  8. state: {
  9. token: "",
  10. userid: "",
  11. username: "",
  12. realname: "",
  13. welcome: "",
  14. avatar: "",
  15. dicts: "",
  16. showColum: {},
  17. nfcreadtxt: "",
  18. },
  19. mutations: {
  20. setNfcReadTxt(state, nfcreadtxt) {
  21. state.nfcreadtxt = nfcreadtxt;
  22. },
  23. SET_TOKEN: (state, token) => {
  24. state.token = token;
  25. },
  26. SET_NAME: (state, { username, realname, welcome }) => {
  27. state.username = username;
  28. state.realname = realname;
  29. state.welcome = welcome;
  30. },
  31. SET_AVATAR: (state, avatar) => {
  32. state.avatar = avatar;
  33. },
  34. SET_SHOWCOLUM: (state, showColum) => {
  35. state.showColum = showColum;
  36. },
  37. SET_DICT: (state, dicts) => {
  38. state.dicts = dicts;
  39. },
  40. },
  41. actions: {
  42. // 登录
  43. mLogin({ commit }, userInfo) {
  44. return new Promise((resolve, reject) => {
  45. api
  46. .login(userInfo)
  47. .then((response) => {
  48. if (response.data?.code == 200) {
  49. const result = response.data.result;
  50. const userInfo = result.userInfo;
  51. uni.setStorageSync(ACCESS_TOKEN, result.token);
  52. uni.setStorageSync(USER_INFO, userInfo);
  53. commit("SET_TOKEN", result.token);
  54. commit("SET_DICT", result.sysAllDictItems);
  55. commit("SET_AVATAR", userInfo.avatar);
  56. commit("SET_NAME", {
  57. username: userInfo.username,
  58. realname: userInfo.realname,
  59. });
  60. resolve(response);
  61. } else {
  62. resolve(response);
  63. }
  64. })
  65. .catch((error) => {
  66. console.log("catch===>response", response);
  67. reject(error);
  68. });
  69. });
  70. },
  71. //手机号登录
  72. PhoneLogin({ commit }, userInfo) {
  73. return new Promise((resolve, reject) => {
  74. api
  75. .phoneNoLogin(userInfo)
  76. .then((response) => {
  77. if (response.data.code == 200) {
  78. const result = response.data.result;
  79. const userInfo = result.userInfo;
  80. uni.setStorageSync(ACCESS_TOKEN, result.token);
  81. uni.setStorageSync(USER_INFO, userInfo);
  82. commit("SET_TOKEN", result.token);
  83. commit("SET_NAME", {
  84. username: userInfo.username,
  85. realname: userInfo.realname,
  86. });
  87. commit("SET_AVATAR", userInfo.avatar);
  88. resolve(response);
  89. } else {
  90. reject(response);
  91. }
  92. })
  93. .catch((error) => {
  94. reject(error);
  95. });
  96. });
  97. },
  98. // 登出
  99. Logout({ commit, state }) {
  100. return new Promise((resolve) => {
  101. let logoutToken = state.token;
  102. commit("SET_TOKEN", "");
  103. uni.removeStorageSync(ACCESS_TOKEN);
  104. api
  105. .logout(logoutToken)
  106. .then(() => {
  107. resolve();
  108. })
  109. .catch(() => {
  110. resolve();
  111. });
  112. });
  113. },
  114. },
  115. getters: {
  116. token: (state) => state.token,
  117. username: (state) => {
  118. state.userid = uni.getStorageSync(USER_INFO).username;
  119. return state.username;
  120. },
  121. nickname: (state) => {
  122. state.userid = uni.getStorageSync(USER_INFO).realname;
  123. return state.user.realname;
  124. },
  125. avatar: (state) => {
  126. state.userid = uni.getStorageSync(USER_INFO).avatar;
  127. return state.user.avatar;
  128. },
  129. userid: (state) => {
  130. state.userid = uni.getStorageSync(USER_INFO).id;
  131. return state.userid;
  132. },
  133. showColum: (state) => {
  134. state.userid = uni.getStorageSync(USER_INFO).showColum;
  135. return state.showColum;
  136. },
  137. nfcreadtxt: (state) => state.nfcreadtxt,
  138. },
  139. });