|
|
@@ -99,8 +99,7 @@
|
|
|
</view>
|
|
|
|
|
|
<!-- 推荐阅读 -->
|
|
|
- <DimensionArticles
|
|
|
- dimensionCode="mind"
|
|
|
+ <ArticleBookshelf
|
|
|
:articles="emotionArticles"
|
|
|
:isLoggedIn="isLoggedIn"
|
|
|
@articleClick="goArticleDetail"
|
|
|
@@ -121,11 +120,10 @@
|
|
|
@activityClick="goActivityDetail"
|
|
|
@moreActivities="goMoreActivities" />
|
|
|
|
|
|
- <DimensionProducts
|
|
|
- :dimensionCode="currentDimensionCode"
|
|
|
- :products="dimensionProducts"
|
|
|
- @productClick="goProductDetail"
|
|
|
- @moreProducts="goMoreProducts" />
|
|
|
+ <DimensionProductList
|
|
|
+ dimensionCode="mind"
|
|
|
+ :familyId="currentChildId"
|
|
|
+ title="为你推荐" />
|
|
|
|
|
|
<!-- ===== Phase 1.2: 心理告警横幅 ===== -->
|
|
|
<PsychCrisisBanner v-if="isLoggedIn" :childId="currentChildId" source="screening" />
|
|
|
@@ -174,20 +172,20 @@ import RadarChart from '../../components/RadarChart.vue'
|
|
|
import FamilyEnergyBar from '../../components/FamilyEnergyBar.vue'
|
|
|
import DimensionTasks from '../../components/DimensionTasks.vue'
|
|
|
import DimensionActivities from '../../components/DimensionActivities.vue'
|
|
|
-import DimensionProducts from '../../components/DimensionProducts.vue'
|
|
|
-import DimensionArticles from '../../components/DimensionArticles.vue'
|
|
|
+import DimensionProductList from '../../components/DimensionProductList.vue'
|
|
|
+import ArticleBookshelf from '../../components/ArticleBookshelf.vue'
|
|
|
import PsychCrisisBanner from '../../components/PsychCrisisBanner.vue'
|
|
|
import AIFloatingAvatar from '../../components/AIFloatingAvatar.vue'
|
|
|
import FamilyTianpanCard from '../../components/FamilyTianpanCard.vue'
|
|
|
import FamilyMemberStrip from '../../components/FamilyMemberStrip.vue'
|
|
|
-import { getVisibleSections, getFeaturedArticles, getEmiReport, getFamilyEnergySandbox, getTodayTasksByCategory, getActivityList, getProductsByDomain, getChildren, getVisibleFamilyMembers, getEnergyOverview, getContactList, getHealthAlerts, getMilestones, getDanReportByChild, getFamilyFortune } from '../../utils/api.js'
|
|
|
+import { getVisibleSections, getFeaturedArticles, getEmiReport, getFamilyEnergySandbox, getTodayTasksByCategory, getActivityList, getChildren, getVisibleFamilyMembers, getEnergyOverview, getContactList, getHealthAlerts, getMilestones, getDanReportByChild, getFamilyFortune } from '../../utils/api.js'
|
|
|
import config from '../../config.js'
|
|
|
import RecommendedSection from '../../components/RecommendedSection.vue'
|
|
|
import recommendMixin from '../../mixins/recommend-mixin'
|
|
|
|
|
|
export default {
|
|
|
mixins: [recommendMixin],
|
|
|
-components: { TabTransition, PageBanner, RadarChart, LoginGuideCard, FamilyEnergyBar, DimensionTasks, DimensionActivities, DimensionProducts, DimensionArticles, PsychCrisisBanner, AIFloatingAvatar, FamilyTianpanCard, FamilyMemberStrip, RecommendedSection },
|
|
|
+components: { TabTransition, PageBanner, RadarChart, LoginGuideCard, FamilyEnergyBar, DimensionTasks, DimensionActivities, DimensionProductList, ArticleBookshelf, PsychCrisisBanner, AIFloatingAvatar, FamilyTianpanCard, FamilyMemberStrip, RecommendedSection },
|
|
|
data() {
|
|
|
return {
|
|
|
isLoggedIn: false,
|
|
|
@@ -253,7 +251,6 @@ components: { TabTransition, PageBanner, RadarChart, LoginGuideCard, FamilyEnerg
|
|
|
sandboxData: null,
|
|
|
dimensionTasks: [],
|
|
|
dimensionActivities: [],
|
|
|
- dimensionProducts: [],
|
|
|
contactList: [],
|
|
|
healthAlerts: [],
|
|
|
milestones: [],
|
|
|
@@ -458,7 +455,6 @@ components: { TabTransition, PageBanner, RadarChart, LoginGuideCard, FamilyEnerg
|
|
|
}
|
|
|
// 游客也能浏览活动和商品
|
|
|
this.loadDimensionActivities()
|
|
|
- this.loadDimensionProducts()
|
|
|
this.loadRecommendations('mind')
|
|
|
this.loadFamilyFortune()
|
|
|
this._watchPageReady()
|
|
|
@@ -791,7 +787,6 @@ components: { TabTransition, PageBanner, RadarChart, LoginGuideCard, FamilyEnerg
|
|
|
loadDimensionData: function() {
|
|
|
this.loadDimensionTasks()
|
|
|
this.loadDimensionActivities()
|
|
|
- this.loadDimensionProducts()
|
|
|
if (this.familyMembersVisible.length > 0) {
|
|
|
this.loadCompatibilityData()
|
|
|
}
|
|
|
@@ -841,16 +836,6 @@ components: { TabTransition, PageBanner, RadarChart, LoginGuideCard, FamilyEnerg
|
|
|
}
|
|
|
}).catch(function() { self.dimensionActivities = [] })
|
|
|
},
|
|
|
- loadDimensionProducts: function() {
|
|
|
- var self = this
|
|
|
- var dimCode = self.currentDimensionCode
|
|
|
- getProductsByDomain(dimCode, 1, 4).then(function(res) {
|
|
|
- if (res && res.data) {
|
|
|
- var list = Array.isArray(res.data) ? res.data : (res.data.records || [])
|
|
|
- self.dimensionProducts = list.slice(0, 4)
|
|
|
- }
|
|
|
- }).catch(function() { self.dimensionProducts = [] })
|
|
|
- },
|
|
|
onFamilyMemberSelect: function(member) {
|
|
|
this.selectedMemberId = member.id
|
|
|
},
|
|
|
@@ -905,12 +890,6 @@ components: { TabTransition, PageBanner, RadarChart, LoginGuideCard, FamilyEnerg
|
|
|
goMoreActivities: function() {
|
|
|
uni.navigateTo({ url: '/pages/activity/index' })
|
|
|
},
|
|
|
- goProductDetail: function(prod) {
|
|
|
- if (prod && prod.id) uni.navigateTo({ url: '/pages/discover-detail/product-detail/product-detail?id=' + prod.id })
|
|
|
- },
|
|
|
- goMoreProducts: function() {
|
|
|
- uni.navigateTo({ url: '/pages/shop/index' })
|
|
|
- },
|
|
|
goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
|
|
|
goFamilyMembers: function() {
|
|
|
uni.navigateTo({ url: '/pages/profile-extra/family-members' })
|