SDK APIs
访问 imToken 公开 API 的现代化工具。
介绍
借助于 @consenlabs-fe/webview,我们可以轻松地访问和使用 imToken WebView 环境中的各种接口。无论是将 DApp 迁移到 imToken 应用还是改编自己的 Web 应用程序,都可以用最少的代码和最小的侵入性快速解决。
该 SDK 包括获得语言环境、Native UI、路由导航、扫描二维码等功能。SDK 本身不包含依赖性,只作为绑定宿主环境的工具,不会对你的项目造成任何侵入性的损害。
支持功能
完善的 TypeScript 支持
所有的接口都有完善的类型支持,大部分场景下甚至无需参考文档就能完成开发。

多模块支持
在现代化的前端项目中,esm 是默认模块导入方式,但我们仍旧支持 cjs umd 等模块。
Promise
当前,所有的异步方法都会支持 Promise,并有相应的类型标识。
社区与反馈
现在我们提供开发者社区的支持,你可以在 GitHub 的讨论区 创建一个讨论主题 留下任何有关 WebView 或 DApp 的问题。
快速开始
如果你正在寻找一个完整的项目示例,请查看我们准备好的完整项目示例:
React 项目示例:examples/react-app
Vue 项目示例:examples/vue-app
UMD 项目示例:examples/umd
安装
建议使用包管理工具下载与安装 @consenlabs-fe/webview 。为此,我们的项目需要 NodeJS 环境与 NPM 管理工具。(或是 Yarn)
NPM: (推荐方式)
Yarn:
CDN:
@consenlabs-fe/webview 也支持使用 unpkg 或 jsdelivr 以 CDN 地址的方式在外部加载 (CDN 同步最新的版本可能需要一些时间)
引入和使用
在使用 SDK 之前,你需要使用 import 引入模块:
为了保持兼容性,我们建议你总是在使用前先判断是否处于 imToken 环境中:
API 参考
这是所有的 API 和类型参考。事实上如果你正在使用 TypeScript,项目中已经有完善的接口提示。
通用
这是根模块携带的静态 API (纯函数),通常用于检查环境和通用场景的处理。
isTokenEnv
检查当前是否处于 imToken WebView 环境中,返回布尔值。
类型
使用示例
getVersion
获取 imToken 应用当前版本。
类型
使用示例
isGreaterThanOrEqualVersion
判断 imToken 应用的当前版本是否大于指定值。
类型
使用示例
compareSemver
比较两个版本的值并返回数字。
对比的值必须为语义化版本的字符串,返回值和对比逻辑与 JavaScript sort function 完全一致。
类型
使用示例
isCancelError
检查错误是否为用户取消。
类型
使用示例
ERRORS
错误常量的集合。大多数场景下不需要直接引用此常量。
类型
apis
与宿主环境进行通信的 API,详见下文。
device API
getCurrentLanguage
获取当前的语言环境,来源于用户在 imToken 应用内的设定。
类型
使用示例
getCurrentCurrency
获取当前的货币编码。
类型
使用示例
native API
提供原生平台 UI 与交互能力。
alert
在弹窗中显示字符串。
类型
使用示例
confirm
打开一个确认会话窗口。
用户点击确认或取消后会返回布尔值。
类型
使用示例
setLoading
设置当前 WebView 为 Loading 状态。
如果你没有主动取消此状态,用户将无法进行任何操作。Loading 状态将会屏蔽用户的行为事件。
类型
使用示例
share
分享链接或是图片。
当分享内容为图片时,需要编码为 base64 格式。
是否能够成功分享取决于用户的确认与是否允许权限。
类型
使用示例
scanQRCode
调用摄像头扫描二维码,扫码完成将会返回字符串,失败或取消将抛出错误。
类型
使用示例
setClipboard
粘贴字符串。
类型
使用示例
navigator API
路由与页面设置。
closeDapp
关闭当前 DApp。
类型
使用示例
goBack
返回上一层路由,如果路由栈为空将会关闭 DApp。
类型
使用示例
routeTo
跳转至指定页面。
类型
使用示例
getOrientation
获取当前设备的方向信息。
类型
使用示例
setOrientation
设置设备方向。
类型
使用示例
setTitle
动态设置 DApp 的标题,这仅会影响 WebView 的标题,不会更改 Web 的 title 。
类型
使用示例
user API
showAccountSwitch
展示钱包的切换面板。如果切换成功,新的地址将会被返回。
类型
使用示例
layout API
setOptions
设置 WebView 的外部框架样式。
这将同步更新当前 WebView 的布局,并且只能在页面被加载和解析后应用。如果你想在页面加载时对布局进行修改,请参考我们的预加载配置文档。
类型
使用示例
internal API
未稳定的 API,主要用于高级用户定制开发和调试。
Last updated
Was this helpful?