import { onReady } from '@dcloudio/uni-app' import { getIsTabbar, getArrElementByIdx } from '@/utils/index' export default () => { // 获取页面栈 const pages = getCurrentPages() const isTabbar = getIsTabbar() // 页面滚动到底部时的操作,通常用于加载更多数据 const onScrollToLower = () => {} // 获取屏幕边界到安全区域距离 const { safeAreaInsets } = uni.getSystemInfoSync() // #ifdef MP-WEIXIN // 基于小程序的 Page 类型扩展 uni-app 的 Page type PageInstance = Page.PageInstance & WechatMiniprogram.Page.InstanceMethods // 获取当前页面实例,数组最后一项 const pageInstance = getArrElementByIdx(getCurrentPages(), -1) as PageInstance // 页面渲染完毕,绑定动画效果 onReady(() => { // 动画效果,导航栏背景色 pageInstance.animate( '.fly-navbar', [{ backgroundColor: 'transparent' }, { backgroundColor: '#f8f8f8' }], 1000, { scrollSource: '#scroller', timeRange: 1000, startScrollOffset: 0, endScrollOffset: 50, }, ) // 动画效果,导航栏标题 pageInstance.animate( '.fly-navbar .title', [{ color: 'transparent' }, { color: '#000' }], 1000, { scrollSource: '#scroller', timeRange: 1000, startScrollOffset: 0, endScrollOffset: 50, }, ) // 动画效果,导航栏返回按钮 pageInstance.animate('.fly-navbar .left-icon', [{ color: '#fff' }, { color: '#000' }], 1000, { scrollSource: '#scroller', timeRange: 1000, startScrollOffset: 0, endScrollOffset: 50, }) }) // #endif return { pages, isTabbar, onScrollToLower, safeAreaInsets, } }