JS功能扩展

JSBridge为MYKEY应用中心内嵌的浏览器环境中默认支持的JS注入库,其支持Scatter协议,也支持web3协议。

为了方便控制MYKEY应用中心浏览器,MYKEY还增加了以下方法:

方法

描述

closeWindow

关闭应用窗口回到MYKEY

openFullScreen

打开全屏

closeFullScreen

关闭全屏

forbidPhysicalBack

禁止物理返回按钮(Android专属)

allowPhysicalBack

允许物理返回按钮(Android专属)

getAccountInfo

获取MYKEY账户信息

getClientConfig

获取客户端部分配置

sendTransaction

发送交易

sign

申请MYKEY签名

setTitle

设置应用顶部标题

showLoading

显示loading动画

hiddenLoading

取消loading动画

encodeFunctionCall

对方法进行序列化

关闭窗口

关闭应用窗口回到MYKEY。

window.MyKey.Browser.closeWindow

打开全屏

打开全屏

window.MyKey.Browser.openFullScreen

参数

参数名

类型

描述

isLandscape

boolean

true(横屏)

fasle(竖屏)

关闭全屏

关闭全屏。

window.MyKey.Browser.closeFullScreen

禁止物理返回

禁止物理返回按钮,限Android

window.MyKey.Browser.forbidPhysicalBack

允许物理返回

允许物理返回按钮,限Android

window.MyKey.Browser.allowPhysicalBack

获取MYKEY账户信息

获取MYKEY账户信息

window.MyKey.Browser.getAccountInfo

参数

参数名

类型

描述

openChain

string

true|fasle

true: 如果没有链会打开创建页面

返回值

返回格式:Promise
{
"data": {
"accountName": "", //MYKEY内设置的昵称
"chainInfoList": ["account": "", "chain": ""],
"id": "", //MYKEY唯一ID
"operationKeys": ["","",""], //三把操作权限的公钥
"xpubOperationKeys": ["","",""] //三把操作秘钥公钥Xpub形式
},
"errorCode": 0
}

获取客户端部分配置

获取客户端部分配置

window.MyKey.Browser.getClientConfig

返回值

返回方式:Promise
{
"data": {
"currency": "CNY",
"locale": "zh-CN",
"maxKycBindAccount": 1,
"regioin": "CN",
"userAgent": "", //包含 channel:MYKEY
"recaptchaUserKey":"" //MYKEY红包用到
},
"errorCode": 0
}

发送交易

发送交易

window.MyKey.Browser.sendTransaction(transaction)

参数

参数名

类型

描述

transaction

string

指定链以及交易的actions

返回值

返回方式:Promise
result: {
"errorCode": 0,
"errorMsg": "",
"data": {
"transactionId": "",
"signature": ""
}
}

举例:

EOS链上购买内存。

window.MyKey.Browser.sendTransaction('{"actions":[{"account":"eosio","name":"buyram","data":{"payer":"","receiver":"","quant":"1.0000 EOS"}}],"chain":"EOS","extra":{"key":"value"}}')

新增的extra字段,生效版本为:Android:2.5.0,IOS:2.5.0

签名

申请MYKEY签名

window.MyKey.Browser.sign(message)

参数

参数名

类型

描述

message

string

待签名的数据

返回值

返回格式:Promise
result: {
"errorCode": 0,
"errorMsg": "",
"data": {
"signature": ""
}
}

获取交易进度

window.MyKey.Browser.getTransactionProgress

参数

参数名

类型

描述

chain

string

EOS|ETH

transactionId

string

blockNum

int

当前交易的blockNum,非必填

返回值

返回格式:Promise
result: {
"errorCode": 0,
"errorMsg": "",
"data": {
"percent": , //[0 - 100]
"blockNum": //[当前交易的blockNum]
}
}

生效版本:Android:2.5.0,iOS:2.5.0

设置应用顶部标题

设置应用顶部标题

window.MyKey.Browser.setTitle(title)

参数

参数名

类型

描述

title

string

标题内容

显示loading动画

显示loading动画

window.MyKey.Browser.showLoading

取消loading动画

取消loading动画

window.MyKey.Browser.hiddenLoading

对方法进行序列化

对方法进行序列化

window.MyKey.Browser.encodeFunctionCall(abi, method, param)

参数

参数名

类型

描述

abi

string

该方法的abi描述,字符串类型,eg:"[{\"constant\":false,\"inputs\":[

{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,

\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"

method

string

方法名, 字符串类型,eg:transfer。

param

string

参数,eg:{_to:"0xc4ED1B3f31acadbE3c14B20fA766B6C4B1FAB208",

_value:"20000000000000000000"}

返回值

返回方式:Promise
result: {
"errorCode": 0,
"errorMsg": "",
"data": "" //[序列化后的值]
}