FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 其他

# onCustomEvent

onCustomEvent(callback)

监听原生发送的 "onCustomEvent" 事件。

ios 调用方式

android 调用方式

harmony 调用方式

示例代码

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)
© FinClip with ❤ , Since 2017