看到论坛上有人提过这个问题,回答也都是零零碎碎的,有没有大佬可以系统的讲解一下?
我把我自己的需求描述一下,我用uniapp写了一个虚拟货币的钱包app,现在需要在app中添加一个dapp的浏览器功能!
我用的uniapp vue页面放置了<web-view>的标签组件,打开一个远程的三方web3网站 (这个网站可以是任意的web3网站),根据uniapp的文档描述,一个vue页面就是一个webview,那么打开这个web3网站的webview就是一个子webview。由于这个子webview没有web3环境,我看论坛上也有人提出了说是要注入web3.js,我也根据文档利用 appedjsfile 注入了。
现在问题是,注入以后应该如何交互呢? 如何让打开的远程web3网站能识别到我钱包app中的地址,并且登录以后做签名,交易 这些动作呢?
按我的理解应该是app要与这个子webview通信,比如app需要提供dapp网站登录的地址和签名等等信息,然后操作web3网站的时候,比如需要交易,这个时候需要通知app让用户操作授权等等。
但是我搜索出来的 好像都是 webview打开自己的页面 (不管是本地还是远程,都是自己可控的页面)里面加入 uni.webview.js,然后 uni.postmessage 。那远程的不可控的网站这种如何操作?
不知道我上面理解的对不对,有没有懂的朋友说一下大概的流程?或者愿意交流的朋友可以跟帖探讨一下!
如果有写过的朋友愿意提供代码片段也可以有偿
1***@qq.com (作者)
感谢回复,这个第一点里面 appendjsfile web3.js 是注入到 打开web3网站的子webview中吗? 另外注入以后子webview如何跟app通信呢? 第二点 web3.js 重写 provider,这个不是用web3.min.js 这个吗?是需要自己写一个web3js ? 目前这些问题应该都是卡在了 如何验证 uniapp 的webview组件是否成功注入web3.js 和 这个子webview如何跟app通信问题上。
2023-07-25 01:05