restore-global.js 961 字节
Newer Older
1 2
import {
  newSetStatusBarStyle
fxy060608's avatar
fxy060608 已提交
3 4
} from '../../bridge'

fxy060608's avatar
fxy060608 已提交
5
export function restoreGlobal (
fxy060608's avatar
fxy060608 已提交
6
  newWeex,
fxy060608's avatar
fxy060608 已提交
7 8 9 10 11 12 13 14 15 16 17 18 19 20
  newPlus,
  newSetTimeout,
  newClearTimeout,
  newSetInterval,
  newClearInterval
) {
  // 确保部分全局变量 是 app-service 中的
  // 若首页 nvue 初始化比 app-service 快,导致框架处于该 nvue 环境下
  // plus 如果不用 app-service,资源路径会出问题
  // 若首页 nvue 被销毁,如 redirectTo 或 reLaunch,则这些全局功能会损坏
  if (plus !== newPlus) {
    if (process.env.NODE_ENV !== 'production') {
      console.log(`[restoreGlobal][${Date.now()}]`)
    }
fxy060608's avatar
fxy060608 已提交
21
    weex = newWeex
fxy060608's avatar
fxy060608 已提交
22
    plus = newPlus
23
    plus.navigator.setStatusBarStyle = newSetStatusBarStyle
fxy060608's avatar
fxy060608 已提交
24 25 26 27 28 29
    /* eslint-disable no-global-assign */
    setTimeout = newSetTimeout
    clearTimeout = newClearTimeout
    setInterval = newSetInterval
    clearInterval = newClearInterval
  }
fxy060608's avatar
fxy060608 已提交
30
  __uniConfig.serviceReady = true
fxy060608's avatar
fxy060608 已提交
31
}