index.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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. const responseData = response.data || {};
  49. const result = responseData.result || {};
  50. const loginUserInfo = result.userInfo;
  51. if (
  52. (responseData.code == 200 || responseData.success === true) &&
  53. result.token &&
  54. loginUserInfo
  55. ) {
  56. uni.setStorageSync(ACCESS_TOKEN, result.token);
  57. uni.setStorageSync(USER_INFO, loginUserInfo);
  58. commit("SET_TOKEN", result.token);
  59. commit("SET_DICT", result.sysAllDictItems);
  60. commit("SET_AVATAR", loginUserInfo.avatar);
  61. commit("SET_NAME", {
  62. username: loginUserInfo.username,
  63. realname: loginUserInfo.realname,
  64. });
  65. resolve(response);
  66. } else {
  67. resolve(response);
  68. }
  69. })
  70. .catch((error) => {
  71. console.log("catch===>response", response);
  72. reject(error);
  73. });
  74. });
  75. },
  76. //手机号登录
  77. PhoneLogin({ commit }, userInfo) {
  78. return new Promise((resolve, reject) => {
  79. api
  80. .phoneNoLogin(userInfo)
  81. .then((response) => {
  82. if (response.data.code == 200) {
  83. const result = response.data.result;
  84. const userInfo = result.userInfo;
  85. uni.setStorageSync(ACCESS_TOKEN, result.token);
  86. uni.setStorageSync(USER_INFO, userInfo);
  87. commit("SET_TOKEN", result.token);
  88. commit("SET_NAME", {
  89. username: userInfo.username,
  90. realname: userInfo.realname,
  91. });
  92. commit("SET_AVATAR", userInfo.avatar);
  93. resolve(response);
  94. } else {
  95. reject(response);
  96. }
  97. })
  98. .catch((error) => {
  99. reject(error);
  100. });
  101. });
  102. },
  103. // 登出
  104. Logout({ commit, state }) {
  105. return new Promise((resolve) => {
  106. let logoutToken = state.token;
  107. commit("SET_TOKEN", "");
  108. uni.removeStorageSync(ACCESS_TOKEN);
  109. api
  110. .logout(logoutToken)
  111. .then(() => {
  112. resolve();
  113. })
  114. .catch(() => {
  115. resolve();
  116. });
  117. });
  118. },
  119. },
  120. getters: {
  121. token: (state) => state.token,
  122. username: (state) => {
  123. state.userid = uni.getStorageSync(USER_INFO).username;
  124. return state.username;
  125. },
  126. nickname: (state) => {
  127. state.userid = uni.getStorageSync(USER_INFO).realname;
  128. return state.user.realname;
  129. },
  130. avatar: (state) => {
  131. state.userid = uni.getStorageSync(USER_INFO).avatar;
  132. return state.user.avatar;
  133. },
  134. userid: (state) => {
  135. state.userid = uni.getStorageSync(USER_INFO).id;
  136. return state.userid;
  137. },
  138. showColum: (state) => {
  139. state.userid = uni.getStorageSync(USER_INFO).showColum;
  140. return state.showColum;
  141. },
  142. nfcreadtxt: (state) => state.nfcreadtxt,
  143. },
  144. });