博客地址:http://www.globm.top/blog/1/detail/47
前端与flutter的交互相对于原生app更简单,这里做下记录,以便下次使用:

//* @param {Object} objVal 要传递的数据
let objVal = {}
objVal = JSON.stringify(objVal)
window[funcName].postMessage(objVal)

没错,就是这么简单,顺便贴一下原生的交互吧:

methods: {
    match () {
      const u = navigator.userAgent
      return !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
    },
    // transmitData
    async handleWebFunc (funcName, objVal = {}) {
      const isIOS = await this.match()
      objVal = JSON.stringify(objVal)
      if (isIOS) {
        window.webkit.messageHandlers[funcName].postMessage(objVal)
      } else {
        window[funcName].postMessage(objVal)
        window.AndroidWebView[funcName](objVal)
        window.Android[funcName](
          JSON.stringify(objVal)
        )
      }
    }
  }
Logo

前往低代码交流专区

更多推荐