康巴易测肤/伤疤uniapp小程序类
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

86 lines
1.5KB

  1. import {
  2. api
  3. } from '@/api/index'
  4. import {
  5. getToken,
  6. setToken,
  7. removeToken
  8. } from '@/utils/auth.js';
  9. const user = {
  10. state: {
  11. // 用户认证token
  12. token: getToken(),
  13. // 用户ID
  14. userId: null,
  15. // 用户信息
  16. userInfo: {},
  17. // 测试信息
  18. testText: ''
  19. },
  20. mutations: {
  21. SET_TOKEN: (state, token) => {
  22. state.token = token
  23. },
  24. SET_USER_ID: (state, userId) => {
  25. state.userId = userId
  26. },
  27. SET_USERINFO: (state, userInfo) => {
  28. state.userInfo = userInfo
  29. },
  30. SET_TEST_TEXT: (state, testText) => {
  31. state.testText = testText
  32. },
  33. },
  34. actions: {
  35. // 用户登录
  36. Login({
  37. commit
  38. }, userInfo) {
  39. return new Promise(async (resolve, reject) => {
  40. // TODO: 用户登录处理,根据需求修改
  41. const res = await api.Login(userInfo);
  42. setToken(res.data.token);
  43. commit('SET_TOKEN', res.data.token);
  44. resolve(res);
  45. })
  46. },
  47. // 获取用户信息
  48. UserInfo({
  49. commit
  50. }) {
  51. return new Promise(async (resolve, reject) => {
  52. // TODO: 获取用户信息处理,根据需求修改
  53. try {
  54. const res = await getUserInfo();
  55. setUserId(res.data.userId);
  56. commit('SET_USER_ID', res.data.userId);
  57. commit('SET_USERINFO', res.data);
  58. resolve(res);
  59. } catch (e) {
  60. reject(e);
  61. }
  62. })
  63. },
  64. // 退出登录
  65. Logout({
  66. commit
  67. }) {
  68. return new Promise((resolve, reject) => {
  69. removeToken();
  70. removeUserId();
  71. commit('SET_TOKEN', null);
  72. commit('SET_USER_ID', null);
  73. resolve()
  74. })
  75. }
  76. }
  77. }
  78. export default user