|
|
@@ -1,5 +1,11 @@
|
|
|
<template>
|
|
|
<view class="container">
|
|
|
+<!-- 首次登录引导浮层 -->
|
|
|
+<OnboardingGuide
|
|
|
+ role="parent"
|
|
|
+ :show="showOnboarding"
|
|
|
+ @close="showOnboarding = false" />
|
|
|
+
|
|
|
<!-- 加载状态 -->
|
|
|
<BaseLoading :loading="loading" text="正在加载..." />
|
|
|
|
|
|
@@ -298,6 +304,7 @@
|
|
|
|
|
|
<script>
|
|
|
import { getFamilyMembers, getChildren, getPendingReviewTasks, getPendingWishes, approveTask, rejectTask, getChildCompletionStats, getParentDashboard, getFamilyEnergySandbox, getEnergyOverview, getVisibleFamilyMembers, getActivityList, getProductsByDomain } from '../../utils/api.js'
|
|
|
+import OnboardingGuide from '../../components/OnboardingGuide.vue'
|
|
|
import PageBanner from '../../components/PageBanner.vue'
|
|
|
import DimensionActivities from '../../components/DimensionActivities.vue'
|
|
|
import DimensionProducts from '../../components/DimensionProducts.vue'
|
|
|
@@ -310,7 +317,7 @@ import FamilyRelationGraph from '../../components/FamilyRelationGraph.vue'
|
|
|
import WuxingSandbox from '../../components/wuxing-sandbox.vue'
|
|
|
|
|
|
export default {
|
|
|
- components: { PageBanner, DimensionActivities, DimensionProducts, PlayfulCard, PlayfulButton, BaseBadge, BaseEmpty, BaseLoading, FamilyRelationGraph, WuxingSandbox },
|
|
|
+ components: { OnboardingGuide, PageBanner, DimensionActivities, DimensionProducts, PlayfulCard, PlayfulButton, BaseBadge, BaseEmpty, BaseLoading, FamilyRelationGraph, WuxingSandbox },
|
|
|
data() {
|
|
|
return {
|
|
|
nickname: '',
|
|
|
@@ -329,6 +336,7 @@ export default {
|
|
|
familyTotalPoints: 0,
|
|
|
// membershipText removed (no real function)
|
|
|
loading: true,
|
|
|
+ showOnboarding: false,
|
|
|
currentChildId: '',
|
|
|
_initialLoadDone: false,
|
|
|
_familyId: null,
|
|
|
@@ -411,6 +419,12 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
this.loadData()
|
|
|
+
|
|
|
+ // 首次登录引导
|
|
|
+ var onboardingDone = uni.getStorageSync('_onboardingDone')
|
|
|
+ if (!onboardingDone) {
|
|
|
+ this.showOnboarding = true
|
|
|
+ }
|
|
|
},
|
|
|
onShow() {
|
|
|
// 首次 onShow 紧接 mounted 之后,跳过避免双重加载
|