'f'
mh-two-thousand-and-two
2024-04-12 26f2711ef9461961fb953e2b497bd314ef95e345
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import {
  decode,
  encode
} from 'base64-arraybuffer'
 
export {
  pack,
  unpack,
  invoke
}
  from 'uni-core/service/bridge'
 
export function requireNativePlugin (name) {
  return uni.requireNativePlugin(name)
}
 
/**
 * 触发 service 层,与 onMethod 对应
 */
export function publish (name, ...args) {
  return UniServiceJSBridge.emit('api.' + name, ...args)
}
 
export let lastStatusBarStyle
 
let oldSetStatusBarStyle = plus.navigator.setStatusBarStyle
 
export function restoreOldSetStatusBarStyle (setStatusBarStyle) {
  oldSetStatusBarStyle = setStatusBarStyle
}
 
export function newSetStatusBarStyle (style) {
  lastStatusBarStyle = style
  oldSetStatusBarStyle(style)
}
 
plus.navigator.setStatusBarStyle = newSetStatusBarStyle
 
export function setStatusBarStyle (statusBarStyle) {
  if (!statusBarStyle) {
    const pages = getCurrentPages()
    if (!pages.length) {
      return
    }
    statusBarStyle = pages[pages.length - 1].$page.meta.statusBarStyle
    if (!statusBarStyle || statusBarStyle === lastStatusBarStyle) {
      return
    }
  }
  if (statusBarStyle === lastStatusBarStyle) {
    return
  }
  if (process.env.NODE_ENV !== 'production') {
    console.log('[uni-app] setStatusBarStyle', statusBarStyle)
  }
 
  lastStatusBarStyle = statusBarStyle
 
  plus.navigator.setStatusBarStyle(statusBarStyle)
}
 
export function isTabBarPage (path = '') {
  if (!(__uniConfig.tabBar && Array.isArray(__uniConfig.tabBar.list))) {
    return false
  }
  try {
    if (!path) {
      const pages = getCurrentPages()
      if (!pages.length) {
        return false
      }
      const page = pages[pages.length - 1]
      if (!page) {
        return false
      }
      return page.$page.meta.isTabBar
    }
    if (!/^\//.test(path)) {
      path = '/' + path
    }
    const route = __uniRoutes.find(route => route.path === path)
    return route && route.meta.isTabBar
  } catch (e) {
    if (process.env.NODE_ENV !== 'production') {
      console.log('getCurrentPages is not ready')
    }
  }
  return false
}
 
export function base64ToArrayBuffer (data) {
  return decode(data)
}
 
export function arrayBufferToBase64 (data) {
  return encode(data)
}