liujie
昨天 384bce80449b17651937429038c4370dbce60e7b
hugray-user-miniapp/App.vue
@@ -1,15 +1,37 @@
<script>
   export default {
      onLaunch: function() {
         console.log('App Launch')
      },
      onShow: function() {
         console.log('App Show')
      },
      onHide: function() {
         console.log('App Hide')
// 个人中心 tab 在 pages.json → tabBar.list 中的索引(0 起)
const PROFILE_TAB_INDEX = 3
// TODO: 后端「个人中心待处理/未读数量」接口就绪后替换为真实请求
const MOCK_PROFILE_BADGE_COUNT = 1
export default {
   onLaunch: function() {
      console.log('App Launch')
   },
   onShow: function() {
      console.log('App Show')
      this._syncTabBarBadge()
   },
   onHide: function() {
      console.log('App Hide')
   },
   methods: {
      // 同步个人中心 tab 原生角标(原生 tabBar 无法用 CSS 实现角标)
      _syncTabBarBadge() {
         if (MOCK_PROFILE_BADGE_COUNT > 0) {
            uni.setTabBarBadge({
               index: PROFILE_TAB_INDEX,
               text: String(MOCK_PROFILE_BADGE_COUNT),
               fail: (err) => {
                  console.error('[TABBAR_BADGE] set failed', err)
               }
            })
         } else {
            uni.removeTabBarBadge({ index: PROFILE_TAB_INDEX })
         }
      }
   }
}
</script>
<style>