login.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /**
  2. * 用户令牌信息
  3. */
  4. import { setCache, getCache } from '@/utils/cache';
  5. import { loginByWxLoginCode, refreshToken } from '@/api/login';
  6. export default {
  7. state: () => ({
  8. access_token: getCache('access_token') || '',
  9. refresh_token: getCache('refresh_token') || '',
  10. }),
  11. mutations: {
  12. SET_ACCESS_TOKEN(state, data) {
  13. state.access_token = data;
  14. setCache('access_token', state.access_token);
  15. },
  16. SET_REFRESH_TOKEN(state, data) {
  17. state.refresh_token = data;
  18. setCache('refresh_token', state.refresh_token);
  19. },
  20. },
  21. actions: {
  22. LoginByWxCode({ commit }, data) {
  23. return new Promise((resolve, reject) => {
  24. loginByWxLoginCode(data)
  25. .then(res => {
  26. if (res.access_token) {
  27. commit('SET_ACCESS_TOKEN', res.access_token);
  28. commit('SET_REFRESH_TOKEN', res.refresh_token);
  29. resolve();
  30. }
  31. })
  32. .catch(err => {
  33. reject(err);
  34. });
  35. });
  36. },
  37. RefreshToken({ commit }, data) {
  38. return new Promise((resolve, reject) => {
  39. refreshToken(data)
  40. .then(res => {
  41. if (res.access_token) {
  42. commit('SET_ACCESS_TOKEN', res.access_token);
  43. commit('SET_REFRESH_TOKEN', res.refresh_token);
  44. resolve();
  45. }
  46. })
  47. .catch(err => {
  48. reject(err);
  49. });
  50. });
  51. },
  52. },
  53. };