# 其他
# 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)
# sendWebviewEvent
ft.sendWebviewEvent(Object object, Object pageInstance)
小程序发送事件给 H5,pageInstance 表示当前的 webview 的页面的 this 实例
示例代码
ft.sendWebviewEvent({ data: '456' }) // 往当前页面的 webview 发送数据
ft.sendWebviewEvent({ data: '456' }, getCurrentPages()[0]) // 对应页面的 webview 发送数据
# reportEvent
事件上报
ft.reportEvent(string eventId, object data)
参数
属性 | 类型 | 说明 |
---|---|---|
eventId | string | 设置的唯一的事件名称 |
data | object | 可被 JSON.stringify 的对象,将一起上报至系统 |
# loadExtApi
loadExtApi(Object object)
加载自定义 API 配置,与 FinClipConf.js 的配置等效。
SDK 端配置文档参考:
iOS 自定义 API 配置文档 (opens new window)
Android 自定义 API 配置文档 (opens new window)
配置自定义 API 的方法有两种:
1.通过根目录创建 FinClipConf.js
文件
2.通过 ft.loadExtApi API
两者使用的参数一致
参数
单个 API 项目的参数如下
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 是 | 自定义 API 名称 |
sync | boolean | 否 | 是否为同步 API |
params | object | 否 | 参数格式,可以只列必须的属性,如无限制,可直接使用空对象 |
示例代码
// FinClipConf.js
module.exports = {
extApi:[
{
name: 'finclipLogin',
sync: false,
params: {
url: ''
}
}
]
}
示例代码
// loadExtApi 和 FinClipConf.js 参数一致
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)