diff --git a/frontend/components.d.ts b/frontend/components.d.ts index 90947ac..44cd6b9 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -77,6 +77,8 @@ declare module 'vue' { VanNoticeBar: typeof import('vant/es')['NoticeBar'] VanPopup: typeof import('vant/es')['Popup'] VanPullRefresh: typeof import('vant/es')['PullRefresh'] + VanRadio: typeof import('vant/es')['Radio'] + VanRadioGroup: typeof import('vant/es')['RadioGroup'] VanSearch: typeof import('vant/es')['Search'] VanStepper: typeof import('vant/es')['Stepper'] VanSwipe: typeof import('vant/es')['Swipe'] diff --git a/frontend/src/features/auth/views/MobileProfileView.vue b/frontend/src/features/auth/views/MobileProfileView.vue index 06304c7..af5896c 100644 --- a/frontend/src/features/auth/views/MobileProfileView.vue +++ b/frontend/src/features/auth/views/MobileProfileView.vue @@ -136,10 +136,7 @@ async function openPostRentalNotice() { } function handleWithdraw() { - showDialog({ - title: '提现提示', - message: '为了您的资金安全,提现请前往电脑端网页版进行操作。', - }) + router.push('/m/wallet/withdrawal') } function goOrders(tabKey: string) { @@ -364,7 +361,7 @@ function resolveAvatarURL(url: string | undefined | null) {
我的商品 -
+
提现/账单
diff --git a/frontend/src/features/wallet/views/MobileWithdrawalView.vue b/frontend/src/features/wallet/views/MobileWithdrawalView.vue new file mode 100644 index 0000000..9f53967 --- /dev/null +++ b/frontend/src/features/wallet/views/MobileWithdrawalView.vue @@ -0,0 +1,886 @@ + + + + + diff --git a/frontend/src/router/mobileHost.ts b/frontend/src/router/mobileHost.ts index d9ab2c6..8c6c208 100644 --- a/frontend/src/router/mobileHost.ts +++ b/frontend/src/router/mobileHost.ts @@ -41,6 +41,8 @@ export function getMobilePath(path: string): string { } // PC-only views that don't have mobile counterparts go to mobile profile as fallback + if (path === '/wallet/withdrawal') return '/m/wallet/withdrawal' + if (path === '/wallet' || path === '/notifications' || path.startsWith('/seller')) { return '/m/profile' } @@ -68,6 +70,7 @@ export function getPcPath(path: string): string { if (subPath === '/login') return '/login' if (subPath === '/register') return '/login' // PC uses /login for both auth actions if (subPath === '/realname') return '/realname' + if (subPath === '/wallet/withdrawal') return '/wallet/withdrawal' if (subPath === '/seller/listings/create') return '/seller/listings/create' if (subPath.startsWith('/seller/listings/') && subPath.endsWith('/edit')) return subPath diff --git a/frontend/src/router/mobileRoutes.ts b/frontend/src/router/mobileRoutes.ts index e55a730..f53f46e 100644 --- a/frontend/src/router/mobileRoutes.ts +++ b/frontend/src/router/mobileRoutes.ts @@ -67,6 +67,12 @@ export const mobileRoutes: RouteRecordRaw[] = [ component: () => import('@/features/auth/views/MobileProfileView.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/orders', name: 'mobile-orders',