完善后台分页与令牌刷新

This commit is contained in:
yml
2026-05-24 17:56:26 +08:00
parent cb636e4e89
commit abc4447401
19 changed files with 392 additions and 91 deletions
+22 -3
View File
@@ -61,6 +61,12 @@ const router = createRouter({
component: () => import("@/views/mobile/MobileOrdersView.vue"),
meta: { layout: "blank", requiresAuth: true },
},
{
path: "/m/orders/:id",
name: "mobile-order-detail",
component: () => import("@/views/account/OrderDetailView.vue"),
meta: { layout: "blank", requiresAuth: true },
},
{
path: "/m/seller/listings/create",
name: "mobile-seller-listing-create",
@@ -92,51 +98,61 @@ const router = createRouter({
path: "/orders/create",
name: "order-create",
component: () => import("@/views/account/OrderCreateView.vue"),
meta: { requiresAuth: true },
},
{
path: "/orders",
name: "orders",
component: () => import("@/views/account/OrdersView.vue"),
meta: { requiresAuth: true },
},
{
path: "/orders/:id",
name: "order-detail",
component: () => import("@/views/account/OrderDetailView.vue"),
meta: { requiresAuth: true },
},
{
path: "/wallet",
name: "wallet",
component: () => import("@/views/account/WalletView.vue"),
meta: { requiresAuth: true },
},
{
path: "/notifications",
name: "notifications",
component: () => import("@/views/account/NotificationsView.vue"),
meta: { requiresAuth: true },
},
{
path: "/realname",
name: "realname",
component: () => import("@/views/account/RealnameView.vue"),
meta: { requiresAuth: true },
},
{
path: "/seller/listings",
name: "seller-listings",
component: () => import("@/views/seller/SellerListingsView.vue"),
meta: { requiresAuth: true },
},
{
path: "/seller/listings/create",
name: "seller-listing-create",
component: () => import("@/views/seller/SellerListingCreateView.vue"),
meta: { requiresAuth: true },
},
{
path: "/seller/handoffs",
name: "seller-handoffs",
component: () => import("@/views/seller/SellerHandoffsView.vue"),
meta: { requiresAuth: true },
},
{
path: "/seller/earnings",
name: "seller-earnings",
component: () => import("@/views/seller/SellerEarningsView.vue"),
meta: { requiresAuth: true },
},
{
path: "/admin/login",
@@ -220,14 +236,17 @@ router.beforeEach(async (to) => {
if (to.meta.requiresAuth) {
const session = useSessionStore();
if (!session.token) {
return { path: "/m/login", query: { redirect: to.fullPath } };
const hasToken = !!localStorage.getItem("access_token");
if (!hasToken) {
const loginPath = to.path.startsWith("/m") ? "/m/login" : "/login";
return { path: loginPath, query: { redirect: to.fullPath } };
}
if (!session.phone) {
try {
await session.loadMe();
} catch {
return { path: "/m/login", query: { redirect: to.fullPath } };
const loginPath = to.path.startsWith("/m") ? "/m/login" : "/login";
return { path: loginPath, query: { redirect: to.fullPath } };
}
}
}