user.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. uni.clearStorageSync()
  53. resolve()
  54. }).catch(error => {
  55. reject(error)
  56. })
  57. // })
  58. }
  59. return {
  60. user,
  61. Login,
  62. GetInfo,
  63. LogOut
  64. }
  65. })