user.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /**
  2. * 功能:登录用户
  3. * 作者:小莫唐尼
  4. * 邮箱:studio@925i.cn
  5. * 时间:2022年07月21日 18:41:44
  6. * 版本:v0.1.0
  7. * 修改记录:
  8. * 修改内容:
  9. * 修改人员:
  10. * 修改时间:
  11. */
  12. import User from '@/api/admin/user.js'
  13. import HaloConfig from '@/config/halo.config.js';
  14. import {
  15. getWxLoginInfo
  16. } from '@/utils/auth.js'
  17. import {
  18. setCache,
  19. getCache
  20. } from '@/utils/storage.js'
  21. export default {
  22. state: {
  23. // 超管登录
  24. adminToken: getCache('APP_ADMIN_LOGIN_TOKEN'),
  25. // 微信登录的信息
  26. wxLoginInfo: getWxLoginInfo(),
  27. },
  28. getters: {
  29. getAdminToken(state) {
  30. return getCache('APP_ADMIN_LOGIN_TOKEN')
  31. },
  32. getWxLoginInfo(state) {
  33. return state.wxLoginInfo
  34. },
  35. },
  36. mutations: {
  37. setAdminToken(state, data) {
  38. state.adminToken = data
  39. setCache('APP_ADMIN_LOGIN_TOKEN', data, data?.expired_in)
  40. },
  41. setWxLoginInfo(state, data) {
  42. state.wxLoginInfo = data
  43. uni.setStorageSync('APP_WX_LOGIN_INFO', JSON.stringify(data))
  44. },
  45. },
  46. actions: {
  47. adminLogin(context, data) {
  48. return new Promise((resolve, reject) => {
  49. User.login(data).then((res) => {
  50. if (res.status == 200) {
  51. context.commit("setAdminToken", res.data);
  52. resolve(res)
  53. } else {
  54. reject(err)
  55. }
  56. }).catch((err) => {
  57. reject(err)
  58. });
  59. })
  60. },
  61. checkAndSetDefaultUser(context) {
  62. if (!context.state.wxLoginInfo) {
  63. context.commit('setWxLoginInfo', {
  64. avatarUrl: HaloConfig.defaultAvatarUrl,
  65. nickName: '匿名访客',
  66. email: '',
  67. url: ''
  68. })
  69. }
  70. },
  71. adminLogout(context) {
  72. context.commit("setAdminToken", null);
  73. }
  74. },
  75. };