import { createRouter, createWebHashHistory, RouteRecordRaw, useRoute } from "vue-router";
import { getCurrentInstance } from "vue";

export const Layout = () => import("@/layout/index.vue");

// 静态路由
export const constantRoutes: RouteRecordRaw[] = [

  // 登录
  {
    path: "/login",
    component: () => import("@/views/login/index.vue"),
    meta: { hidden: true },
    name:'login'
  },
  {
    path: "/signSucceed",
    component: () => import("@/views/signSucceed/index.vue"),
    meta: { hidden: true },
  },
  // 创建视频
  {
    path: "/",
    component: Layout,
    redirect: "/createVideo",
    children: [
      {
        path: "createVideo",
        component: () => import("@/views/createVideo/index.vue"),
        name: "createVideo",
        meta: {
          title: "createVideo",
          icon: "homepage",
          affix: true,
          name: "createVideo.title",
        },
      },
    ],
  },
  // 视频列表
  {
    path: "/",
    component: Layout,
    redirect: "/myCreating",
    children: [
      {
        path: "myCreating",
        component: () => import("@/views/myCreating/index.vue"),
        name: "myCreating",
        meta: {
          title: "myCreating",
          icon: "homepage",
          affix: true,
          name: "myCreating.title",
        },
      },
    ],
  },  // 定制分身
  {
    path: "/",
    component: Layout,
    redirect: "/userModel",
    children: [
      {
        path: "userModel",
        component: () => import("@/views/userModel/index.vue"),
        name: "userModel",
        meta: {
          title: "userModel",
          icon: "homepage",
          affix: true,
          name: "userModel.title",
        },
      },
    ],
  },  // 定制声纹
  {
    path: "/",
    component: Layout,
    redirect: "/voiceModel",
    children: [
      {
        path: "voiceModel",
        component: () => import("@/views/voiceModel/index.vue"),
        name: "voiceModel",
        meta: {
          title: "voiceModel",
          icon: "homepage",
          affix: true,
          name: "voiceModel.title",
        },
      },
    ],
  },  {
    path: "/",
    component: Layout,
    redirect: "/myStore",
    children: [
      {
        path: "myStore",
        component: () => import("@/views/myStore/index.vue"),
        name: "myStore",
        meta: {
          title: "myStore",
          icon: "homepage",
          affix: true,
          name: "myStore.title",
        },
      },
    ],
  }, {
    path: "/",
    component: Layout,
    redirect: "/myRecharge",
    children: [
      {
        path: "/myRecharge",
        component: () => import("@/views/my/recharge.vue"),
        name: "myRecharge",
        meta: {
          title: "myRecharge",
          icon: "homepage",
          affix: true,
          name: "my.title",
        },
      },
      {
        path: "/coindeduc",
        component: () => import("@/views/my/coindeduc.vue"),
        name: "coindeduc",
        meta: {
          title: "coindeduc",
          icon: "homepage",
          affix: true,
          name: "my.title",
        },
      },
    ],
  },
  {
    path: "/",
    component: Layout,
    redirect: "/moveImg",
    children: [
      {
        path: "moveImg",
        component: () => import("@/views/moveImg/index.vue"),
        name: "moveImg",
        meta: {
          title: "moveImg",
          icon: "homepage",
          affix: true,
          name: "moveImg.title",
        },
      },
    ],
  },
  {
    path: "/",
    component: Layout,
    redirect: "/separation",
    children: [
      {
        path: "/separation",
        component: () => import("@/views/separation/index.vue"),
        name: "separation",
        meta: {
          title: "separation",
          icon: "homepage",
          affix: true,
          name: "separation.title",
        },
      },
      {
        path: "/voiceprint",
        component: () => import("@/views/voiceprint/index.vue"),
        name: "voiceprint",
        meta: {
          title: "voiceprint",
          icon: "homepage",
          affix: true,
          name: "separation.title",
        },
      },
      {
        path: "/privatization",
        component: () => import("@/views/privatization/index.vue"),
        name: "privatization",
        meta: {
          title: "privatization",
          icon: "homepage",
          affix: true,
          name: "separation.title",
        },
      },
      {
        path: "/api",
        component: () => import("@/views/api/index.vue"),
        name: "api",
        meta: {
          title: "api",
          icon: "homepage",
          affix: true,
          name: "separation.title",
        },
      },
    ],
  },

];

/**
 * 创建路由
 */
const router = createRouter({
  history: createWebHashHistory(),
  routes: constantRoutes as RouteRecordRaw[],
  // 刷新时，滚动条位置还原
  // 2023-5-23 添加平滑滚动 YWQ
  scrollBehavior: () => ({ behavior: "smooth", left: 0, top: 0 }),
});
router.beforeEach((to, from) => {
 document.title = '元气智驾-' + (to.query.p || from.query.p || localStorage.getItem("title") || '悟空')
})
/**
 * 重置路由
 */
export function resetRouter() {
  router.replace({ path: "/login" });
}

export default router;
