美文网首页
flutter和H5前端vue通信SDK

flutter和H5前端vue通信SDK

作者: 守护浪漫的小香樟 | 来源:发表于2023-06-13 15:21 被阅读0次

    近期做了个项目, 部分功能在flutter上用dart无法实现, 某些SDK只提供了javascript的方法, 那么为了实现功能就需要在H5实现完逻辑之后传递到flutter

    1、创建vue项目, 仅仅为了实现逻辑, 并没有对代码进行封装,凑活看

    第一步:  在mounted里注册方法用于flutter端调用

    第二步: 当执行完前端逻辑后调用window方法传递信息给flutter

    2、flutter端发送参数并所接收内容

    第一步: 注册WebViewController;

    WebViewController _controller;

    WebView(

            initialUrl: 'http://localhost:8080/assets/index.html',

            onWebViewCreated: (WebViewController controller) {

              _controller = controller;

            },

    )

    第二步:调用JS方法

    _controller.runJavascript(method);

    // method 为JS方法要和JS注册的方法以及参数进行对应

    第三步: 接收JS传回来的执行结果:

    值得注意的是:由于传递的信息较多我在传递的时候用了Key参数进行区分不同的方法

    key:'account'

    javascriptChannels: {

              JavascriptChannel(

                  name: 'handlerName',

                  onMessageReceived: (JavascriptMessage message) {

                    Map<String, dynamic> msgMap = jsonDecode(message.message);

                    analyseJSData(msgMap);

                  })

            }),

    拓展:

    此项目我是把vue项目进行打包在flutter项目里面用8080端口进行启动本地服务来加载webview的

    相关文章

      网友评论

          本文标题:flutter和H5前端vue通信SDK

          本文链接:https://www.haomeiwen.com/subject/qedtcdtx.html