diff --git a/digital-avatar-app/src/router/index.ts b/digital-avatar-app/src/router/index.ts index a2128d9..660da3a 100644 --- a/digital-avatar-app/src/router/index.ts +++ b/digital-avatar-app/src/router/index.ts @@ -1,6 +1,7 @@ import { createRouter, createWebHashHistory } from 'vue-router' import type { RouteRecordRaw } from 'vue-router' import { getAuthToken } from '@/api' +import { isInUniWebView } from '@/utils/uniapp-bridge' const routes: RouteRecordRaw[] = [ { @@ -55,7 +56,7 @@ const routes: RouteRecordRaw[] = [ path: '/token/charge', name: 'TokenCharge', component: () => import('@/views/TokenCharge.vue'), - meta: { title: '积分充值', requiresAuth: true } + meta: { title: '积分充值', requiresAuth: true, requiresUniWebView: true } }, { path: '/avatar/card', @@ -133,6 +134,10 @@ const router = createRouter({ router.beforeEach((to, from, next) => { document.title = to.meta.title as string || '会会数字分身' + if (to.meta.requiresUniWebView && !isInUniWebView()) { + next({ path: '/avatar/manage' }) + return + } const hasLocalSession = Boolean(localStorage.getItem('hh_app_token')) const hasInjectedSession = Boolean(getAuthToken()) if (to.meta.requiresAuth && !hasLocalSession && !hasInjectedSession) { diff --git a/digital-avatar-app/src/views/AvatarManage.vue b/digital-avatar-app/src/views/AvatarManage.vue index 2ec8398..802a487 100644 --- a/digital-avatar-app/src/views/AvatarManage.vue +++ b/digital-avatar-app/src/views/AvatarManage.vue @@ -20,7 +20,7 @@ - +
@@ -28,7 +28,7 @@ {{ tokenBalance.toLocaleString() }} 累计使用 {{ tokenConsumed.toLocaleString() }}
- +
@@ -89,14 +89,15 @@ import { useAvatarStore } from '@/store/avatar' import { useUserStore } from '@/store/user' import { createAvatarShareLink } from '@/api' import { isHuihuiEmbeddedMode } from '@/utils/embed-mode' +import { isInUniWebView } from '@/utils/uniapp-bridge' const router = useRouter() const avatarStore = useAvatarStore() const userStore = useUserStore() const isEmbedded = isHuihuiEmbeddedMode() -// 临时产品开关:余额卡片代码保留,后续改为 true 即可恢复展示。 -const SHOW_POINTS_BALANCE_CARD = false +// 充值购买只在 uni-app 原生壳内提供,避免普通 H5 进入支付链路。 +const SHOW_POINTS_BALANCE_CARD = isInUniWebView() // 当前登录会会用户的资料(头像 / 昵称) const me = computed(() => userStore.user)