first commit

This commit is contained in:
qier222 2020-10-10 19:54:44 +08:00
commit e4ba16b9a2
102 changed files with 19066 additions and 0 deletions

114
src/router/index.js Normal file
View file

@ -0,0 +1,114 @@
import Vue from "vue";
import VueRouter from "vue-router";
import store from "@/store";
import NProgress from "nprogress";
import "@/assets/css/nprogress.css";
NProgress.configure({ showSpinner: false, trickleSpeed: 100 });
Vue.use(VueRouter);
const routes = [
{
path: "/",
name: "home",
component: () => import("@/views/home"),
meta: {
keepAlive: true,
},
},
{ path: "/login", name: "login", component: () => import("@/views/login") },
{
path: "/playlist/:id",
name: "playlist",
component: () => import("@/views/playlist"),
},
{
path: "/album/:id",
name: "album",
component: () => import("@/views/album"),
},
{
path: "/artist/:id",
name: "artist",
component: () => import("@/views/artist"),
},
{
path: "/next",
name: "next",
component: () => import("@/views/next"),
meta: {
keepAlive: true,
},
},
{
path: "/search",
name: "search",
component: () => import("@/views/search"),
},
{
path: "/new-album",
name: "newAlbum",
component: () => import("@/views/newAlbum"),
},
{
path: "/explore",
name: "explore",
component: () => import("@/views/explore"),
meta: {
keepAlive: true,
},
},
{
path: "/library",
name: "library",
component: () => import("@/views/library"),
meta: {
requireLogin: true,
keepAlive: true,
},
},
{
path: "/library/liked-songs",
name: "likedSongs",
component: () => import("@/views/likedSongs"),
meta: {
requireLogin: true,
},
},
];
const router = new VueRouter({
routes,
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
// return new Promise((resolve) => {
// setTimeout(() => {
// resolve(savedPosition);
// }, 100);
// });
return savedPosition;
} else {
return { x: 0, y: 0 };
}
},
});
router.beforeEach((to, from, next) => {
if (to.meta.requireLogin) {
if (store.state.settings.user.nickname === undefined) {
next({ path: "/login" });
} else {
next();
}
} else {
next();
}
});
router.afterEach((to) => {
if (to.matched.some((record) => !record.meta.keepAlive)) {
NProgress.start();
}
});
export default router;