|  |  | 
 |  |  |   icon: string; | 
 |  |  |   activeIcon: string; | 
 |  |  |   pagePath: string; | 
 |  |  |   currentPath: string; | 
 |  |  |   active: boolean; | 
 |  |  |   className: string; | 
 |  |  |   onClick?: (url: string, index: number) => any; | 
 |  |  | 
 |  |  |  | 
 |  |  | const TarBarItem = function (props: TarBarItemProps, context: SetupContext<TarBarItemEvents>) { | 
 |  |  |   const _badge = props.badge > 99 ? '99+' : props.badge; | 
 |  |  |   // const isActive = props.currentPath.toLowerCase().includes(props.pagePath.toLowerCase()); | 
 |  |  |   const isActive = props.active; | 
 |  |  |   return ( | 
 |  |  |     <div | 
 |  |  |       class={['bottom-tab-item', { active: props.active }, props.className]} | 
 |  |  |       class={['bottom-tab-item', { active: isActive }, props.className]} | 
 |  |  |       onClick={() => context.emit('click', props.pagePath, props.index)} | 
 |  |  |     > | 
 |  |  |       <div class="bottom-tab-item-icon-wrapper"> | 
 |  |  |         {props.badge > 0 && <div class="bottom-tab-item-badge">{_badge}</div>} | 
 |  |  |         <img class="bottom-tab-item-icon" src={props.active ? props.activeIcon : props.icon} /> | 
 |  |  |         <img class="bottom-tab-item-icon" src={isActive ? props.activeIcon : props.icon} /> | 
 |  |  |       </div> | 
 |  |  |       <div class="bottom-tab-item-text">{props.text}</div> | 
 |  |  |     </div> | 
 |  |  | 
 |  |  |     const isLogin = useIsLogin(); | 
 |  |  |  | 
 |  |  |     const loginTipShowed = ref(false); | 
 |  |  |     const isClicking = ref(false); | 
 |  |  |  | 
 |  |  |     const switchTab = (url: string, index: number) => { | 
 |  |  |       if (isClicking.value) return; | 
 |  |  |       if (!isLogin.value && whitePageList.every((x) => x !== url)) { | 
 |  |  |         if (!loginTipShowed.value) { | 
 |  |  |           loginTipShowed.value = true; | 
 |  |  | 
 |  |  |         } | 
 |  |  |         return; | 
 |  |  |       } | 
 |  |  |       system.setTabIndex(index); | 
 |  |  |       Taro.switchTab({ url }); | 
 |  |  |       isClicking.value = true; | 
 |  |  |       Taro.switchTab({ url }) | 
 |  |  |         .then(() => { | 
 |  |  |           system.setTabIndex(index); | 
 |  |  |         }) | 
 |  |  |         .finally(() => { | 
 |  |  |           isClicking.value = false; | 
 |  |  |         }); | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |     function goPublish() { | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     return () => { | 
 |  |  |       const _router = Taro.useRouter(); | 
 |  |  |       return ( | 
 |  |  |         <View | 
 |  |  |           class="bottom-tab" | 
 |  |  | 
 |  |  |             icon="../assets/tabbar/icon-home.png" | 
 |  |  |             activeIcon="../assets/tabbar/icon-home-active.png" | 
 |  |  |             pagePath={TabBarPageRouter.Home} | 
 |  |  |             currentPath={_router.path} | 
 |  |  |             index={0} | 
 |  |  |             active={system.activeTab === 0} | 
 |  |  |             className="home" | 
 |  |  | 
 |  |  |             icon="../assets/tabbar/icon-task.png" | 
 |  |  |             activeIcon="../assets/tabbar/icon-task-active.png" | 
 |  |  |             pagePath={TabBarPageRouter.Task} | 
 |  |  |             currentPath={_router.path} | 
 |  |  |             active={system.activeTab === 1} | 
 |  |  |             className="task" | 
 |  |  |             onClick={switchTab} | 
 |  |  | 
 |  |  |             icon="../assets/tabbar/icon-mine.png" | 
 |  |  |             activeIcon="../assets/tabbar/icon-mine-active.png" | 
 |  |  |             pagePath={TabBarPageRouter.Mine} | 
 |  |  |             currentPath={_router.path} | 
 |  |  |             active={system.activeTab === 2} | 
 |  |  |             className="mine" | 
 |  |  |             onClick={switchTab} |