'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
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
import {
  ANI_SHOW,
  ANI_DURATION
} from '../../constants'
 
import {
  navigateFinish
} from '../../framework/navigator'
 
export function closeWebview (webview, animationType, animationDuration) {
  webview[webview.__preload__ ? 'hide' : 'close'](animationType, animationDuration)
}
 
export function showWebview (webview, animationType, animationDuration, showCallback, delay) {
  if (typeof delay === 'undefined') {
    delay = webview.nvue ? 0 : 100
  }
 
  if (typeof animationDuration === 'undefined') {
    animationDuration = ANI_DURATION
  } else {
    animationDuration = parseInt(animationDuration)
  }
 
  if (process.env.NODE_ENV !== 'production') {
    console.log(`[show][${Date.now()}]`, delay)
  }
  const duration = animationDuration || ANI_DURATION
  setTimeout(() => {
    const execShowCallback = function () {
      if (execShowCallback._called) {
        if (process.env.NODE_ENV !== 'production') {
          console.log('execShowCallback.prevent')
        }
        return
      }
      execShowCallback._called = true
      showCallback && showCallback()
      navigateFinish(webview)
    }
    const timer = setTimeout(() => {
      if (process.env.NODE_ENV !== 'production') {
        console.log(`[show.callback.timer][${Date.now()}]`)
      }
      execShowCallback()
    }, duration + 150)
    webview.show(
      animationType || ANI_SHOW,
      duration,
      () => {
        if (process.env.NODE_ENV !== 'production') {
          console.log(`[show.callback][${Date.now()}]`)
        }
        if (!execShowCallback._called) {
          clearTimeout(timer)
        }
        execShowCallback()
      }
    )
  }, delay)
}