userStore.js 536 B

12345678910111213141516171819202122232425262728293031
  1. import { defineStore } from 'pinia';
  2. import http from '../common/request'
  3. export default defineStore('userStore', {
  4. state: () => {
  5. return {
  6. userInfo: {}
  7. }
  8. },
  9. actions: {
  10. setUserInfo(userInfo) {
  11. this.userInfo = userInfo;
  12. },
  13. clear() {
  14. this.userInfo = {};
  15. },
  16. loadUser() {
  17. return new Promise((resolve, reject) => {
  18. http({
  19. url: '/user/self',
  20. method: 'GET'
  21. }).then((userInfo) => {
  22. this.setUserInfo(userInfo);
  23. resolve();
  24. }).catch((res) => {
  25. reject(res);
  26. });
  27. })
  28. }
  29. }
  30. })