123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- import { useMainStore } from "@/stores/store";
- import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
- import HomeView from '../views/HomeView.vue'
- import Language from "../components/Language.vue";
- import Step_1 from "../views/Step_1.vue";
- import Step_2 from "../views/Step_2.vue";
- import Step_3 from "../views/Step_3.vue";
- import Step_4 from "../views/Step_4.vue";
- import Step_5 from "../views/Step_5.vue";
- import Step_6 from "../views/Step_6.vue";
- // 天燈
- import Skylantern from '../views/Skylantern.vue'
- import SkylanternHome from '../views/SkylanternHome.vue'
- import SkylanternStep_1 from '../views/SkylanternStep_1.vue'
- import SkylanternStep_2 from '../views/SkylanternStep_2.vue'
- import SkylanternStep_3 from '../views/SkylanternStep_3.vue'
- const router = createRouter({
- history: createWebHashHistory(),
- routes: [
- {
- path: '/:lang?',
- name: 'home',
- component: HomeView,
- children: [
- {
- path: '/:lang?',
- component: Language,
- },
- {
- path: 'step1',
- component: Step_1,
- },
- {
- path: 'step2',
- component: Step_2,
- },
- {
- path: 'step3',
- component: Step_3,
- },
- {
- path: 'step4',
- component: Step_4,
- meta: {
- requiresBgImg: true
- }
- },
- {
- path: 'step5',
- component: Step_5,
- meta: {
- requiresBgImg: true
- }
- },
- {
- path: 'step6',
- component: Step_6,
- meta: {
- requiresBgImg: true
- }
- },
- // 天燈
- {
- path: '/skylantern',
- name: 'skylantern',
- component: Skylantern
- },
- {
- path: '/skylanternhome',
- name: 'skylantern_home',
- component: SkylanternHome
- },
- {
- path: '/skylantern_step1',
- name: 'skylantern_step1',
- component: SkylanternStep_1
- },
- {
- path: '/skylantern_step2',
- name: 'skylantern_step2',
- component: SkylanternStep_2
- },
- {
- path: '/skylantern_step3',
- name: 'skylantern_step3',
- component: SkylanternStep_3
- },
- ],
- },
- ]
- })
- router.beforeEach((to, from, next) => {
- const store = useMainStore();
- // 檢查是否已選擇背景圖,否則不能進入結果頁(step6)
- if (to.meta.requiresBgImg && !store.assignBgImg) {
- next('/step3'); // 返回選擇背景頁面
- } else {
- next();
- }
- });
- export default router
|