import { verifyToken } from '@/api';
import { useAuthStore } from '@/store/modules/auth';
import type { Router } from 'vue-router'



export function tokenAuth(router: Router) {
  router.beforeEach(async (to, from, next) => {
    // 检查路由的查询参数中是否包含 token
    const token = to.query.token as string | undefined;
    if (token &&token.length>0) {

      // 如果包含 token，则发送请求验证 token
      const isValidToken = await verifyToken(token);
      if (isValidToken.code==0) {
        // 如果 token 验证成功，则继续路由
        const authStore = useAuthStore()
        await authStore.setToken(token)
        await authStore.setUserInfo(isValidToken.data)

        next();
      } else {
        // 如果 token 验证失败，则重定向到其他页面（比如登录页面）
        next({ name: 'login' });
      }
    } else {
      // 如果没有 token，则继续路由
      next();
    }
  });
}
