Flutter高仿微信-第58篇-扫一扫
生活随笔
收集整理的這篇文章主要介紹了
Flutter高仿微信-第58篇-扫一扫
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Flutter高仿微信系列共59篇,從Flutter客戶端、Kotlin客戶端、Web服務器、數據庫表結構、Xmpp即時通訊服務器、視頻通話服務器、騰訊云服務器全面講解。
Flutter高仿微信-項目實踐59篇,點擊查看詳情
效果圖:
實現代碼:
//二維碼掃一掃 Future _scanQR() async {try {final result = await BarcodeScanner.scan(options: ScanOptions(strings: {'cancel': _cancelController.text,'flash_on': _flashOnController.text,'flash_off': _flashOffController.text,},restrictFormat: selectedFormats,useCamera: _selectedCamera,autoEnableFlash: _autoEnableFlash,android: AndroidOptions(aspectTolerance: _aspectTolerance,useAutoFocus: _useAutoFocus,),),);_processQRResult(result);} on PlatformException catch (e) {String errorResult = e.code == BarcodeScanner.cameraAccessDenied ? '沒有拍照權限!': 'Unknown error: $e';LogUtils.d("掃一掃返回異常:${errorResult}");} } //處理掃描結果 void _processQRResult(ScanResult result){if(result == null){return;}if (result.rawContent.startsWith(CommonUtils.QR_PAYMENT_CODE)){//向商家付款String toUser = result.rawContent.substring(CommonUtils.QR_PAYMENT_CODE.length, result.rawContent.length);Navigator.push(context, MaterialPageRoute(builder: (context) => MerchantPayment(toUser: toUser)));} else if(result.rawContent.startsWith(CommonUtils.QR_RECEIVE_CODE)){//二維碼收款String receiveResult = result.rawContent.substring(CommonUtils.QR_PAYMENT_CODE.length, result.rawContent.length);String balance = receiveResult.split(":")[0];String toUser = receiveResult.split(":")[1];LogUtils.d("掃一掃返回結果 ${receiveResult} , ${balance} , ${toUser}");Navigator.push(context, MaterialPageRoute(builder: (context) => PersonalPayment(toUser: toUser, balance: double.parse(balance),)));} else if(result != null){//添加好友String content = result.rawContent;List<String> contentList = content.split(CommonUtils.CHAT_MESSAGE_SPILE);String accountStr = contentList[0];String nickName = contentList[1];String avatar = contentList[2];String accountResult = accountStr.substring(CommonUtils.QR_ADD_FRIEND.length, accountStr.length);UserBean userBean = UserBean(account: accountResult, avatar: avatar, nickName: nickName);LogUtils.d("掃一掃返回結果:${accountStr} , ${nickName} , ${avatar}, ${accountResult}");_goSearchFriends(accountResult, userBean);} }總結
以上是生活随笔為你收集整理的Flutter高仿微信-第58篇-扫一扫的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何压缩PDF文件大小?两个方法教你如何
- 下一篇: i5系列的服务器cpu,i5 系列 CP