mh-two-thousand-and-two
2024-04-12 3d2ec2fd0578d3ba0a414b0cc4e4a2ae60878596
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
import {
  parseQuery
} from 'uni-shared'
const extend = Object.assign
 
function createLaunchOptions () {
  return {
    path: '',
    query: {},
    scene: 1001,
    referrerInfo: {
      appId: '',
      extraData: {}
    }
  }
}
 
const enterOptions = createLaunchOptions()
const launchOptions = createLaunchOptions()
 
export function getLaunchOptions () {
  return launchOptions
}
 
export function getEnterOptions () {
  return enterOptions
}
 
export function initEnterOptions ({
  path,
  query,
  referrerInfo
}) {
  extend(enterOptions, {
    path,
    query: query ? parseQuery(query) : {},
    referrerInfo: referrerInfo || {}
  })
}
 
export function initLaunchOptions ({
  path,
  query,
  referrerInfo
}) {
  extend(launchOptions, {
    path,
    query: query ? parseQuery(query) : {},
    referrerInfo: referrerInfo || {},
    channel: plus.runtime.channel,
    launcher: plus.runtime.launcher
  })
  extend(enterOptions, launchOptions)
  return launchOptions
}
 
export function parseRedirectInfo () {
  const weexPlus = weex.requireModule('plus')
  if (weexPlus.getRedirectInfo) {
    const {
      path,
      query,
      extraData,
      userAction,
      fromAppid
    } =
      weexPlus.getRedirectInfo() || {}
    const referrerInfo = {
      appId: fromAppid,
      extraData: {}
    }
    if (extraData) {
      referrerInfo.extraData = extraData
    }
    return {
      path: path || '',
      query: query ? '?' + query : '',
      referrerInfo,
      userAction
    }
  }
}