feat(login): add phone and Google login page with i18n

Add complete login flow with phone verification and country picker.
Add login-related translations for en-US, zh-CN and th-TH locales.
Add country calling codes constants and selection utility function.
Register Vant UI component type definitions for TypeScript.
Update development environment authentication token.
This commit is contained in:
duanshuwen
2026-06-01 21:57:12 +08:00
parent b30158b7d9
commit a8ae315e9f
7 changed files with 391 additions and 20 deletions

14
components.d.ts vendored
View File

@@ -47,15 +47,22 @@ declare module 'vue' {
TagsGroup: typeof import('./src/components/TagsGroup/index.vue')['default']
TopNavBar: typeof import('./src/components/TopNavBar/index.vue')['default']
UseDateRange: typeof import('./src/components/UseDateRange/index.vue')['default']
VanButton: typeof import('vant/es')['Button']
VanCell: typeof import('vant/es')['Cell']
VanCheckbox: typeof import('vant/es')['Checkbox']
VanDivider: typeof import('vant/es')['Divider']
VanField: typeof import('vant/es')['Field']
VanIcon: typeof import('vant/es')['Icon']
VanIcons: typeof import('vant/es')['Icons']
VanList: typeof import('vant/es')['List']
VanPopup: typeof import('vant/es')['Popup']
VanPullRefresh: typeof import('vant/es')['PullRefresh']
VanSearch: typeof import('vant/es')['Search']
VanSwipe: typeof import('vant/es')['Swipe']
VanSwipeItem: typeof import('vant/es')['SwipeItem']
VanSwiperItem: typeof import('vant/es')['SwiperItem']
VanTab: typeof import('vant/es')['Tab']
VanTabs: typeof import('vant/es')['Tabs']
ZnIcon: typeof import('./src/components/ZnIcon/index.vue')['default']
}
}
@@ -97,14 +104,21 @@ declare global {
const TagsGroup: typeof import('./src/components/TagsGroup/index.vue')['default']
const TopNavBar: typeof import('./src/components/TopNavBar/index.vue')['default']
const UseDateRange: typeof import('./src/components/UseDateRange/index.vue')['default']
const VanButton: typeof import('vant/es')['Button']
const VanCell: typeof import('vant/es')['Cell']
const VanCheckbox: typeof import('vant/es')['Checkbox']
const VanDivider: typeof import('vant/es')['Divider']
const VanField: typeof import('vant/es')['Field']
const VanIcon: typeof import('vant/es')['Icon']
const VanIcons: typeof import('vant/es')['Icons']
const VanList: typeof import('vant/es')['List']
const VanPopup: typeof import('vant/es')['Popup']
const VanPullRefresh: typeof import('vant/es')['PullRefresh']
const VanSearch: typeof import('vant/es')['Search']
const VanSwipe: typeof import('vant/es')['Swipe']
const VanSwipeItem: typeof import('vant/es')['SwipeItem']
const VanSwiperItem: typeof import('vant/es')['SwiperItem']
const VanTab: typeof import('vant/es')['Tab']
const VanTabs: typeof import('vant/es')['Tabs']
const ZnIcon: typeof import('./src/components/ZnIcon/index.vue')['default']
}