vueJava/nuxt/stores/login/index.ts

32 lines
865 B
TypeScript

import {useAxios} from "~/composables/useAxios";
import type {LoginRequestType, LoginResponseType} from "~/types/login";
import { cloneDeep } from 'lodash-es';
import {
DEFAULT_AUTHENTICATION_VALUE,
DEFAULT_AUTHORIZATION_VALUE
} from '~/constants/login';
export const useAuthStore = defineStore('authStore', () => {
const loginRequest = ref<LoginRequestType>(
cloneDeep(DEFAULT_AUTHENTICATION_VALUE)
);
const loginResponse = ref<LoginResponseType>(
cloneDeep(DEFAULT_AUTHORIZATION_VALUE)
);
const LoginAPI = async () => {
return await useAxios().post(`/api/admin/login`, loginRequest.value);
};
const permitApiList = computed(() => {
return loginResponse.value.permitApiList;
});
return {
loginRequest,
loginResponse,
LoginAPI,
permitApiList
};
});