接口文档Interactor

Class: Interactor

命名空间engine

example

// 在组件内的使用方式

// 组件监听事件
this.bridge.on('engine', 'event', () => {});

// action为方法名
// param为action方法的参数
const param = { expression: 'v1=v1+1' };
this.bridge.invoke('engine', 'action', param);

Hierarchy

Index

Events

Methods

Events

Static interactInfoUpdate

interactInfoUpdate: string

description 互动信息更新事件

param ICfgNode

example

this.bridge.on('engine', 'interactInfoUpdate', (node: ICfgNode) => {});

Static videoNodeChange

videoNodeChange: string

description 视频切换事件

param IVideoInfo

example

this.bridge.on('engine', 'videoNodeChange', (videoInfo: IVideoInfo) => {});

Static videoPlay

videoPlay: string

description 视频播放事件

param IVideoInfo

example

this.bridge.on('engine', 'videoPlay', (videoInfo: IVideoInfo) => {});

Static videoTimeUpdate

videoTimeUpdate: string

description 视频播放事件更新事件

param 当前播放时间

example

this.bridge.on('engine', 'videoTimeUpdate', (time: number) => {});

Methods

action

action(action: IAction): Promise‹void›

通过action方法,执行配置的行为动作

example

const param = { expression: 'v1=v1+1' };
this.bridge.invoke('engine', 'action', param);

Parameters:

Name Type
action IAction

Returns: Promise‹void›


destroy

destroy(): void

销毁

Returns: void


fetch

fetch(params: any): Promise‹unknown›

组件使用网络请求

example

 // 在互动组件内
 const res = await this.bridge.invoke('engine', 'fetch', {
   method: 'post',
   url: 'https://api.weishi.qq.com/trpc...',
   data: {
     msg: '...',
   },
 });

Parameters:

Name Type Description
params any 如果 new InteractVideo({ ... fetchLib: axios }) 则参照 axios api

Returns: Promise‹unknown›


getMetaId

getMetaId(): string

获取剧id

example

const dramaId = await this.bridge.invoke('engine', 'getMetaId')

Returns: string


getPayState

getPayState(param: object): Promise‹any›

查询支付状态

example

const result = await this.bridge.invoke('engine', 'getPayState', {
  productId: '',
})

Parameters:

param: object

Name Type
isTest? boolean
productId string

Returns: Promise‹any›


getProductList

getProductList(param: object): Promise‹any›

拉取道具列表

example

const result = await this.bridge.invoke('engine', 'getProductList', {
  vid: '',
});

Parameters:

Default value param: object= {}

Name Type
isTest? boolean
vid? string

Returns: Promise‹any›


getRankList

getRankList(param: object): Promise‹any›

排行榜

example

const result = await this.bridge.invoke('engine', 'getRankList', {
  rankId: '',
  pageNum: 1,
  pageSize: 10,
})

Parameters:

param: object

Name Type
isTest? boolean
pageNum? number
pageSize? number
rankId string

Returns: Promise‹any›


getString

getString(keys: Array‹string›): Promise‹any›

读 Key-Value 存储

example

// 假设 Key 为 name 的存储,Value 为 iv
const name = await this.bridge.invoke('engine', 'getString', ['name']);
// name == 'iv'

Parameters:

Name Type Description
keys Array‹string› 需要获取的 Key 的列表

Returns: Promise‹any›


hideBackBtn

hideBackBtn(): void

隐藏直出页左上角的返回按钮

example

this.bridge.invoke('engine', 'hideBackBtn')

Returns: void


on

on(eventName: string, callback: function): void

description 事件监听

Parameters:

eventName: string

事件名

callback: function

回调函数

▸ (...args: any[]): void

Parameters:

Name Type
...args any[]

Returns: void


pay

pay(param: object): Promise‹IResult

单点支付

example

const result = await this.bridge.invoke('engine', 'pay', {
  productId: 'xx',
});

Parameters:

param: object

Name Type
isTest? boolean
productId string

Returns: Promise‹IResult


setString

setString(kv: object): Promise‹any›

写 Key-Value 存储

example

// 假设需要把 Key 为 name 的存储的 Value 设置为 iv1
const result = await this.bridge.invoke('engine', 'setString', {
  key: 'name',
  value: 'iv1'
});

Parameters:

kv: object

需要设置的 Key-Value 对象

Name Type
key string
value string

Returns: Promise‹any›


showBackBtn

showBackBtn(): void

显示直出页左上角的返回按钮

example

this.bridge.invoke('engine', 'showBackBtn')

Returns: void