metakey-js-sdk
v0.2.0
Published
JS bridge SDK for MetaKey WebView
Downloads
259
Maintainers
Readme
metakey-js-sdk
MetaKey WebView 的 JS Bridge SDK。
支持两种调用方式:
mk.xxx(...)window.xxx(...)(兼容写法)
安装
npm install metakey-js-sdk快速开始
ESM / Bundler
import mk from 'metakey-js-sdk'
const connected = mk.isConnected()
const qr = await mk.invokeQRScanner()
console.log('qr result:', qr)
mk.handleCustomerService({ shopId: 'shop_10001' })
mk.handleSendMessage({
myUrl: 'https://demo.app/me',
otherUrl: 'https://demo.app/other',
type: 'ORDER',
detail: {
id: 'order_001',
title: '测试订单',
description: '来自 dapp 的订单消息',
image: 'https://metakey.app/demo.png'
}
})
mk.handleJoinGroup({ inviteCode: 'group_123456' })
mk.handleBindSafeCode('FlashMallSafetyCenter:0x123|666666')CommonJS
const sdk = require('metakey-js-sdk')
const mk = sdk.default
async function run() {
const qr = await mk.invokeQRScanner()
console.log(qr)
}浏览器 script 引入
<script src="./mk-sdk.js"></script>
<script>
mk.invokeQRScanner().then(console.log).catch(console.error)
mk.handleCustomerService({ shopId: 'shop_10001' })
window.handleJoinGroup({ inviteCode: 'group_123456' })
window.handleBindSafeCode('FlashMallSafetyCenter:0x123|666666')
</script>API
1) mk.isConnected()
判断当前是否存在 window.ReactNativeWebView.postMessage。
2) mk.invokeQRScanner()
唤起原生扫码,返回扫码字符串。
3) FlashMall 便捷方法
mk.handleCustomerService({ shopId })mk.handleSendMessage({ myUrl, otherUrl, type, detail })mk.handleJoinGroup({ inviteCode })mk.handleBindSafeCode(value: string)mk.handleToChat()
同时提供 window 兼容别名:
window.handleCustomerService({ shopId })window.handleSendMessage({ myUrl, otherUrl, type, detail })window.handleJoinGroup({ inviteCode })window.handleBindSafeCode(value: string)mk.handleToChat()
