# H5 应用 API
# 通用 API
# onAppShow
ft.onAppShow(function callback)
监听应用切前台事件
参数
function callback
应用切前台事件的回调函数
示例代码
function show() {
console.log('on app show')
}
ft.onAppShow(show)
ft.offAppShow(show)
# onAppHide
ft.onAppHide(function callback)
监听应用切后台事件
参数
function callback
应用切后台事件的回调函数
示例代码
function hide() {
console.log('on app hide')
}
ft.onAppHide(hide)
ft.offAppHide(hide)
# offAppShow
ft.offAppShow(function callback)
取消监听应用切前台事件
参数
function callback
应用切前台事件的回调函数
# offAppHide
ft.offAppHide(function callback)
取消监听应用切后台事件
参数
function callback
应用切后台事件的回调函数
# navigateToMiniProgram
navigateToMiniProgram(Object object)
打开另一个小程序
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
appId | string | 是 | 要打开的小程序 appId | |
path | string | 否 | 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 App.onLaunch、App.onShow 和 Page.onLoad 的回调函数或小游戏的 ft.onShow 回调函数、ft.getLaunchOptionsSync 中可以获取到 query 数据。 | |
extraData | Object | 否 | 需要传递给目标小程序的数据,目标小程序可在 App.onLaunch,App.onShow 中获取到这份数据。如果跳转的是小游戏,可以在 ft.onShow、ft.getLaunchOptionsSync 中可以获取到这份数据数据。 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行 |
示例
ft.navigateToMiniProgram({
appId: '',
path: 'page/index/index?id=123',
extraData: {
foo: 'bar'
},
success(res) {
// 打开成功
}
})
# navigateToWechatMiniProgram
navigateToWechatMiniProgram(Object object)
跳转打开微信小程序
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
originId | string | 是 | 原始 ID | |
path | string | 否 | 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 App.onLaunch、App.onShow 和 Page.onLoad 的回调函数或小游戏的 ft.onShow 回调函数、ft.getLaunchOptionsSync 中可以获取到 query 数据。 | |
envVersion | String | release | 否 | 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行 |
object.envVersion 的合法值
值 | 说明 | 最低版本 |
---|---|---|
develop | 开发版 | |
trial | 体验版 | |
release | 正式版 |
示例
ft.navigateToWechatMiniProgram({
originId: '',
path: 'page/index/index?id=123'
})
# 自定义 API
# loadExtApi
loadExtApi(Object object)
加载自定义 API 配置,与 FinClipConf.js 的配置等效。
SDK 端配置文档参考:
iOS 自定义 API 配置文档 (opens new window)
Android 自定义 API 配置文档 (opens new window)
参数
单个 API 项目的参数如下
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 是 | 自定义 API 名称 |
sync | boolean | 否 | 是否为同步 API |
params | object | 否 | 参数格式,可以只列必须的属性,如无限制,可直接使用空对象 |
示例代码
ft.loadExtApi([
{
name: 'finclipLogin',
sync: false,
params: {
url: ''
}
},
{
name: 'finclipTestSync',
sync: true,
params: {
name:'',
title:''
}
}
])
// 异步调用示例
ft.finclipLogin({
url: 'some url'
success: (res) => { console.log(res) },
fail: (res) => { console.log(res) },
})
// 同步调用示例
const res = ft.finclipTestSync({ name: '', title: ''})
console.log(res)
# 网络
# request
request(Object object)
利用原生Api发起HTTP网络请求,执行后返回 RequestTask 对象。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
url | string | 是 | 开发者服务器接口地址 | |
data | string/object/ArrayBuffer | 否 | 请求的参数 | |
header | Object | 否 | 设置请求的 header,header 中不能设置 Referer。content-type 默认为 application/json | |
method | string | GET | 否 | HTTP 请求方法 |
timeout | number | 否 | 超时时间,单位为毫秒 | |
dataType | string | json | 否 | 返回的数据格式 |
responseType | string | text | 否 | 响应的数据类型 |
forceCellularNetwork | boolean | false | 否 | wifi下使用移动网络发送请求(仅安卓支持) |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.method 的合法值
值 | 说明 |
---|---|
OPTIONS | HTTP 请求 OPTIONS |
GET | HTTP 请求 GET |
HEAD | HTTP 请求 HEAD |
POST | HTTP 请求 POST |
PUT | HTTP 请求 PUT |
DELETE | HTTP 请求 DELETE |
TRACE | HTTP 请求 TRACE |
CONNECT | HTTP 请求 CONNECT |
object.dataType 的合法值
值 | 说明 |
---|---|
json | 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse |
其他 | 不对返回的内容进行 JSON.parse |
object.responseType 的合法值
值 | 说明 |
---|---|
text | 响应的数据为文本 |
arraybuffer | 响应的数据为 ArrayBuffer |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
data | string/object/ArrayBuffer | 开发者服务器返回的数据 |
statusCode | number | 开发者服务器返回的 HTTP 状态码 |
header | Object | 开发者服务器返回的 HTTP Response Header |
示例代码
ft.request({
url: 'test.php', // 仅为示例,并非真实的接口地址
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默认值
},
success(res) {
console.log(res.data)
}
})
# RequestTask.abort
基础库2.4.2开始支持,iOS版本2.13.59,Android版本2.13.34
RequestTask.abort()
中断请求任务
示例代码
const task = ft.request({
// some params
})
// 中断请求
task.abort()
# RequestTask.onHeadersReceived
基础库2.4.2开始支持,iOS版本2.13.59,Android版本2.13.34
RequestTask.onHeadersReceived(function callback)
监听 HTTP Response Header 事件,会比请求完成事件更早。
参数
function callback
Header Received 事件的回调函数
回调函数参数
Object res
属性 | 类型 | 说明 |
---|---|---|
header | Object | 开发者服务器返回的 HTTP Response Header |
# RequestTask.offHeadersReceived
基础库2.4.2开始支持,iOS版本2.13.59,Android版本2.13.34
RequestTask.offHeadersReceived(function callback)
取消监听 HTTP Response Header 事件。
参数
function callback
Header Received 事件的回调函数
# 数据缓存
# setStorageSync
setStorageSync(string key, any data)
ft.setStorage 的同步版本
参数
string key
本地缓存中指定的 key
any data
需要存储的内容。只支持原生类型、Date、及能够通过 JSON.stringify 序列化的对象。
示例代码
ft.setStorage({
key: 'key',
data: 'value'
})
try {
ft.setStorageSync('key', 'value')
} catch (e) { }
# setStorage
setStorage(Object object)
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容。数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用。所有数据存储上限为 10MB。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
key | string | 是 | 本地缓存中指定的 key | |
data | any | 是 | 需要存储的内容。只支持原生类型、Date、及能够通过 JSON.stringify 序列化的对象。 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
ft.setStorage({
key: 'key',
data: 'value'
})
try {
ft.setStorageSync('key', 'value')
} catch (e) { }
# removeStorageSync
removeStorageSync(string key)
ft.removeStorage 的同步版本
参数
string key
本地缓存中指定的 key
示例代码
ft.removeStorage({
key: 'key',
success(res) {
console.log(res)
}
})
try {
ft.removeStorageSync('key')
} catch (e) {
// Do something when catch error
}
# removeStorage
removeStorage(Object object)
从本地缓存中异步移除指定 key 对应的内容
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
key | string | 是 | 本地缓存中指定的 key | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
ft.removeStorage({
key: 'key',
success(res) {
console.log(res)
}
})
try {
ft.removeStorageSync('key')
} catch (e) {
// Do something when catch error
}
# getStorageSync
getStorageSync(string key)
ft.getStorage 的同步版本
参数
string key
本地缓存中指定的 key
返回值
any
key 对应的本地存储内容
示例代码
ft.getStorage({
key: 'key',
success(res) {
console.log(res.data)
}
})
try {
const value = ft.getStorageSync('key')
if (value) {
// Do something with return value
}
} catch (e) {
// Do something when catch error
}
# getStorageInfoSync
getStorageInfoSync(Object object)
ft.getStorageInfo 的同步版本
返回值
Object object
属性 | 类型 | 说明 |
---|---|---|
keys | Array.<string> | 当前 storage 中所有的 key |
currentSize | number | 当前占用的空间大小, 单位 KB |
limitSize | number | 限制的空间大小,单位 KB |
示例代码
ft.getStorageInfoSync({
success(res) {
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
}
})
try {
const res = ft.getStorageInfoSync()
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
} catch (e) {
// Do something when catch error
}
# getStorageInfo
getStorageInfo(Object object)
获取当前storage的相关信息。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
keys | Array.<string> | 当前 storage 中所有的 key |
currentSize | number | 当前占用的空间大小, 单位 KB |
limitSize | number | 限制的空间大小,单位 KB |
示例代码
ft.getStorageInfo({
success(res) {
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
}
})
try {
const res = ft.getStorageInfoSync()
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
} catch (e) {
// Do something when catch error
}
# getStorage
getStorage(Object object)
从本地缓存中获取指定key对应的内容。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
key | string | 是 | 本地缓存中指定的 key | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
data | any | key对应的内容 |
示例代码
ft.getStorage({
key: 'key',
success(res) {
console.log(res.data)
}
})
try {
const value = ft.getStorageSync('key')
if (value) {
// Do something with return value
}
} catch (e) {
// Do something when catch error
}
# clearStorageSync
clearStorageSync(Object object)
ft.clearStorage 的同步版本
示例代码
ft.clearStorage()
try {
ft.clearStorageSync()
} catch (e) {
// Do something when catch error
}
# clearStorage
clearStorage(Object object)
清理本地数据缓存
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
ft.clearStorage()
try {
ft.clearStorageSync()
} catch (e) {
// Do something when catch error
}
# 通讯 API
# onCustomEvent
onCustomEvent(callback)
监听原生发送的 "onCustomEvent" 事件。
示例代码
const callback = (res) => {
console.log(res) // 获取原生传递的参数
}
ft.onCustomEvent(callback)
# offCustomEvent
offCustomEvent(callback)
取消监听onCustomEvent事件。当 callback 为空时,清除所有 callback
示例代码
const callback = (res) => {}
ft.onCustomEvent(callback)
// 清除指定 callback
ft.offCustomEvent(callback)
// 清除所有 callback
ft.offCustomEvent()
# addCustomEventListener
addCustomEventListener(eventName, callback)
本事件是基于 onCustomEvent 的封装,可有效减少 onCustomEvent 内的模板代码
注意 使用本事件时,若要正常触发,SDK 调用事件时,数据体必须要有 name 字段,标明触发的是哪个 eventName
例如:
{
name: 'someMethod', // 必需字段
data: {
a: 'data-1',
b: 'data-2',
c: 1001
},
errMsg: 'some error msg'
}
整体数据会透传给 callback
示例代码
const callback = (res) => {
console.log(res) // 获取原生传递的参数
}
ft.addCustomEventListener('someMethod', callback)
# removeCustomEventListener
removeCustomEventListener(eventName, callback)
移除 addCustomEventListener 的监听
示例代码
const callback = (res) => {
console.log(res) // 获取原生传递的参数
}
ft.removeCustomEventListener('someMethod', callback)