import {defineStore} from "pinia"; import storage from "@/utils/storage"; import {useConfigStore} from "@/store/useConfigStore"; import {login} from "@/api/student"; import { showToast } from "@/utils/app"; export const useUserStore = defineStore({ id: 'user', state: () => ({ token: null, userInfo: {} }), getters: {}, actions: { _init() { this.checkLogin() }, checkLogin() { let token = storage.getKey('LOGIN_TEACHER_TOKEN') if (token) { this.token = token } }, async login(loginForm) { const configStore = useConfigStore() // let mac = configStore.getMac() return new Promise(async (resolve, reject) => { const res = await login({ username: loginForm.mac, password: loginForm.pwd, }) if(res.code == 1 && res.data.token){ this.setToken(res.data) resolve(res.data) } else{ showToast(res.msg) reject(res.msg) } }) }, logout() { this.token = null this.userInfo = {} storage.remove("LOGIN_TEACHER_TOKEN") storage.remove("userInfo") }, setToken(data){ this.token = data.token this.userInfo = data.info storage.setKey('LOGIN_TEACHER_TOKEN', data.token) storage.setKey('userInfo', data.info) } // getMachineInfo() { // this.mac = '123' // }, } })