xuewuli / Tiny.Scatter

Scatter compatible eos injection library
31 stars 16 forks source link

undefined is not an object #3

Closed sfsw closed 5 years ago

sfsw commented 5 years ago

undefined is not an object (evaluating 'window.webkit.messageHandles') 现在包这个错,另外问下示例中:XMethod.signEOS.rawValue,这个具体要实现什么?

xuewuli commented 5 years ago

因为这个是iOS的webview提供的,在Android上你需要替换这部分代码,或在注入初始化的地方自己模拟这个接口

xuewuli commented 5 years ago

XMethod.singEOS是我实现iOS版应用时定义的enum,和这个库没有关系

sfsw commented 5 years ago

现在已经signEOS已经调用成功了,能取回json数据,之后在如何操作?

{ "name": "signEOS", "object": { "data": "{\"expiration\":\"2018-12-13T10:37:52\",\"ref_block_num\":13958,\"ref_block_prefix\":2646314836,\"max_net_usage_words\":0,\"max_cpu_usage_ms\":0,\"delay_sec\":0,\"context_free_actions\":[],\"actions\":[{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"gy1tq111g4ge\",\"permission\":\"active\"}],\"data\":\"a01861fb4c9b8967309d4c462197b23af10300000000000004454f530000000040616374696f6e3a6265742c736565643a454c4d5356497639414d6a5952634f3159442c726f6c6c556e6465723a38362c7265663a67793474716e627667346765\"}],\"transaction_extensions\":[]}" }, "id": 1544697414747 }

// value as string with this format '{"signatures":["SIGK1..."]}' function onSignEOSSuccessful(id, value) { BrigeAPI.sendResponse(id, JSON.parse(value)) } 这个onSignEOSSuccessful回调何时才会被触发?

通常的做法是显示出这段json交易包体,然后需要用户点击确认按钮后才能继续,就是想问具体怎么掉用?

xuewuli commented 5 years ago

拿去签名,返回签名结果,结果的格式参考readme

Mubly commented 5 years ago

Android也报这个错,该怎么弄?模拟什么接口?或者再注入什么方法?

Mubly commented 5 years ago

Cannot read property ‘messageHandlers’ of undefined 这个要怎么解决?

xuewuli commented 5 years ago

Cannot read property ‘messageHandlers’ of undefined 这个要怎么解决?

你和楼主问的是一个问题 因为window.webkit这个是iOS的webview提供的,在Android上你需要替换这部分代码,或在注入初始化的地方自己模拟这个接口

这个仓库是学习用的,作为需要实现兼容scatter的参考,不建议直接使用

xuewuli commented 5 years ago

我在readme中增加了一部分说明,希望有所帮助.

Mubly commented 5 years ago

好吧。Thankyou

sfsw commented 5 years ago

怎么去拿签名,具体是调用什么?

xuewuli commented 5 years ago

怎么去拿签名,具体是调用什么?

签名是“钱包”部分的功能,注入的作用是把webview中网页发起的签名请求传递给原生,这样钱包就可以进行签名,签完再通过webview传递回去. 所以如何完成签名是要看你用什么代码实现的“钱包” 当有了签名结果,就可以通过webview.evaluateJavascript调用onSignEOSSuccessful,回传给网页

另外readme也稍稍更新了一下,对onSignEOSSuccessful有一定的说明

sfsw commented 5 years ago

怎么去拿签名,具体是调用什么?

签名是“钱包”部分的功能,注入的作用是把webview中网页发起的签名请求传递给原生,这样钱包就可以进行签名,签完再通过webview传递回去. 所以如何完成签名是要看你用什么代码实现的“钱包” 当有了签名结果,就可以通过webview.evaluateJavascript调用onSignEOSSuccessful,回传给网页

另外readme也稍稍更新了一下,对onSignEOSSuccessful有一定的说明

了解了,正常尝试签名