user.js 1012 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { defineStore } from 'pinia'
  2. import { ref } from 'vue'
  3. import { login, logout } from '@/api/login.js'
  4. import { getUserInfo } from '@/utils/auth'
  5. export const useUserStore = defineStore('user', () => {
  6. const user = ref(getUserInfo())
  7. // user.value = getUserInfo()
  8. // 登录方法
  9. function Login(userInfo) {
  10. const username = userInfo.username
  11. const password = userInfo.password
  12. return new Promise((resolve, reject) => {
  13. login(username.trim(), password)
  14. .then(res => {
  15. uni.setStorageSync('userInfo', res.returnParams)
  16. user.value = res.returnParams // 抽离进 GetInfo中
  17. // 可以在这里设置 token 或用户信息
  18. // setToken(res.token)
  19. resolve(res)
  20. })
  21. .catch(error => {
  22. reject(error)
  23. })
  24. })
  25. }
  26. function LogOut() {
  27. return new Promise((resolve, reject) => {
  28. // logout().then(() => {
  29. user.value = {}
  30. uni.clearStorageSync()
  31. resolve()
  32. }).catch(error => {
  33. reject(error)
  34. })
  35. // })
  36. }
  37. return { user, Login, LogOut }
  38. })