store.ts 585 B

1234567891011121314151617181920212223
  1. import { reactive } from 'vue'
  2. import * as api from '@/service/user'
  3. export const state = reactive({
  4. bgWhite: false,
  5. userInfo: null as ApiUser.Info.Response | null,
  6. })
  7. export async function getUserInfo(reportError?: boolean) {
  8. const { results } = await api.getUserInfo(reportError)
  9. state.userInfo = results
  10. return results
  11. }
  12. export async function updateUserInfo(data: ApiUser.Update.Request) {
  13. await api.updateUserInfo(data)
  14. Object.assign(state.userInfo as ApiUser.Info.Response, data)
  15. }
  16. export async function logout() {
  17. await api.logout()
  18. state.userInfo = null
  19. }