收藏
回答

小程序Camera组件扫条形码,在IOS设备上无反应,偶发事件,在安卓上不会?

微信版本号:7.0.12

import Taro, { Component } from '@tarojs/taro';

import {

  Camera,

  View,

  Button

from '@tarojs/components';


import './scanCode.less';


export default class ScanCode extends Component {

  state = {

    showCameratrue

  };


  //用户拒绝使用摄像头时,展示提示信息

  handleScanError = e => {

    const { type } = e;

    if (type === 'error') {

      this.setState({ showCamerafalse });

    }

  };


  //重新弹出摄像头授权页面

  handleReAuthCamera = () => {

    const that = this;

    Taro.openSetting({

      successres => {

        res.authSetting = {

          'scope.camera'true

        };

      }

    }).then(() => that.setState({ showCameratrue }));

  };


  handleScanCode = e => {

    const {

      detail: { result }

    } = e;


    console.log('eee===>'e);

  };


  render() {

    const { showCamera } = this.state;

    return (

      <View className="scan-view">

        <View className="scan-border">

          {showCamera ? (

            <Camera

              className="scan-camera"

              mode="scanCode"

              onError={this.handleScanError}

              onScanCode={this.handleScanCode}

              frameSize="small"

              resolution="high"

            ></Camera>

          ) : (

            <View className="scan-reauth">

              <Button type="primary" onClick={this.handleReAuthCamera} />

            </View>

          )}

        </View>

      </View>

    );

  }

}



回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签