util.js 1.1 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1
function callHook (vm, hook, params) {
fxy060608's avatar
fxy060608 已提交
2
  return vm.__call_hook(hook, params)
fxy060608's avatar
fxy060608 已提交
3 4
}

fxy060608's avatar
fxy060608 已提交
5
export function callAppHook (vm, hook, params) {
fxy060608's avatar
fxy060608 已提交
6
  if (hook !== 'onError') {
fxy060608's avatar
fxy060608 已提交
7
    console.debug(`App:${hook} have been invoked` + (params ? ` ${JSON.stringify(params)}` : ''))
fxy060608's avatar
fxy060608 已提交
8
  }
fxy060608's avatar
fxy060608 已提交
9
  return vm.__call_hook(hook, params)
fxy060608's avatar
fxy060608 已提交
10 11
}

fxy060608's avatar
fxy060608 已提交
12
export function callPageHook (vm, hook, params) {
fxy060608's avatar
fxy060608 已提交
13 14 15
  // hack 一下,H5 平台通知 View 层onShow,方便 View 层来切换 scroll 事件监听
  if (__PLATFORM__ === 'h5') {
    if (hook === 'onLoad') {
fxy060608's avatar
fxy060608 已提交
16
      vm.$mp.query = params
fxy060608's avatar
fxy060608 已提交
17 18
      UniServiceJSBridge.publishHandler('onPageLoad', vm, vm.$page.id)
    }
fxy060608's avatar
fxy060608 已提交
19 20 21 22 23 24
    if (hook === 'onShow') {
      if (
        vm.$route.meta.isTabBar &&
                vm.$route.params.detail
      ) {
        UniServiceJSBridge.emit('onTabItemTap', vm.$route.params.detail)
fxy060608's avatar
fxy060608 已提交
25
      }
fxy060608's avatar
fxy060608 已提交
26 27 28 29 30 31 32
      UniServiceJSBridge.publishHandler('onPageShow', vm, vm.$page.id)
    }
  }
  if (hook !== 'onPageScroll') {
    console.debug(`${vm.$page.route}[${vm.$page.id}]:${hook} have been invoked`)
  }
  return callHook(vm, hook, params)
fxy060608's avatar
fxy060608 已提交
33
}