Explorar el Código

获取登录信息

panhui hace 3 años
padre
commit
2fff05b517
Se han modificado 3 ficheros con 38 adiciones y 21 borrados
  1. 4 0
      src/router/Page.js
  2. 30 3
      src/router/index.js
  3. 4 18
      src/views/Mine.vue

+ 4 - 0
src/router/Page.js

@@ -0,0 +1,4 @@
+export const Page = {
+    Login: 1,
+    Every: 2
+};

+ 30 - 3
src/router/index.js

@@ -1,5 +1,7 @@
 import { createRouter, createWebHistory } from '@ionic/vue-router'
 import { createRouter, createWebHistory } from '@ionic/vue-router'
 import TabsPage from '../views/TabsPage.vue'
 import TabsPage from '../views/TabsPage.vue'
+import { Page } from './Page'
+import { useUserStore } from '../stores/user'
 
 
 const router = createRouter({
 const router = createRouter({
     history: createWebHistory(import.meta.env.BASE_URL),
     history: createWebHistory(import.meta.env.BASE_URL),
@@ -18,20 +20,45 @@ const router = createRouter({
                 },
                 },
                 {
                 {
                     path: 'home',
                     path: 'home',
-                    component: () => import('@/views/Home.vue')
+                    component: () => import('@/views/Home.vue'),
+                    meta: {
+                        pageType: Page.Every
+                    }
                 },
                 },
                 {
                 {
                     path: 'mine',
                     path: 'mine',
-                    component: () => import('@/views/Mine.vue')
+                    component: () => import('@/views/Mine.vue'),
+                    meta: {
+                        pageType: Page.Every
+                    }
                 }
                 }
             ]
             ]
         },
         },
         {
         {
             path: '/login',
             path: '/login',
             name: 'login',
             name: 'login',
-            component: () => import('@/views/LoginPage.vue')
+            component: () => import('@/views/LoginPage.vue'),
+            meta: {
+                pageType: Page.Login
+            }
         }
         }
     ]
     ]
 })
 })
 
 
+router.beforeEach((to, from, next) => {
+    const uerStore = useUserStore()
+    if (!uerStore.user && to.meta.pageType !== Page.Login) {
+        uerStore
+            .get()
+            .then(() => {
+                next()
+            })
+            .catch(() => {
+                next()
+            })
+    } else {
+        next()
+    }
+})
+
 export default router
 export default router

+ 4 - 18
src/views/Mine.vue

@@ -1,24 +1,10 @@
 <template>
 <template>
     <ion-page>
     <ion-page>
-        <ion-content :fullscreen="true">
-            <ion-header collapse="condense">
-                <ion-toolbar>
-                    <ion-title size="large">Tab 2</ion-title>
-                </ion-toolbar>
-            </ion-header>
-
-            <ExploreContainer name="Tab 2 page" />
-        </ion-content>
+        <ion-content class="mine" :fullscreen="true"> </ion-content>
     </ion-page>
     </ion-page>
 </template>
 </template>
 
 
-<script>
-import { defineComponent } from 'vue'
-import { IonPage, IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/vue'
-import ExploreContainer from '@/components/ExploreContainer.vue'
-
-export default defineComponent({
-    name: 'Tab2Page',
-    components: { ExploreContainer, IonHeader, IonToolbar, IonTitle, IonContent, IonPage }
-})
+<script setup>
 </script>
 </script>
+
+