diff --git a/src/api/h5Http.ts b/src/api/h5Http.ts index bf7e84a..2bf4c86 100644 --- a/src/api/h5Http.ts +++ b/src/api/h5Http.ts @@ -16,10 +16,17 @@ const baseURL = (import.meta.env.VITE_API_BASE_URL as string | undefined) ?? 'ht /** 生产环境后台 SPA 挂在 /admin/,须带 BASE_URL,否则会跳到 /h5/ 的 uni-app 与核销页冲突 */ export function verifyLoginAbsoluteUrl(): string { - return buildVerifyLoginUrlWithPortal() + return buildUnifiedActivityVerifyLoginUrl() } -/** 构建核销登录页完整 URL,优先附带短码 v=,其次兼容旧 portal= */ +/** 活动核销:全平台统一入口链接(不在 URL 上区分活动),活动由 6 位数字口令区分 */ +export function buildUnifiedActivityVerifyLoginUrl(): string { + const pathname = window.location.pathname || '' + const subPath = pathname.includes('/m/verify') ? 'm/verify/login' : 'h5/verify/login' + const base = import.meta.env.BASE_URL || '/' + const normalized = base.endsWith('/') ? base : `${base}/` + return `${window.location.origin}${normalized}${subPath}` +} export function buildVerifyLoginUrlWithPortal(): string { const code = localStorage.getItem(VERIFY_PORTAL_CODE_KEY) const legacy = localStorage.getItem(VERIFY_PORTAL_LEGACY_TOKEN_KEY) @@ -66,7 +73,7 @@ h5Http.interceptors.response.use( localStorage.removeItem(H5_TOKEN_KEY) const path = window.location.pathname || '' if (path.includes('/h5/verify') || path.includes('/m/verify')) { - window.location.replace(buildVerifyLoginUrlWithPortal()) + window.location.replace(buildUnifiedActivityVerifyLoginUrl()) } } return Promise.reject(error) diff --git a/src/views/activities/ActivityList.vue b/src/views/activities/ActivityList.vue index 90051bb..4debac2 100644 --- a/src/views/activities/ActivityList.vue +++ b/src/views/activities/ActivityList.vue @@ -1,18 +1,14 @@ diff --git a/src/views/h5/VerifyLogin.vue b/src/views/h5/VerifyLogin.vue index e63dac5..880a261 100644 --- a/src/views/h5/VerifyLogin.vue +++ b/src/views/h5/VerifyLogin.vue @@ -1,172 +1,76 @@ @@ -189,11 +93,6 @@ async function login() { color: #1d2129; letter-spacing: 0.02em; } -.m-verify-sub { - margin-top: 8px; - font-size: 14px; - color: #86909c; -} .m-verify-card { max-width: 420px; margin: 0 auto; @@ -208,4 +107,16 @@ async function login() { color: #86909c; line-height: 1.5; } +.m-verify-section-head { + font-size: 15px; + font-weight: 600; + color: #4e5969; + margin-bottom: 14px; +} +.m-verify-pin :deep(input) { + font-size: 20px; + letter-spacing: 0.35em; + font-variant-numeric: tabular-nums; + text-indent: 0.05em; +} diff --git a/src/views/system/Admins.vue b/src/views/system/Admins.vue index 0b9bd37..42e93f9 100644 --- a/src/views/system/Admins.vue +++ b/src/views/system/Admins.vue @@ -1,5 +1,5 @@