{"_id":"@dachongziy/react-native-qr-scanner","_rev":"4-aade03ee38d8c3b49c45cec05fa397ef","name":"@dachongziy/react-native-qr-scanner","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@dachongziy/react-native-qr-scanner","version":"1.0.0","description":"this is qrcode scanner.","main":"index.js","nativePackage":true,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["qrcode","scanner","react-native"],"dependencies":{"prop-types":"15.5.10"},"repository":{"type":"git","url":"git+https://github.com/dachongziy/react-native-qr-scanner.git"},"devDependencies":{"react":">=15.0.0","react-native":">=0.24.0"},"author":{"name":"yang"},"license":"MIT","gitHead":"392c8b397e9c16f383863d34b46d4fe863b61f2a","bugs":{"url":"https://github.com/dachongziy/react-native-qr-scanner/issues"},"homepage":"https://github.com/dachongziy/react-native-qr-scanner#readme","_id":"@dachongziy/react-native-qr-scanner@1.0.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-i0AmvDeNNh/t61PM8TOugRlXpvlRPXutgpc+5IV6kkhpLUi1Xwa2uzzT52DUGu4ra7VBlQytAhuoLBYNSyQFDw==","shasum":"9f1d3d6644882eea95cbd0af538b5806a83b34dc","tarball":"https://registry.npmjs.org/@dachongziy/react-native-qr-scanner/-/react-native-qr-scanner-1.0.0.tgz","fileCount":22,"unpackedSize":114824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUsHkCRA9TVsSAnZWagAAsZwP/Rehq6dRIhPO80g7QVOB\nTcSwvoou2t8d437s3sT7YMhInjFT3lJb2Y6haR9WcfRDy8kwGbi5lpkpo2ge\nyURzzPVPWW5mIBNtzXuFfI2QnzB09dGQt8ipLrLHnoF+7bTjDYf/7tarwy3Q\nBGVjBPqtBy0KWXcFkmQzbnA5gEEoZWmAe7IITnqguWtnmrAfSI2p+BJT/l+U\nlI0eiu3CRlDLLK08PcnvbBHoawtwoF17YaaQzDQfVYxSjCAxClXn2xGKtbzt\nTpiPepxDGBNmPUsam5E4XArheHrAibHTP5zVzTw305PUJsj+QMiH3uuOb5Ww\nlJUsOI/OEm2gh4h9sin06HK/n40epsBdumUD4Yfza2Kovn+NajqYMDu5Emq8\noXlNc5EQA2xkxv68lp7WaiWzymHnxySl9a6nBqusipNxZx4bF5DZuxhkB0Pw\nWxGQ1CzQGfIegbwMlmxZ97uVSCgrfWJnoWmh6ZkZoebyh2cEenYfjHdfIknn\n1mF+hZOICtsoa4SHRzJx2x/smgpLECVhxCGCfjbFMoEAw63PX27QfDSsS55n\nATZ4oQD+8+2zPApW6fym1FvSFVfv4YBQy/X/Ip9TkL1cNhdtYDqD3I/ud9Q6\nWaAjzj2lG8v8Domr9c7LCbDsmBlneX2OxhR6e5YnNmG8WTwH0s+oPEKGbU1N\nXpvu\r\n=spKU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUxYNdLwejH/x4o3iB0t2UTj+N00Rn4FOdqjmMPYfKqAiAuKy2VLgGcGPG+rlMS1cCIfbjnggUQrL/0aCAs7osniA=="}]},"_npmUser":{"name":"dachongziy","email":"903107705@qq.com"},"directories":{},"maintainers":[{"name":"dachongziy","email":"903107705@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-qr-scanner_1.0.0_1616036323860_0.5357499890620765"},"_hasShrinkwrap":false},"1.0.1":{"name":"@dachongziy/react-native-qr-scanner","version":"1.0.1","description":"this is qrcode scanner.","main":"index.js","nativePackage":true,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["qrcode","scanner","react-native"],"dependencies":{"prop-types":"15.5.10"},"repository":{"type":"git","url":"git+https://github.com/dachongziy/react-native-qr-scanner.git"},"devDependencies":{"react":">=15.0.0","react-native":">=0.24.0"},"author":{"name":"yang"},"license":"MIT","bugs":{"url":"https://github.com/dachongziy/react-native-qr-scanner/issues"},"homepage":"https://github.com/dachongziy/react-native-qr-scanner#readme","_id":"@dachongziy/react-native-qr-scanner@1.0.1","_nodeVersion":"14.4.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wXQW7ts5tK+MlA8DTK6VPrViulw7A8vHh23HPmjAF6IgjPtR3eT9XsnOv6uvFET4V3qKpxSqujSgGkrhuZPYtQ==","shasum":"cbadb7d58d2cd5269bb250ddd713a85ef2d91cdf","tarball":"https://registry.npmjs.org/@dachongziy/react-native-qr-scanner/-/react-native-qr-scanner-1.0.1.tgz","fileCount":22,"unpackedSize":114856,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUvsvCRA9TVsSAnZWagAATfMP/iTBYCbZOIcdWi1u3z8m\nbT2IHS4i15t/FBkJRxpHW/c4mGfGhPG+YCeZc89syWurQJg8HIbGYAqGbUy3\nDLVsEd3NHqELoE3k8trBnqVpBUq8iQht7zS0057blWUnV9yLuJCbWmnS2CFE\nogFHvYjbnpFvGW2HZBPUhLGuDOfTtWTZnsQu2gt9QOoR5kyhay92FSddgJhp\n9iwKQ9t3MeVc+KNLueKxGvsrreX8S+/DglUKwSuhugeLcokqdd/wFJAEH7VM\n/DUfeZyEZltaqgWkdxB0ANwoNcCAmAGQkMF8FmMPUhN3JWad6ukoTSoVnta6\n/PTaQh17/tdg3a5PYedkubhh0AjCeST8Wkusu7Ie+VyF+jZKQJfAfaYVlxkU\nppIdSFKjipOgAYaR5xspnd8kN5nxOY5H4+y3XYJ1GYVYQmxJA2US5JMQMXl9\nEsvZOYaO2+XBOoS73tb3/BZZX58ZcZroqGBVvA1A8AOF6nUQJDxMdnXHA5Hw\ncVeopZ01LIp8F/PlaGObu1sdZ38MGMOmkkHfzoYtxeYatzet34S0nDzinC9k\ncBLM3hs1c1USeyjIwSO7+IkHn+yqjj/8eC/3CHJUh7cPCCiYVIEcRehDeN+D\n8nrijcpiT42gxnkZLWu5uVA4GJsZ/CzXel3nfRbgN2j0C1fIMMAM+8jxQNLz\nTRV+\r\n=gxuC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDf194PcuihZnGDsNAsc+xypVatQTtZZ8AuOPZSP6m2dwIhANykyibMdFfhEAEWF5l/PlqPjEIK8K/NLx4szIW5EAak"}]},"_npmUser":{"name":"dachongziy","email":"903107705@qq.com"},"directories":{},"maintainers":[{"name":"dachongziy","email":"903107705@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-qr-scanner_1.0.1_1616050991150_0.6003760722386322"},"_hasShrinkwrap":false},"1.0.2":{"name":"@dachongziy/react-native-qr-scanner","version":"1.0.2","description":"this is qrcode scanner.","main":"index.js","nativePackage":true,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["qrcode","scanner","react-native"],"dependencies":{"prop-types":"15.5.10"},"repository":{"type":"git","url":"git+https://github.com/dachongziy/react-native-qr-scanner.git"},"devDependencies":{"react":">=15.0.0","react-native":">=0.24.0"},"author":{"name":"yang"},"license":"MIT","bugs":{"url":"https://github.com/dachongziy/react-native-qr-scanner/issues"},"homepage":"https://github.com/dachongziy/react-native-qr-scanner#readme","_id":"@dachongziy/react-native-qr-scanner@1.0.2","_nodeVersion":"14.4.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-UFncjYQ1litFkJzv2zJYkeknnlgFiRYI3plwLV9Rl2fi1R+E39V7Auux37Z5sVflLRUXAy4rQwAdIL3KFfL3ng==","shasum":"74974bb1bf3b4e9553435a791c07cf4467786d41","tarball":"https://registry.npmjs.org/@dachongziy/react-native-qr-scanner/-/react-native-qr-scanner-1.0.2.tgz","fileCount":22,"unpackedSize":114858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUv6KCRA9TVsSAnZWagAA5XoP/3Uzo1vCoJqAoXjC3vV/\n+69XBUL/eVoIsmk+ChoP58j7Bwk7EQRVKZtVwHF4oRnEaTcaeauWQJ9vZf3S\nhnv8s5KvSxYkGrMKPEqx+aSY3D7h+zaQUhNjTlKnkWX0wCUdLODxnm34RTj0\ngJGydQ9v3qNgvNJ/GKCGmhp1ak09I8W/O+K5yob0SNexWNUutI734B+3Y9Yn\nCEL+BwBivpQgUzSluL1bcOdFWSoTVwBi/9rVVQ6aXOmAWZqJWsmWJTGnsJwS\ntmWgRH2SZVKbcUDZIPFWQdO6ruyQe76YV/KJSKlBiwV4ElFH35y+HDTuhdMX\nntUkvPwVrNVEoDq6yp5884dXwKf9A/OWTUb26Ltaq8k38hJQnLsJBDKye+fZ\n2iHWGmJsq54wECclA48JVxYMJv9ejmsxPAAbMl2ucrlX+r2tdWF33W0uraGg\nxBvSoeu6n+UFuVraM4hOAdtUcjYiimCAct9dllJcAeREVDNxcfGP3Lep4sao\nBnjWd5lGkxCGkFCRvPR5HQe2SKgC/F3LauBc8jN7y3CfdR9A/2TN7TmQSqUU\n6LjlRrY1s8vDVme/diV/+wxosFsgS1zblc4mR9hVzepCfb6BAULjVeTn6SiN\ngqrlX0S2xRqXRTuUoDxKZYDRJe1mMPQDwi6x6FV97uoaEeldrcjG2aBOptbA\nkf+h\r\n=ZtnF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBXx3VeRrMrLQ0kwRUGKulNe2Uv7GmzZz8nNQWmpL6e+AiASUoL19ZO/ioaw8ZBeHAVSOql7O5Tq/tHBoWPmYl32pg=="}]},"_npmUser":{"name":"dachongziy","email":"903107705@qq.com"},"directories":{},"maintainers":[{"name":"dachongziy","email":"903107705@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-qr-scanner_1.0.2_1616051849931_0.9819263698246214"},"_hasShrinkwrap":false},"1.0.3":{"name":"@dachongziy/react-native-qr-scanner","version":"1.0.3","description":"this is qrcode scanner.","main":"index.js","nativePackage":true,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["qrcode","scanner","react-native"],"dependencies":{"prop-types":"15.5.10"},"repository":{"type":"git","url":"git+https://github.com/dachongziy/react-native-qr-scanner.git"},"devDependencies":{"react":">=15.0.0","react-native":">=0.24.0"},"homepage":"https://github.com/dachongziy/react-native-qr-scanner#readme","author":{"name":"yang"},"license":"MIT","bugs":{"url":"https://github.com/dachongziy/react-native-qr-scanner/issues"},"_id":"@dachongziy/react-native-qr-scanner@1.0.3","_nodeVersion":"14.4.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/yYOshLOygDHeOZuxHdVg3qc+0GcINEsv31JFWFPV3hhXSqHEm5TtEO5cZjpUIOiAcccTascpO4WvQc/UAvYYw==","shasum":"5b932b094a1ac6c3f34f3fd3a043ce76b838a1fa","tarball":"https://registry.npmjs.org/@dachongziy/react-native-qr-scanner/-/react-native-qr-scanner-1.0.3.tgz","fileCount":23,"unpackedSize":115662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbBv+CRA9TVsSAnZWagAAC7gP/R1jyuQZ5OA0x3gP5vhy\nx8jiyx6CixY4G5+Q7z2Ilkvx5AyDccz3IIiShjML6ycwRN/U73gsgjTk+NWK\nQNozGjrunCDO7rPjhTcEXZZOPjFCE7K8hj6BogJyE1e3n0oFedRJvgBYF+Ww\n9i0PYdApAJPS9KZCwqcgpwjJIx+vx70AX576e9pkJ7PlSDuhS9kZSZRVI+Mu\nVg43ro8vDvdDQZL45e44z5BMQYgg6egqbH+RDoI93C0HGDeJm2IwDJcT7aP9\ndCVjRIwyG4HJoZyoDm85eNYWK9LyDlkTa0QaVPs8aEXZJixD5+R8pDiiTAEh\nj9WYFcpEKnyKXFe2fj8u1H29AcDekgA0K2NXdCuxg2954hrNMoDf06++6x9l\n3IBJqm3GWIQF4vEE6QJTCOXGB3RUFlD9xMNBWIhkZqrgOXcc/+O3bPYXeESJ\nOnQMhWMeeV9HHyRilnhEWYkKyD89K31+KWKkNq+sSAVDO2x8hijioxZ3Rlt5\nNwamBTx09ZY/NVI+fH1yxdZjjfAK1LiYVIhzBOv+B2rNOetXjeDC7AQsA/lQ\nranENKOO34UXJT8b06MysGxkSvnzNaqHHBGSrXDEhE+9hfbY5URLN4jObcLI\nukhksodpL/awunZuYKyfGDOsC/roIREBWxfSxCAcRsX44TYW3gLMUXhdeNrl\nBjYQ\r\n=qe22\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpwyn7Xdjm+JySPSJ5gsIGDSJ87uE9igKB51CV6ALIiAIgJgKk94vE+mcxvfch0t6DBG5yF5owobsz7sC7dCziTj8="}]},"_npmUser":{"name":"dachongziy","email":"903107705@qq.com"},"directories":{},"maintainers":[{"name":"dachongziy","email":"903107705@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-qr-scanner_1.0.3_1617697790209_0.3027233957800286"},"_hasShrinkwrap":false}},"time":{"created":"2021-03-18T02:58:43.814Z","1.0.0":"2021-03-18T02:58:44.023Z","modified":"2022-04-05T02:32:17.507Z","1.0.1":"2021-03-18T07:03:11.364Z","1.0.2":"2021-03-18T07:17:30.106Z","1.0.3":"2021-04-06T08:29:50.325Z"},"maintainers":[{"name":"dachongziy","email":"903107705@qq.com"}],"description":"this is qrcode scanner.","homepage":"https://github.com/dachongziy/react-native-qr-scanner#readme","keywords":["qrcode","scanner","react-native"],"repository":{"type":"git","url":"git+https://github.com/dachongziy/react-native-qr-scanner.git"},"author":{"name":"yang"},"bugs":{"url":"https://github.com/dachongziy/react-native-qr-scanner/issues"},"license":"MIT","readme":"# react-native-qr-scanner\r\n[![NPM Version](https://img.shields.io/npm/v/react-native-qr-scanner.svg?style=flat)](https://www.npmjs.com/package/react-native-qr-scanner)\r\n  [![License](http://img.shields.io/npm/l/react-native-qr-scanner.svg?style=flat)](https://github.com/shifeng1993/react-native-qr-scanner/blob/master/LICENSE)\r\n\r\n一个react-native的二维码扫描组件，支持扫描区域的限制以及扫描区域的偏移。\r\n\r\n## 安装步骤：\r\n\r\n### 安装依赖\r\n```bash\r\nyarn add react-native-camera react-native-qr-scanner\r\n```\r\n\r\n### link依赖到native \r\n```bash\r\nreact-native link react-native-camera && react-native-qr-scanner\r\n```\r\n\r\n### 添加相机权限：\r\n- ios在 `ios/projectName/Info.plist`:\r\n```xml\r\n<key>NSCameraUsageDescription</key>\r\n<string/>\r\n<key>NSPhotoLibraryUsageDescription</key>\r\n<string/>\r\n<key>NSMicrophoneUsageDescription</key>\r\n<string/>\r\n<key>NSPhotoLibraryAddUsageDescription</key>\r\n<string/>\r\n```\r\n- android在 `android/app/src/main/AndroidManifest.xml`:\r\n```xml\r\n<uses-permission android:name=\"android.permission.CAMERA\" />\r\n<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>\r\n<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\" />\r\n<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\r\n<uses-permission android:name=\"android.permission.VIBRATE\"/>\r\n```\r\n\r\n#### 修复相机组件找不到google()方法的错误\r\n\r\nhttps://github.com/react-native-community/react-native-camera/blob/master/docs/GradleUpgradeGuide.md\r\n\r\n## 使用组件\r\n\r\n### 扫描\r\n```javascript\r\nimport React, {Component} from 'react';\r\nimport {Platform, StyleSheet, Text, View, TouchableOpacity} from 'react-native';\r\nimport {QRscanner} from 'react-native-qr-scanner';\r\n\r\nexport default class Scanner extends Component {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      flashMode: false,\r\n      zoom: 0.2\r\n    };\r\n  }\r\n  render() {\r\n    return (\r\n      <View style={styles.container}>\r\n        <QRscanner onRead={this.onRead} renderBottomView={this.bottomView} flashMode={this.state.flashMode} zoom={this.state.zoom} finderY={50}/>\r\n      </View>\r\n    );\r\n  }\r\n  bottomView = ()=>{\r\n    return(\r\n    <View style={{flex:1,flexDirection:'row',backgroundColor:'#0000004D'}}>\r\n      <TouchableOpacity style={{flex:1,alignItems:'center', justifyContent:'center'}} onPress={()=>this.setState({flashMode:!this.state.flashMode})}>\r\n        <Text style={{color:'#fff'}}>点我开启/关闭手电筒</Text>\r\n      </TouchableOpacity>\r\n    </View>\r\n    );\r\n  }\r\n  onRead = (res) => {\r\n    console.log(res);\r\n  }\r\n}\r\nconst styles = StyleSheet.create({\r\n  container: {\r\n    flex: 1,\r\n    backgroundColor: '#000'\r\n  }\r\n});\r\n```\r\n\r\n### 识别\r\n```javascript\r\nimport React, {Component} from 'react';\r\nimport {Platform, StyleSheet, Text, View, TouchableOpacity} from 'react-native';\r\nimport {QRreader} from 'react-native-qr-scanner';\r\nimport ImagePicker from 'react-native-image-picker';\r\n\r\nexport default class Scanner extends Component {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      reader: {\r\n        message: null,\r\n        data: null\r\n      }\r\n    };\r\n  }\r\n  render() {\r\n    return (\r\n      <View style={styles.container}>\r\n        <TouchableOpacity onPress={()=>{\r\n          this.openPhoto();\r\n        }}>\r\n          <Text style={{marginTop: 20}}>打开相册识别二维码</Text>\r\n        </TouchableOpacity>\r\n        <View>\r\n        {!this.state.reader? <Text>{!this.state.reader.message?'':`${this.state.reader.message}`}</Text>: <Text>{!this.state.reader.message?'':`${this.state.reader.message}:${this.state.reader.data}`}</Text>}\r\n        </View>\r\n      </View>\r\n    );\r\n  }\r\n  \r\n  openPhoto(){\r\n    console.log('ImagePicker');\r\n    ImagePicker.launchImageLibrary({}, (response) => {\r\n      console.log('Response = ', response);\r\n    \r\n      if (response.didCancel) {\r\n        console.log('User cancelled image picker');\r\n      }\r\n      else if (response.error) {\r\n        console.log('ImagePicker Error: ', response.error);\r\n      }\r\n      else if (response.customButton) {\r\n        console.log('User tapped custom button: ', response.customButton);\r\n      }\r\n      else {\r\n        if(response.uri){\r\n          var path = response.path;\r\n          if(!path){\r\n              path = response.uri;\r\n          }\r\n          QRreader(path).then((data)=>{\r\n            this.setState({reader: {\r\n              message: '识别成功',\r\n              data: data\r\n            }});\r\n            // 十秒后自动清空\r\n            setTimeout(() => {\r\n              this.setState({reader: {\r\n                message: null,\r\n                data: null\r\n              }})\r\n            }, 10000);\r\n          }).catch((err)=>{\r\n            this.setState({reader: {\r\n              message: '识别失败',\r\n              data: null\r\n            }});\r\n          });\r\n          \r\n      }\r\n      }\r\n    });\r\n  }\r\n}\r\nconst styles = StyleSheet.create({\r\n  container: {\r\n    flex: 1,\r\n    backgroundColor: '#fff'\r\n  }\r\n});\r\n```\r\n\r\n## 运行示例\r\n```bash\r\n$ cd example\r\n$ yarn\r\n$ react-native run-ios  或者 $ react-native run-android  \r\n```\r\n示例中代码已link过，所以不用link\r\n\r\n### QRscanner\r\n| 属性                | 类型    | 默认值          | 备注 |\r\n| -------------      | ------- | -------------  | ------------- |\r\n| isRepeatScan       | boolean    | false          |   是否允许重复扫描  |\r\n| zoom          | number    | 0          |   相机焦距 范围0-1  |\r\n| flashMode          | bool    | false          |   开启手电筒  |\r\n| onRead             | func    | (res)=>{}      | 扫描回调 |\r\n| maskColor          | string  | '#0000004D'    | 遮罩层颜色  |\r\n| borderColor        | string  | '#000000'      | 边框颜色  |\r\n| cornerColor        | string  | '#22ff00'      | 扫描框转角的颜色  |\r\n| borderWidth        | number  | 0              | 扫描框的边框宽度  |\r\n| cornerBorderWidth  | number  | 4              | 扫描框转角的border宽度  |\r\n| cornerBorderLength | number  | 20             | 扫描框转角的宽度高度  |\r\n| rectHeight         | number  | 200            | 扫描框高度  |\r\n| rectWidth          | number  | 200            | 扫描框宽度  |\r\n| finderX             | number  | 0            | 扫描框X轴偏移量  |\r\n| finderY             | number  | 0            | 扫描框Y轴偏移量  |\r\n| isCornerOffset     | bool    | true           | 边角是否偏移  |\r\n| cornerOffsetSize   | number  | 1              | 偏移量  |\r\n| bottomHeight       | number  | 100            | 底部预留高度  |\r\n| scanBarAnimateTime | number  | 2500           | 扫描线时间  |\r\n| scanBarColor       | string  | '#22ff00'      | 扫描线颜色  |\r\n| scanBarImage       | any     | null           | 扫描线图片  |\r\n| scanBarHeight      | number  | 1.5            | 扫描线高度  |\r\n| scanBarMargin      | number  | 6              | 扫描线左右margin  |\r\n| hintText           | string  | '将二维码/条码放入框内，即可自动扫描'| 提示字符串  |\r\n| hintTextStyle      | object  | {color: '#fff',fontSize: 14,backgroundColor: 'transparent'} | 提示字符串样式  |\r\n| hintTextPosition   | number  | 130            | 提示字符串距离容器底部的值  |\r\n| renderTopView      | func    | () =>{}        | render顶部View  |\r\n| renderBottomView   | func    | ()=><View style={{flex:1,backgroundColor:'#0000004D'}}/> | render底部View  |\r\n| isShowScanBar      | bool    | true           | 是否显示扫描线  |\r\n| topViewStyle       | object  | null           | render顶部容器样式  |\r\n| bottomViewStyle    | object  | null           | render底部容器样式  |    \r\n\r\n### QRreader\r\nQRreader(path:uri)是一个promise对象，接受一个uri图片路径参数，\r\n返回成功识别的对象，失败则返回错误\r\n\r\n\r\n## 历史版本特性\r\n#### 1.3.2  因android扫描区域计算有诸多问题，所以注释掉android计算扫描区域，恢复android设备的全屏扫描。\r\n#### 1.3.1  修复ios打包发生的找不到库的错误,降低相册二维码识别的ios最低版本支持\r\n#### 1.3.0  修复android扫描的一个bug，加入相册二维码识别，感谢lewin大神的开源二维码识别。\r\n#### 1.2.4  限制扫码类型，修复android报错\r\n#### 1.2.2  添加是否允许重复扫描的api\r\n#### 1.2.1  修复android的报错以及android扫描区域的bug\r\n#### 1.2.0  修改底层依赖相机组件，添加扫描区域，并设置XY轴偏移量\r\n#### 1.1.3  完善文档\r\n#### 1.1.2  git保留demo示例，npm包去掉demo示例\r\n#### 1.1.1  修改文档错误地方，新增demo示例\r\n#### 1.1.0  修复bug，新增手电筒api\r\n#### 1.0.0  上传基础组件\r\n","readmeFilename":"README.md"}