美文网首页
weex-29-自定义扫描二维码模块

weex-29-自定义扫描二维码模块

作者: 酷走天涯 | 来源:发表于2017-06-05 18:03 被阅读322次
    7D1F586E-602B-41FA-8C03-36FBC9F16506.png

    本节学习目标

    定义一个扫描二维码模块

    模块名称 camera

    var camera = weex.requireModule('camera')
    

    API

    scanCode(callback)

    camera.scanCode(res=>{
        this.qr = res.data;
    })
    

    参数

    res.result值为'success'或者fail
    res.data 识别出来二维码的值

    接下来 我们就定义一个这样的模块

    • 第一步

    创建一个 类WXCameraModule


    796C7412-12AA-47F4-9B43-E7736D196296.png
    • 第二步 实现协议
    @interface WXCameraModule :NSObject<WXModuleProtocol>
    

    只需要在.m文件中实现下面的协议

    @synthesize weexInstance;
    
    • 第三步

    添加宏WX_EXPORT_METHOD, 它可以被weex识别,它的参数是 JavaScript调用 module指定方法的参数

    WX_EXPORT_METHOD(@selector(scanCode:))
    

    实现这个方法

    -(void)scanCode:(CallBlock)callback{
      XJScanViewController *scanVC= [[XJScanViewController alloc]init];
      scanVC.callback = callback;
       [self.weexInstance.viewController.navigationController presentViewController:scanVC animated:true completion:nil];
    }
    

    注意callback 回调函数的参数可以是 String 或者Map

    • 第四步

    完成上面的步骤 我们的模块算是定义好了,接下来只需要在注册一下即可在js中调用

    WXSDKEngine.registerModule("camera" ,with: WXCameraModule.self)
    

    相关文章

      网友评论

          本文标题:weex-29-自定义扫描二维码模块

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