Browse Source

fix: 修复孩子端导航返回逻辑及移除TabBar游戏入口

User 6 months ago
parent
commit
3026d506be

+ 0 - 4
zxyj-frontend/pages.json

@@ -184,10 +184,6 @@
         "pagePath": "pages/tasks/tasks",
         "text": "任务"
       },
-      {
-        "pagePath": "pages/games/list",
-        "text": "游戏"
-      },
       {
         "pagePath": "pages/rewards/rewards",
         "text": "心愿单"

+ 5 - 1
zxyj-frontend/pages/index/child-index.vue

@@ -252,7 +252,11 @@ export default {
       const date = new Date(dateStr)
       return `${date.getMonth() + 1}月${date.getDate()}日`
     },
-    goToTasks() { uni.switchTab({ url: '/pages/tasks/tasks' }) },
+    goToTasks() { 
+      // 从孩子端进入任务页,标记返回页面
+      uni.setStorageSync('lastVisitPage', '/pages/index/child-index')
+      uni.switchTab({ url: '/pages/tasks/tasks' })
+    },
     goToRewards() { uni.switchTab({ url: '/pages/rewards/rewards' }) },
     goToFocus() { uni.navigateTo({ url: '/pages/focus/focus' }) },
     showPointsHistory() { uni.showToast({ title: '积分明细功能开发中', icon: 'none' }) },

+ 13 - 0
zxyj-frontend/pages/index/parent-index.vue

@@ -96,6 +96,19 @@ export default {
     this.checkLogin()
   },
   onShow() {
+    // 检查是否应该显示孩子首页
+    const role = uni.getStorageSync('role')
+    const lastVisitPage = uni.getStorageSync('lastVisitPage')
+    const currentRole = uni.getStorageSync('currentRole')
+    
+    // 如果当前是孩子模式,且是从孩子端进入的任务页
+    if (role === 'child' && lastVisitPage === '/pages/index/child-index') {
+      // 清除标记并跳转到孩子首页
+      uni.removeStorageSync('lastVisitPage')
+      uni.reLaunch({ url: '/pages/index/child-index' })
+      return
+    }
+    
     if (uni.getStorageSync('token')) {
       this.loadData()
     }