import axios from "axios" import { encodeStr } from "@/utils/pass.js" import { Base64 } from "js-base64" import store from "@/store/index.js" export default { async login(userName, password) { const pwdEncrypted = encodeStr(Base64.encode(password)) const res = await axios({ method: 'post', url: `${process.env.VUE_APP_API_PREFIX}/api/admin/login`, data: { userName: userName, password: pwdEncrypted, }, }) if (res.data.code !== 0) { throw (`登录失败:${res.data.msg}`) } else { store.commit('setLoginStatus', true) store.commit('setToken', res.data.data.token) store.commit('setUserInfo', res.data.data.user) } }, async logout() { const res = await axios({ method: 'get', url: `${process.env.VUE_APP_API_PREFIX}/api/admin/logout`, headers: { token: store.state.token, } }) if (res?.data?.code === 0) { store.commit('logoutCallback') } }, async checkLoginStatusAndProcess() { const lastToken = localStorage.getItem('token') const lastUserInfoStr = localStorage.getItem('userInfo') if (lastToken && lastUserInfoStr) { const res = await axios({ method: 'get', url: `${process.env.VUE_APP_API_PREFIX}/api/admin/checkLogin`, headers: { token: lastToken, } }) if (res.data.code === 0 && res.data.data) { store.commit('setLoginStatus', true) store.commit('setToken', lastToken) store.commit('setUserInfo', JSON.parse(lastUserInfoStr)) return true } else { store.commit('logoutCallback') return false } } else { store.commit('logoutCallback') return false } }, async signUp(userName, password) { const res = await axios({ method: 'post', url: `${process.env.VUE_APP_API_PREFIX}/api/admin/register`, data: { userName: userName, password: password, verifyPassword: password, }, }) if (res.data.code !== 0) { throw (`注册失败:${res.data.msg}`) } else { return } }, async fetchBadgeAndVisitData() { const res = await axios({ method: 'get', url: `${process.env.VUE_APP_API_PREFIX}/api/cms/question/getVisit`, headers: { token: store.state.token, } }) store.commit('setBadgeArchCurrent', res.data.data['1']) store.commit('setBadgeHistoryCurrent', res.data.data['2']) store.commit('setBadgeProtectorCurrent', res.data.data['3']) store.commit('setVisitCount', res.data.visit) }, }