user.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import {
  2. defineStore
  3. } from 'pinia'
  4. import {
  5. ref
  6. } from 'vue'
  7. import {
  8. login,
  9. getInfo,
  10. logout
  11. } from '@/api/login.js'
  12. import {
  13. getUserInfo
  14. } from '@/utils/auth'
  15. export const useUserStore = defineStore('user', () => {
  16. const user = ref(getUserInfo()) // 用户信息
  17. const useId = ref(0) // staffId
  18. // 登录方法
  19. function Login(userInfo) {
  20. const username = userInfo.username
  21. const password = userInfo.password
  22. return new Promise((resolve, reject) => {
  23. login(username.trim(), password)
  24. .then(res => {
  25. useId.value = res.returnParams.useId // 设置staffId
  26. // setToken(res.token)
  27. resolve(res)
  28. })
  29. .catch(error => {
  30. reject(error)
  31. })
  32. })
  33. }
  34. function GetInfo(index) {
  35. const roleIndex = index || 0
  36. return new Promise((resolve, reject) => {
  37. getInfo(useId.value).then(res => {
  38. // 保存 用户信息
  39. uni.setStorageSync('userInfo', res.returnParams[roleIndex])
  40. user.value = res.returnParams[roleIndex]
  41. resolve(res)
  42. })
  43. .catch(error => {
  44. reject(error)
  45. })
  46. })
  47. }
  48. function LogOut() {
  49. return new Promise((resolve, reject) => {
  50. // logout().then(() => {
  51. user.value = {}
  52. useId.value = 0
  53. uni.clearStorageSync()
  54. resolve()
  55. }).catch(error => {
  56. reject(error)
  57. })
  58. // })
  59. }
  60. return {
  61. user,
  62. useId,
  63. Login,
  64. GetInfo,
  65. LogOut
  66. }
  67. })