|  |  |  | 
|---|
|  |  |  | NProgress.start(); | 
|---|
|  |  |  | const userStore = useUserStore(); | 
|---|
|  |  |  | next(); | 
|---|
|  |  |  | if (isLogin()) { | 
|---|
|  |  |  | if (userStore.role) { | 
|---|
|  |  |  | next(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | await userStore.info(); | 
|---|
|  |  |  | next(); | 
|---|
|  |  |  | } catch (error) { | 
|---|
|  |  |  | await userStore.logout(); | 
|---|
|  |  |  | next({ | 
|---|
|  |  |  | name: 'login', | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | redirect: to.name, | 
|---|
|  |  |  | ...to.query, | 
|---|
|  |  |  | } as LocationQueryRaw, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | if (to.name === 'login') { | 
|---|
|  |  |  | next(); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | next({ | 
|---|
|  |  |  | name: 'login', | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | redirect: to.name, | 
|---|
|  |  |  | ...to.query, | 
|---|
|  |  |  | } as LocationQueryRaw, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // if (isLogin()) { | 
|---|
|  |  |  | //   if (userStore.role) { | 
|---|
|  |  |  | //     next(); | 
|---|
|  |  |  | //   } else { | 
|---|
|  |  |  | //     try { | 
|---|
|  |  |  | //       await userStore.info(); | 
|---|
|  |  |  | //       next(); | 
|---|
|  |  |  | //     } catch (error) { | 
|---|
|  |  |  | //       await userStore.logout(); | 
|---|
|  |  |  | //       next({ | 
|---|
|  |  |  | //         name: 'login', | 
|---|
|  |  |  | //         query: { | 
|---|
|  |  |  | //           redirect: to.name, | 
|---|
|  |  |  | //           ...to.query, | 
|---|
|  |  |  | //         } as LocationQueryRaw, | 
|---|
|  |  |  | //       }); | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // } else { | 
|---|
|  |  |  | //   if (to.name === 'login') { | 
|---|
|  |  |  | //     next(); | 
|---|
|  |  |  | //     return; | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | //   next({ | 
|---|
|  |  |  | //     name: 'login', | 
|---|
|  |  |  | //     query: { | 
|---|
|  |  |  | //       redirect: to.name, | 
|---|
|  |  |  | //       ...to.query, | 
|---|
|  |  |  | //     } as LocationQueryRaw, | 
|---|
|  |  |  | //   }); | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|