| 文件 | 接口 | 改动类型 | 改动行数(新增/删除) |
|---|---|---|---|
pages/share/index.vue |
getFamilyFootprint | 常规(FamilyEmptyState type="card") | +15 / −2 |
pages/teacher/teacher-profile.vue |
generateParentInvite | 常规(FamilyEmptyState type="card") | +8 / −0 |
pages/user-edit/user-edit.vue |
requestJoinByCode | 常规(FamilyEmptyState type="card") | +44 / −28 |
pages/wisdom-detail/member-wisdom-detail.vue |
getEnergyOverview | 常规(FamilyEmptyState type="card") | +11 / −0 |
pages/wisdom/member-wisdom-detail.vue |
getEnergyOverview | 常规(FamilyEmptyState type="card") | +11 / −0 |
pages/profile-extra/family-members.vue |
特例(不套 FamilyEmptyState) | +6 / −1 | |
pages/invite/join.vue |
特例(零改动) | — | — |
总计:6 文件,79 行新增,22 行删除。
每个文件均做了以下两件事:
script 追加 computed
computed: {
hasFamily: function() {
return this.$store.getters.hasFamily
}
}
已有 computed 的对象则追加字段;无 computed 的则新增 computed 块。
模板加 v-if/v-else 包裹
<view v-if="hasFamily"> 包裹<view v-else><FamilyEmptyState type="card" /></view>pages/share/index.vuesp-header、sp-body、sp-footer 三个数据区均改为 v-if="hasFamily && ..."(保留原条件组合)sp-qr(扫码区)保持不动,作为对外引流入口v-else 插在第 24 行(sp-footer 之后、sp-qr 之前)FamilyEmptyState = 1,hasFamily = 5pages/teacher/teacher-profile.vueswitch-out-btn(切换家长端)保持不动(全局可见)user-card + menu-list 整体用 <view v-if="hasFamily"> 包裹v-else 紧跟 </view> 闭合标签之后modal-mask 密码弹窗保持不动FamilyEmptyState = 1,hasFamily = 3pages/user-edit/user-edit.vuerole-select-section)保持不动(新用户流程可见)form-section 的 v-if="isEdit" 改为 v-if="isEdit && hasFamily"v-else-if="isEdit" 分支插入 FamilyEmptyState type="card"hasFamily(原已有 5 个 computed 字段)FamilyEmptyState = 1,hasFamily = 3pages/wisdom-detail/member-wisdom-detail.vuenav-bar 保持不动FamilyEnergyBar 到 DimensionProducts 的整个数据区用 <view v-if="hasFamily"> 包裹v-else 插入在 </view> 之后、bottom-spacer 之前hasFamilyFamilyEmptyState = 1,hasFamily = 3pages/wisdom/member-wisdom-detail.vueFamilyEmptyState = 1,hasFamily = 3pages/profile-extra/family-members.vue仅在 SharePoster 上添加 v-if="hasFamily",并补充 v-else 渲染简短提示文字:
<SharePoster v-if="hasFamily" ... />
<view v-else class="empty-tip">暂无家庭成员,请先创建或加入家庭</view>
在 computed 中追加 hasFamily
在 <style> 末尾添加 .empty-tip 样式(居中文字,padding 60rpx 0,字号 28rpx,颜色 #999)
未使用 FamilyEmptyState 组件
保留已有的 showModal(同意/拒绝加入申请弹窗)等业务逻辑不动
grep 验证:hasFamily = 3,FamilyEmptyState = 0
pages/invite/join.vuegit diff HEAD -- pages/invite/join.vue 输出 0 行,确认完全未触碰。pages/share/index.vue : FamilyEmptyState=1 hasFamily=5 ✓ (≥1, ≥2)
pages/teacher/teacher-profile.vue: FamilyEmptyState=1 hasFamily=3 ✓ (≥1, ≥2)
pages/user-edit/user-edit.vue : FamilyEmptyState=1 hasFamily=3 ✓ (≥1, ≥2)
pages/wisdom-detail/member-wisdom-detail.vue: FamilyEmptyState=1 hasFamily=3 ✓ (≥1, ≥2)
pages/wisdom/member-wisdom-detail.vue: FamilyEmptyState=1 hasFamily=3 ✓ (≥1, ≥2)
pages/profile-extra/family-members.vue: FamilyEmptyState=0 hasFamily=3 ✓ (==0, ≥2)
$ git diff --stat HEAD -- \
pages/share/index.vue \
pages/teacher/teacher-profile.vue \
pages/user-edit/user-edit.vue \
pages/wisdom-detail/member-wisdom-detail.vue \
pages/wisdom/member-wisdom-detail.vue \
pages/profile-extra/family-members.vue
6 files changed, 79 insertions(+), 22 deletions(-)
pages/invite/join.vue 不在 diff 范围内(0 行改动)。
?. 可选链:key 中使用表达式