康巴易测肤/伤疤uniapp小程序类
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

113 lignes
2.0KB

  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. photoPath: '',
  21. // 测评结果
  22. resultList: [],
  23. resultPath: '',
  24. agreementState: ''
  25. },
  26. mutations: {
  27. SET_TOKEN: (state, token) => {
  28. state.token = token
  29. },
  30. SET_USER_ID: (state, userId) => {
  31. state.userId = userId
  32. },
  33. SET_USERINFO: (state, userInfo) => {
  34. state.userInfo = userInfo;
  35. },
  36. SET_TEST_TEXT: (state, testText) => {
  37. state.testText = testText
  38. },
  39. setPhotoPath: (state, photoPath) => {
  40. state.photoPath = photoPath;
  41. },
  42. setResultList: (state, resultList) => {
  43. state.resultList = resultList;
  44. },
  45. setResultPath: (state, resultPath) => {
  46. state.resultPath = resultPath;
  47. },
  48. setAgreementState: (state, agreementState) => {
  49. state.agreementState = agreementState;
  50. },
  51. saveAll(state) {
  52. uni.setStorageSync(
  53. `Default_Vuex_Storage`,
  54. JSON.stringify(state)
  55. )
  56. },
  57. },
  58. actions: {
  59. // 用户登录
  60. Login({
  61. commit
  62. }, userInfo) {
  63. return new Promise(async (resolve, reject) => {
  64. // TODO: 用户登录处理,根据需求修改
  65. const res = await api.Login(userInfo);
  66. setToken(res.data.token);
  67. commit('SET_TOKEN', res.data.token);
  68. resolve(res);
  69. })
  70. },
  71. // 获取用户信息
  72. UserInfo({
  73. commit
  74. }) {
  75. return new Promise(async (resolve, reject) => {
  76. // TODO: 获取用户信息处理,根据需求修改
  77. try {
  78. const res = await getUserInfo();
  79. setUserId(res.data.userId);
  80. commit('SET_USER_ID', res.data.userId);
  81. commit('SET_USERINFO', res.data);
  82. resolve(res);
  83. } catch (e) {
  84. reject(e);
  85. }
  86. })
  87. },
  88. // 退出登录
  89. Logout({
  90. commit
  91. }) {
  92. return new Promise((resolve, reject) => {
  93. removeToken();
  94. removeUserId();
  95. commit('SET_TOKEN', null);
  96. commit('SET_USER_ID', null);
  97. resolve()
  98. })
  99. }
  100. }
  101. }
  102. export default user