改造 9 个 uni-app(Vue 2)小程序页面,为每个页面的家庭数据区添加 v-if="hasFamily" / v-else 渲染 FamilyEmptyState type="card" 的条件包裹。
7b4c3eeastore/index.js / utils/api.js / main.js / FamilyEmptyState.vue / 其他页面(均为任务 1-4 遗留改动)| 文件 | FamilyEmptyState | hasFamily | 改动说明 |
|---|---|---|---|
pages/growth/create.vue |
1 | 3 | 已在上游任务改造,本次确认无重复改动 |
pages/growth/index.vue |
1 | 5 | 新增 hasFamily computed;children-list / records-section / footer-btn 加 v-if="hasFamily",v-else 渲染 FamilyEmptyState |
pages/health/gut-index.vue |
1 | 3 | 新增 computed 块含 hasFamily;scroll-view 内容加 v-if="hasFamily",v-else 渲染 FamilyEmptyState |
pages/mind-detail/member-mind-detail.vue |
1 | 3 | 在现有 computed 对象中追加 hasFamily;能量条至底部占位区域加 v-if="hasFamily",v-else 渲染 FamilyEmptyState |
pages/mind/member-mind-detail.vue |
1 | 3 | 同上 |
pages/parent/child-detail.vue |
1 | 3 | 在现有 computed 对象中追加 hasFamily;加载状态 + template 内容区加 v-if="hasFamily",v-else 渲染 FamilyEmptyState |
pages/parent/plans/index.vue |
1 | 3 | 新增 computed 块含 hasFamily;header 至 plan-list 区域加 v-if="hasFamily",v-else 渲染 FamilyEmptyState |
pages/parent/wishes/index.vue |
1 | 3 | 在现有 computed 对象中追加 hasFamily;整个 wish-list 内容区加 v-if="hasFamily",v-else 渲染 FamilyEmptyState |
pages/rewards/badge.vue |
1 | 3 | 在现有 computed 对象中追加 hasFamily;stats-card 至底部弹窗区域加 v-if="hasFamily",v-else 渲染 FamilyEmptyState |
=== pages/growth/create.vue ===
FamilyEmptyState: 1
hasFamily: 3
=== pages/growth/index.vue ===
FamilyEmptyState: 1
hasFamily: 5
=== pages/health/gut-index.vue ===
FamilyEmptyState: 1
hasFamily: 3
=== pages/mind-detail/member-mind-detail.vue ===
FamilyEmptyState: 1
hasFamily: 3
=== pages/mind/member-mind-detail.vue ===
FamilyEmptyState: 1
hasFamily: 3
=== pages/parent/child-detail.vue ===
FamilyEmptyState: 1
hasFamily: 3
=== pages/parent/plans/index.vue ===
FamilyEmptyState: 1
hasFamily: 3
=== pages/parent/wishes/index.vue ===
FamilyEmptyState: 1
hasFamily: 3
=== pages/rewards/badge.vue ===
FamilyEmptyState: 1
hasFamily: 3
所有文件均满足:grep -c "FamilyEmptyState" ≥ 1 且 grep -c "hasFamily" ≥ 2。
cfc-frontend/pages/growth/create.vue | 67 +++++++++++++---------
cfc-frontend/pages/growth/index.vue | 12 +++-
cfc-frontend/pages/health/gut-index.vue | 11 +++-
.../pages/mind-detail/member-mind-detail.vue | 8 +++
cfc-frontend/pages/mind/member-mind-detail.vue | 8 +++
cfc-frontend/pages/parent/child-detail.vue | 9 +++
cfc-frontend/pages/parent/plans/index.vue | 11 ++++
cfc-frontend/pages/parent/wishes/index.vue | 8 +++
cfc-frontend/pages/rewards/badge.vue | 8 +++
9 files changed, 110 insertions(+), 32 deletions(-)
每个文件均按以下模式改造:
computed:组件已有 computed 对象则在现有对象中追加 hasFamily;无 computed 对象则新建:
hasFamily: function() {
return this.$store.getters.hasFamily
}
模板:在接口成功回调渲染的家庭数据区外层加 v-if="hasFamily",末尾补 v-else 块:
<view v-if="hasFamily">
<!-- 原有内容一字不动 -->
</view>
<view v-else>
<FamilyEmptyState type="card" />
</view>
FamilyEmptyState 已通过 main.js 全局注册,各组件无需 import 或 components 注册。
pages/growth/create.vue 在本次任务开始前已由上游任务改造完成,本次确认其状态正确,未做额外改动。pages/growth/index.vue 的 hasFamily 计数为 5(computed 定义 1 + v-if 模板 2 + footer-btn 条件 2),其余文件均为 3(computed 定义 1 + v-if 模板 1 + v-else 模板 1)。store/index.js、utils/api.js、main.js、FamilyEmptyState.vue 及其他非目标页面。?.、:key 表达式、中文 CSS 类名、new Date(string)、uni.getSystemInfoSync()、CSS Grid。