Files
hfb_sys/frontend/src/router/mobileRoutes.ts
T
yml2213 d93795a4b4 统一订单列表混排租赁与撞车,后台撞车订单展示真实手机号
PC/移动端「我的订单」并行拉取两类订单并按时间混排展示;后台撞车订单买家手机号不再脱敏,便于履约联系。
2026-07-19 16:01:45 +08:00

160 lines
5.2 KiB
TypeScript

import type { RouteRecordRaw } from 'vue-router'
export const mobileRoutes: RouteRecordRaw[] = [
{
path: '/m',
name: 'mobile-home',
component: () => import('@/features/listings/views/MobileHomeView.vue'),
meta: { layout: 'blank' },
},
{
path: '/m/listings',
name: 'mobile-listings',
component: () => import('@/features/listings/views/MobileHomeView.vue'),
meta: { layout: 'blank' },
},
{
path: '/m/listings/collections',
name: 'mobile-listing-collections',
component: () => import('@/features/listings/views/ListingCollectionsView.vue'),
meta: { layout: 'blank' },
},
{
path: '/m/listings/:id',
name: 'mobile-listing-detail',
component: () => import('@/features/listings/views/MobileListingDetailView.vue'),
meta: { layout: 'blank' },
},
{
path: '/m/add-home-guide',
name: 'mobile-add-home-guide',
component: () => import('@/features/guide/views/MobileAddHomeGuideView.vue'),
meta: { layout: 'blank' },
},
{
path: '/m/login',
name: 'mobile-login',
component: () => import('@/features/auth/views/MobileLoginView.vue'),
meta: { layout: 'blank' },
},
{
path: '/m/register',
name: 'mobile-register',
component: () => import('@/features/auth/views/MobileRegisterView.vue'),
meta: { layout: 'blank' },
},
{
path: '/m/messages',
name: 'mobile-messages',
component: () => import('@/features/chats/views/MobileMessagesView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/announcements',
name: 'mobile-announcements',
component: () => import('@/features/announcement/views/MobileAnnouncementsView.vue'),
meta: { layout: 'blank' },
},
{
path: '/m/announcements/:id',
name: 'mobile-announcement-detail',
component: () => import('@/features/announcement/views/MobileAnnouncementDetailView.vue'),
meta: { layout: 'blank' },
},
{
path: '/m/chats/:id',
name: 'mobile-chat',
component: () => import('@/features/chats/views/MobileChatView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/realname',
name: 'mobile-realname',
component: () => import('@/features/auth/views/MobileRealnameView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/profile',
name: 'mobile-profile',
component: () => import('@/features/auth/views/MobileProfileView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/notifications',
name: 'mobile-notifications',
component: () => import('@/features/auth/views/MobileNotificationsView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/wallet/withdrawal',
name: 'mobile-withdrawal',
component: () => import('@/features/wallet/views/MobileWithdrawalView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/crash',
name: 'mobile-crash-list',
component: () => import('@/features/mohong/views/MobileMohongListView.vue'),
meta: { layout: 'blank' },
},
{
// 撞车订单列表统一到底栏「订单」页(与租赁订单混排)
path: '/m/crash/orders',
name: 'mobile-crash-orders',
redirect: '/m/orders',
},
{
path: '/m/crash/orders/:id',
name: 'mobile-crash-order-detail',
component: () => import('@/features/mohong/views/MobileMohongOrderDetailView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/crash/:id',
name: 'mobile-crash-detail',
component: () => import('@/features/mohong/views/MobileMohongDetailView.vue'),
meta: { layout: 'blank' },
},
// 旧路径兼容
{ path: '/m/mohong', redirect: '/m/crash' },
{ path: '/m/mohong/orders', redirect: '/m/crash/orders' },
{ path: '/m/mohong/orders/:id', redirect: to => `/m/crash/orders/${to.params.id}` },
{ path: '/m/mohong/:id', redirect: to => `/m/crash/${to.params.id}` },
{
path: '/m/orders',
name: 'mobile-orders',
component: () => import('@/features/orders/views/MobileOrdersView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/orders/:id',
name: 'mobile-order-detail',
component: () => import('@/features/orders/views/MobileOrderDetailView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/seller/listings/create',
name: 'mobile-seller-listing-create',
component: () => import('@/features/seller/views/MobileSellerListingCreateView.vue'),
meta: { layout: 'blank', requiresAuth: true, requiresRealname: true },
},
{
path: '/m/seller/listings/:id/edit',
name: 'mobile-seller-listing-edit',
component: () => import('@/features/seller/views/MobileSellerListingCreateView.vue'),
meta: { layout: 'blank', requiresAuth: true, requiresRealname: true },
},
{
path: '/m/seller/listings/:id',
name: 'mobile-seller-listing-detail',
component: () => import('@/features/seller/views/MobileSellerListingDetailView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
{
path: '/m/seller/listings',
name: 'mobile-seller-listings',
component: () => import('@/features/seller/views/MobileSellerListingsView.vue'),
meta: { layout: 'blank', requiresAuth: true },
},
]