技术发展历程

记录Lucifer的学习历程

0%

GooseSDK Context模块

GooseSDK Context模块

1. PushWindow

打开新页面

  • 输入参数
参数 类型 是否必输 说明
url string 页面URL,可以是离线包内页面,也可以是在线页面的地址
param Object 相关参数
param.closeCurrentWindow boolean 打开新窗口时,是否关闭当前窗口,默认false
param.isShowTitleBar boolean 新窗口是否展示默认标题栏,默认false
passData Object 传递的参数
  • 输出参数

  • 打开外部链接示例–H5
1
2
3
4
5
6
7
8
9
10
11
12
13

window.GooseSDK.context.pushWindow({
url: 'https://www.taobao.com/'
})

window.GooseSDK.context.pushWindow({
url: 'https://www.baidu.com/'
})

window.GooseSDK.context.pushWindow({
url: 'https://www.youku.com/'
})

  • 打开外部链接示例–React Native
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

import GooseSDK from 'goose-sdk'

GooseSDK.context.pushWindow({
url: 'https://www.taobao.com/'
})

GooseSDK.context.pushWindow({
url: 'https://www.baidu.com/'
})

GooseSDK.context.pushWindow({
url: 'https://www.youku.com/'
})

  • 打开当前离线包其他页面并传递参数–H5
1
2
3
4
5
6
7
8
9
10
11
12
13

import GooseSDK from 'goose-sdk'

let options = {
url: 'index_demo2.html',
passData: {
key1: '传参1',
key2: '传参2'
}
}

window.GooseSDK.context.pushWindow(options)

  • 打开当前离线包其他页面并传递参数–React Native
1
2
3
4
5
6
7
8
9
10
11

let options = {
url: 'index_demo2.html',
passData: {
key1: '传参1',
key2: '传参2'
}
}

GooseSDK.context.pushWindow(options)

2. StartH5App

打开新的离线包

  • 输入参数
参数 类型 是否必输 说明
appId string 当前离线包的appid
param Object 目标页面传参(url除外)
param.url String 需打开离线包页面的url
closeCurrentApp boolean 是否跳转关闭当前离线包。默认false
isShowTitleBar Object 是否显示标题栏
  • 输出参数

  • 打开离线包–H5
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

// 打开离线包
let options = {
appId:'00010002',
param: {
url: '/www/index.html',
}
}
window.GooseSDK.context.startH5App(options)

// 打开离线包并传递参数
let options = {
appId:'00010002',
param: {
url: '/www/index.html',
key1: '传参1',
key2: '传参2'
}
}
window.GooseSDK.context.startH5App(options)

// 打开新的离线包设置是否显示标题栏并关闭当前离线包
let options = {
appId:'00010002',
param: {
url: '/www/index.html',
},
closeCurrentApp: true,
isShowTitleBar: true
}
window.GooseSDK.context.startH5App(options)

  • 打开离线包–React Native
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

import GooseSDK from 'goose-sdk'


// 打开离线包
let options = {
appId:'00010002',
param: {
url: '/www/index.html',
}
}
GooseSDK.context.startH5App(options)

// 打开离线包并传递参数
let options = {
appId:'00010002',
param: {
url: '/www/index.html',
key1: '传参1',
key2: '传参2'
}
}
GooseSDK.context.startH5App(options)

// 打开新的离线包设置是否显示标题栏并关闭当前离线包
let options = {
appId:'00010002',
param: {
url: '/www/index.html',
},
closeCurrentApp: true,
isShowTitleBar: true
}
GooseSDK.context.startH5App(options)

3. GetStartupParams

获取启动参数

  • 输入参数
参数 类型 是否必输 说明
params Object 目标页面传参(url除外)
param.key Array 需要提取的参数key值(上一个页面或者离线包传递的key)
  • 输出参数
参数 类型 是否必输 说明
result Object 提取的所有参数
  • 获取启动参数–H5
1
2
3
4
5
6
7
8
9
10
11

let params = {
key: ['id', 'name'],
}
window.GooseSDK.tools.getStartupParams(params, res => {
if (res) {
console.log(res.id)
console.log(res.name)
}
})

  • 获取启动参数–React Native
1
2
3
4
5
6
7
8
9
10
11
12
13

import GooseSDK from 'goose-sdk'

let params = {
key: ['id', 'name'],
}
GooseSDK.tools.getStartupParams(params , res => {
if (res) {
console.log(res.id)
console.log(res.name)
}
})

4. PopWindow

回退上一页面

  • 输入参数
参数 类型 是否必输 说明
data Object 退回到目标页传参 获取参数使用resume接口获取
  • 输出参数

  • 回退上一页面–H5
1
2
3
4
5

let params = { name: 'agree', age: '2' }

window.GooseSDK.context.popWindow({ data: params });

  • 回退上一页面–React Native
1
2
3
4
5
6
7

import GooseSDK from 'goose-sdk'

let params = { name: 'agree', age: '2' }

GooseSDK.context.popWindow({ data: params });

5. PopTo

回退N层或者回退到指定页面

  • 输入参数
参数 类型 是否必输 说明
index Number 目标界面在会话界面栈中的索引;如果小于零,则将与当前界面的 index 相加
urlPattern Number 目标界面在会话界面栈中的索引;如果小于零,则将与当前界面的 index 相加
index Number 目标界面在会话界面栈中的索引;如果小于零,则将与当前界面的 index 相加
  • 输出参数

  • 回退N层或者回退到指定页面–H5
1
2
3
4
5
6
7
8
9

// 返回N层并传递参数
let params = { name: 'agree', pageName: 'index.html' }

window.GooseSDK.context.popTo({ index: -5, data: params })

// 返回到某个页面
window.GooseSDK.context.popTo({ urlPattern: 'index_index.html' })

  • 回退N层或者回退到指定页面–React Native
1
2
3
4
5
6
7
8
9
10
11

import GooseSDK from 'goose-sdk'

// 返回N层并传递参数
let params = { name: 'agree', pageName: 'index.html' }

GooseSDK.context.popTo({ index: -5, data: params })

// 返回到某个页面
GooseSDK.context.popTo({ urlPattern: 'index_index.html' })

6. popToRoot

退回APP首页

  • 输入参数

  • 输出参数

  • 退回APP首页–H5
1
2
3

window.GooseSDK.context.popToRoot()

  • 退回APP首页–React Native
1
2
3
4
5

import GooseSDK from 'goose-sdk'

GooseSDK.context.popToRoot()

7. exitApp

退出当前离线包

  • 输入参数

  • 输出参数

  • 退出当前离线包–H5
1
2
3

window.GooseSDK.context.exitApp()

  • 退出当前离线包–React Native
1
2
3
4
5

import GooseSDK from 'goose-sdk'

GooseSDK.context.exitApp()