|
@@ -61,28 +61,15 @@ const router = new VueRouter({
|
|
|
component: () => import("../views/account/findPassword.vue"),
|
|
|
meta: { title: "findPassword", NoHeader: true }
|
|
|
},
|
|
|
- {
|
|
|
- path: "/user/editPassword",
|
|
|
- component: () => import("../views/account/user/editPassword.vue"),
|
|
|
- meta: { title: "editPassword" }
|
|
|
- },
|
|
|
{
|
|
|
path: "/user",
|
|
|
component: () => import("../views/account/user/index.vue"),
|
|
|
- // meta: { title: "user" },
|
|
|
- redirect: "/user/collect",
|
|
|
- children: [
|
|
|
- {
|
|
|
- path: "collect",
|
|
|
- component: () => import("../views/account/user/collect.vue"),
|
|
|
- meta: { title: "collect" }
|
|
|
- },
|
|
|
- {
|
|
|
- path: "issue",
|
|
|
- component: () => import("../views/account/user/issue.vue"),
|
|
|
- meta: { title: "issue" }
|
|
|
- }
|
|
|
- ]
|
|
|
+ meta: { title: "user", auth: true }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: "/user/editPassword",
|
|
|
+ component: () => import("../views/account/user/editPassword.vue"),
|
|
|
+ meta: { title: "editPassword", auth: true }
|
|
|
},
|
|
|
{
|
|
|
path: "/shop/:sid",
|
|
@@ -165,36 +152,22 @@ const router = new VueRouter({
|
|
|
|
|
|
let loading: any;
|
|
|
router.beforeEach(async (to, from, next) => {
|
|
|
- const { token } = to.query;
|
|
|
- if (typeof token === "string") {
|
|
|
- await user.setToken(token);
|
|
|
- return next(login.get());
|
|
|
- }
|
|
|
- if (user.Token && !user.UserInfo) {
|
|
|
- await user.getUserInfo();
|
|
|
- }
|
|
|
- let errCode = 0;
|
|
|
- if (!to.matched.length) errCode = 404;
|
|
|
- if (to.path.startsWith("/user") && !user.UserInfo) errCode = 401;
|
|
|
- if (user.UserInfo === null && to.matched.some(({ meta: { auth } }) => auth)) {
|
|
|
- Message.warning("请先登录!");
|
|
|
- return next(false);
|
|
|
- }
|
|
|
loading = Loading.service({
|
|
|
fullscreen: true,
|
|
|
text: "跳转中..."
|
|
|
});
|
|
|
- // if (errCode)
|
|
|
- // return next({
|
|
|
- // path: `/error/${errCode}`,
|
|
|
- // replace: true
|
|
|
- // });
|
|
|
+ setTimeout(() => loading.close(), 3e3);
|
|
|
+ if (user.Token && !user.UserInfo) {
|
|
|
+ await user.getUserInfo();
|
|
|
+ }
|
|
|
+ if (!to.matched.length && process.env.NODE_ENV !== "development")
|
|
|
+ return next({
|
|
|
+ path: `/error/404`,
|
|
|
+ replace: true
|
|
|
+ });
|
|
|
+ if (to.meta.auth && !user.UserInfo) return next("/login");
|
|
|
setPageTitle(to.meta.title);
|
|
|
next();
|
|
|
});
|
|
|
-router.afterEach((to, from) =>
|
|
|
- setTimeout(() => {
|
|
|
- loading.close();
|
|
|
- })
|
|
|
-);
|
|
|
+router.afterEach(() => loading.close());
|
|
|
export default router;
|