
File name
Commit message
Commit date
05-22
File name
Commit message
Commit date
File name
Commit message
Commit date
/**
* @author : 최정우
* @since : 2022.10.19
* @dscription : Vue를 활용한 Client단 구현의 시작점(Index) Component 입니다.
*/
import { createApp } from "vue";
// import AppRouter from "./pages/AppRouter.js";
import createAppRouter from "./pages/AppRouter.js";
import App from "./pages/App.vue";
import createAppStore from "./pages/AppStore.js";
import COMMON_UTIL from "../resources/js/common.js";
import filters from './common/filters.js';
import cmmnPlugin from './common/commonPlugin.js';
import VueCookies from "vue-cookies";
import SvgIcon from "@jamescoyle/vue-icon";
import VueDaumPostcode from "vue-daum-postcode";
import VueDatePicker from '@vuepic/vue-datepicker';
import '@vuepic/vue-datepicker/dist/main.css'
import '../resources/scss/main.scss';
import { getCntxtPth } from "../resources/api/cntxtPth.js";
import { getStorageMode, getLoginMode } from "../resources/api/loginPolicy.js";
async function initVueApp() {
const ctx = await contextPath();
const strgMode = await storageMode();
const lgnMode = await loginMode();
const store = createAppStore(ctx, strgMode, lgnMode);
// const savedLoginMode = localStorage.getItem("loginMode");
// const savedLoginMode = JSON.parse(localStorage.getItem("vuex"))?.loginMode;
// console.log("Saved Login Mode:", savedLoginMode);
// if (savedLoginMode) {
// console.log("Store loginMode:", store.state.loginMode);
// // store.commit("setLoginMode", savedLoginMode);
// }
const router = await createAppRouter()
const vue = createApp(App)
.use(router)
.use(store)
.use(VueDaumPostcode)
.use(COMMON_UTIL)
.use(cmmnPlugin)
.component("svg-icon", SvgIcon)
.component('VueDatePicker', VueDatePicker);
vue.config.globalProperties.$filters = filters;
vue.config.devtools = true;
// 쿠키 설정
vue.use(VueCookies);
vue.$cookies.config("1d"); // 쿠키 만료일 (글로벌 세팅)
vue.mount("#root");
}
// Context Path 조회
async function contextPath() {
try {
const res = await getCntxtPth();
if (res.status == 200) {
return res.data.data;
}
return null;
} catch (error) {
console.log("Error fetching context path:", error);
const errorData = error.response.data;
if (errorData.message != null && errorData.message != "") {
alert(error.response.data.message);
} else {
alert("에러가 발생했습니다.\n관리자에게 문의해주세요.");
}
}
};
// 스토리지 방식 조회
async function storageMode() {
try {
const res = await getStorageMode ();
if (res.status == 200) {
return res.data.data;
}
return null;
} catch (error) {
const errorData = error.response.data;
if (errorData.message != null && errorData.message != "") {
alert(error.response.data.message);
} else {
alert("에러가 발생했습니다.\n관리자에게 문의해주세요.");
}
}
};
// 로그인 방식 조회
async function loginMode() {
try {
const res = await getLoginMode();
if (res.status == 200) {
return res.data.data;
}
return null;
} catch (error) {
const errorData = error.response.data;
if (errorData.message != null && errorData.message != "") {
alert(error.response.data.message);
} else {
alert("에러가 발생했습니다.\n관리자에게 문의해주세요.");
}
}
};
initVueApp();