Browse Source

fix(miniapp): 统一商城首页路径并修复 switchTab 非 TabBar 跳转

- 14 处 /pages/shop/index 修正为 /pages/shop/index/index,1 处 /pages/shop/detail 修正为 /pages/shop/detail/detail,商城入口统一
- tasks/rewards/home-pages/teacher 等非 TabBar 页面改用 navigateTo,修复 switchTab 无法跳转分包页的问题
- user-edit 登录后角色分流、家长/孩子端任务/奖励入口同步修复
asus 1 month ago
parent
commit
e4fcc1c0a3

+ 2 - 2
cfc-frontend/pages/action-detail/member-action-detail.vue

@@ -208,9 +208,9 @@ export default {
       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' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goBack: function() { uni.navigateBack() }
   }
 }

+ 2 - 2
cfc-frontend/pages/action/index.vue

@@ -466,7 +466,7 @@ export default {
       uni.navigateTo({ url: '/pages/discover-detail/product-detail/product-detail?id=' + prod.id })
     },
     goMoreProducts: function() {
-      uni.navigateTo({ url: '/pages/shop/index' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
     onFuncClick: function(item) {
       if (item.needLogin && !this.isLoggedIn) {
@@ -486,7 +486,7 @@ export default {
         }
       }
     },
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goMemberDetail: function(member) {
       if (!member || !member.memberId) return
       uni.navigateTo({

+ 2 - 2
cfc-frontend/pages/action/member-action-detail.vue

@@ -208,9 +208,9 @@ export default {
       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' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goBack: function() { uni.navigateBack() }
   }
 }

+ 1 - 1
cfc-frontend/pages/body-detail/dimension-detail.vue

@@ -325,7 +325,7 @@ export default {
     },
     goProduct: function(product) {
       if (product && product.id) {
-        uni.navigateTo({ url: '/pages/shop/detail?id=' + product.id })
+        uni.navigateTo({ url: '/pages/shop/detail/detail?id=' + product.id })
       }
     },
     getImageUrl: function(path) {

+ 2 - 2
cfc-frontend/pages/body-detail/member-body-detail.vue

@@ -208,9 +208,9 @@ export default {
       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' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goBack: function() { uni.navigateBack() }
   }
 }

+ 2 - 2
cfc-frontend/pages/body/index.vue

@@ -299,7 +299,7 @@ export default {
       uni.navigateTo({ url: '/pages/discover-detail/product-detail/product-detail?id=' + prod.id })
     },
     goMoreProducts: function() {
-      uni.navigateTo({ url: '/pages/shop/index' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
     loadHealthDimensions: function() {
       var memberId = this.activeChildId || (this.userInfo && this.userInfo.userId)
@@ -440,7 +440,7 @@ export default {
     goMoreArticles: function() {
       uni.navigateTo({ url: '/pages/article-center/index?dimension=body' })
     },
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goFamilyMembers: function() {
       uni.navigateTo({ url: '/pages/profile/family-members' })
     },

+ 2 - 2
cfc-frontend/pages/body/member-body-detail.vue

@@ -208,9 +208,9 @@ export default {
       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' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goBack: function() { uni.navigateBack() }
   }
 }

+ 1 - 1
cfc-frontend/pages/discover/index.vue

@@ -197,7 +197,7 @@ export default {
       this.loadProducts()
     },
     goShop() {
-      uni.navigateTo({ url: '/pages/shop/index' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
     goDetail(id) {
       uni.navigateTo({ url: '/pages/shop/detail/detail?id=' + id })

+ 1 - 1
cfc-frontend/pages/guide/bind/invite.vue

@@ -207,7 +207,7 @@ export default {
       return `${d.getMonth() + 1}-${d.getDate()}`
     },
     goHome() {
-      uni.switchTab({ url: '/pages/home-pages/parent-index' })
+      uni.navigateTo({ url: '/pages/home-pages/parent-index' })
     }
   }
 }

+ 3 - 3
cfc-frontend/pages/home-pages/child-index.vue

@@ -653,11 +653,11 @@ export default {
     },
     goToRewards() {
       this.$emit('navigate', { page: 'rewards' })
-      uni.switchTab({ url: '/pages/rewards/rewards' })
+      uni.navigateTo({ url: '/pages/rewards/rewards' })
     },
     goToTasks() {
       this.$emit('navigate', { page: 'tasks' })
-      uni.switchTab({ url: '/pages/tasks/tasks' })
+      uni.navigateTo({ url: '/pages/tasks/tasks' })
     },
     goToGrowth() {
       this.$emit('navigate', { page: 'growth' })
@@ -719,7 +719,7 @@ export default {
       }
     },
     goMoreDiscover: function() {
-      uni.switchTab({ url: '/pages/discover/index' })
+      uni.navigateTo({ url: '/pages/discover/index' })
     },
 
     // ======================== 任务交互 ========================

+ 1 - 1
cfc-frontend/pages/home-pages/member-home-detail.vue

@@ -206,7 +206,7 @@ export default {
       self.loading = false
     },
     goTasks: function() {
-      uni.switchTab({ url: '/pages/tasks/tasks' })
+      uni.navigateTo({ url: '/pages/tasks/tasks' })
     },
     goBack: function() {
       uni.navigateBack()

+ 4 - 4
cfc-frontend/pages/home-pages/parent-index.vue

@@ -967,8 +967,8 @@ export default {
     goToReview() { uni.navigateTo({ url: '/pages/tasks/review' }) },
     goToWishApprove() { uni.navigateTo({ url: '/pages/wishes/approve' }) },
     goToAssessmentReport() { uni.navigateTo({ url: '/pages/assessment/report' }) },
-    goToActivities() { uni.switchTab({ url: '/pages/discover/index' }) },
-    goToRewards() { uni.switchTab({ url: '/pages/rewards/rewards' }) },
+    goToActivities() { uni.navigateTo({ url: '/pages/activity/index' }) },
+    goToRewards() { uni.navigateTo({ url: '/pages/rewards/rewards' }) },
     onFeedItemClick(item) {
       if (item.type === 'product') {
         uni.navigateTo({ url: '/pages/discover-detail/product-detail/product-detail?id=' + item.id })
@@ -977,7 +977,7 @@ export default {
       }
     },
     goMoreDiscover() {
-      uni.switchTab({ url: '/pages/discover/index' })
+      uni.navigateTo({ url: '/pages/discover/index' })
     },
     loadRecommendedActivities() {
       var self = this
@@ -999,7 +999,7 @@ export default {
         self.errorProducts = true
       })
     },
-    goToTaskList() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goToTaskList() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     manageChildren() { uni.navigateTo({ url: '/pages/profile-extra/family-members' }) },
 
     loadContacts: function() {

+ 2 - 2
cfc-frontend/pages/index-home/index.vue

@@ -442,7 +442,7 @@ export default {
       funcList: [
         { icon: '\u{1F3CB}', label: '任务', needLogin: true, page: '/pages/tasks/tasks' },
         { icon: '\u{1F3C0}', label: '活动', needLogin: false, page: '/pages/discover/index?type=activity' },
-        { icon: '\u{1F6CD}', label: '商城', needLogin: false, page: '/pages/discover/index?type=product' },
+        { icon: '\u{1F6CD}', label: '商城', needLogin: false, page: '/pages/shop/index/index' },
         { icon: '\u{1F3EB}', label: '课程', needLogin: false, page: '/pages/discover/index?type=course' }
       ],
       loggedInInitDone: false
@@ -763,7 +763,7 @@ export default {
       uni.navigateTo({ url: '/pages/tasks/tasks' })
     },
     goTasks: function() {
-      uni.switchTab({ url: '/pages/tasks/tasks' })
+      uni.navigateTo({ url: '/pages/tasks/tasks' })
     },
     goActivityDetail: function(act) {
       if (!act || !act.id) return

+ 2 - 2
cfc-frontend/pages/member-detail/member-detail.vue

@@ -372,10 +372,10 @@ export default {
       }
     },
     goMoreDiscover: function() {
-      uni.switchTab({ url: '/pages/discover/index' })
+      uni.navigateTo({ url: '/pages/discover/index' })
     },
     goTasks: function() {
-      uni.switchTab({ url: '/pages/tasks/tasks' })
+      uni.navigateTo({ url: '/pages/tasks/tasks' })
     },
     goBack: function() {
       uni.navigateBack()

+ 2 - 2
cfc-frontend/pages/mind-detail/member-mind-detail.vue

@@ -208,9 +208,9 @@ export default {
       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' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goBack: function() { uni.navigateBack() }
   }
 }

+ 2 - 2
cfc-frontend/pages/mind/index.vue

@@ -754,7 +754,7 @@ components: { TabTransition, PageBanner, RadarChart, LoginGuideCard, FamilyEnerg
       uni.navigateTo({ url: '/pages/discover-detail/product-detail/product-detail?id=' + prod.id })
     },
     goMoreProducts: function() {
-      uni.navigateTo({ url: '/pages/shop/index' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
     // ===== 孩子列表与维度数据 =====
     loadChildren: function() {
@@ -896,7 +896,7 @@ components: { TabTransition, PageBanner, RadarChart, LoginGuideCard, FamilyEnerg
     goMoreActivities: function() {
       uni.navigateTo({ url: '/pages/activity/index' })
     },
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goFamilyMembers: function() {
       uni.navigateTo({ url: '/pages/profile-extra/family-members' })
     },

+ 2 - 2
cfc-frontend/pages/mind/member-mind-detail.vue

@@ -208,9 +208,9 @@ export default {
       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' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goBack: function() { uni.navigateBack() }
   }
 }

+ 3 - 3
cfc-frontend/pages/user-edit/user-edit.vue

@@ -650,11 +650,11 @@ export default {
 			}
 			const role = this.form.role || 'parent'
 			if (role === 'parent') {
-				uni.switchTab({ url: '/pages/home-pages/parent-index' })
+				uni.navigateTo({ url: '/pages/home-pages/parent-index' })
 			} else if (role === 'child') {
-				uni.switchTab({ url: '/pages/home-pages/child-index' })
+				uni.navigateTo({ url: '/pages/home-pages/child-index' })
 			} else if (role === 'teacher') {
-				uni.switchTab({ url: '/pages/teacher/index' })
+				uni.navigateTo({ url: '/pages/teacher/index' })
 			}
 		}
 	}

+ 1 - 1
cfc-frontend/pages/wealth/index.vue

@@ -316,7 +316,7 @@ export default {
       uni.navigateTo({ url: '/pages/discover-detail/product-detail/product-detail?id=' + prod.id })
     },
     goMoreProducts: function() {
-      uni.navigateTo({ url: '/pages/shop/index' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
     loadDimensionActivities: function() {
       var self = this

+ 2 - 2
cfc-frontend/pages/wisdom-detail/member-wisdom-detail.vue

@@ -139,7 +139,7 @@ export default {
       }).catch(function() {})
     },
     onTaskClick: function(task) {},
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goActivityDetail: function(id) {},
     goMoreActivities: function() {
       uni.navigateTo({ url: '/pages/activity/index' })
@@ -153,7 +153,7 @@ export default {
       }
     },
     goMoreProducts: function() {
-      uni.navigateTo({ url: '/pages/shop/index' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     }
   }
 }

+ 2 - 2
cfc-frontend/pages/wisdom/index.vue

@@ -248,7 +248,7 @@ export default {
       uni.navigateTo({ url: '/pages/discover-detail/product-detail/product-detail?id=' + prod.id })
     },
     goMoreProducts: function() {
-      uni.navigateTo({ url: '/pages/shop/index' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     },
     onFamilyMemberSelect: function(member) {
       this.selectedMemberId = member.id
@@ -395,7 +395,7 @@ export default {
       uni.navigateTo({ url: '/pages/assessment/apply' })
     },
     onTaskClick: function(task) {},
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goActivityDetail: function(act) {
       if (!act || !act.id) return
       uni.navigateTo({ url: '/pages/activity/activity-detail/activity-detail?id=' + act.id })

+ 2 - 2
cfc-frontend/pages/wisdom/member-wisdom-detail.vue

@@ -139,7 +139,7 @@ export default {
       }).catch(function() {})
     },
     onTaskClick: function(task) {},
-    goTasks: function() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goTasks: function() { uni.navigateTo({ url: '/pages/tasks/tasks' }) },
     goActivityDetail: function(id) {},
     goMoreActivities: function() {
       uni.navigateTo({ url: '/pages/activity/index' })
@@ -153,7 +153,7 @@ export default {
       }
     },
     goMoreProducts: function() {
-      uni.navigateTo({ url: '/pages/shop/index' })
+      uni.navigateTo({ url: '/pages/shop/index/index' })
     }
   }
 }