Fiori 实现在网页端调用摄像头扫描二维码进行识别

article/2025/10/23 22:04:39

我们在UI5官方文档上进行搜索Scan,是只能找到一个BarcodeScanner的,这个API是无法实现我们这个需求的,所以如果有朋友收到这种需求,不想做的情况下,是可以推脱一下,把问题抛给SAP的(笑)。既然写了博客,也是可以推断到我没有进行推脱哈(笑)。不过非标准功能,使用第三方库进行开发始终是有风险,可以自行评估下。我们下面直接进入今天的主题吧。

实现这个需求使用了一个第三方的开源库 mebjas/html5-qrcode

Gitthub:https://github.com/mebjas/html5-qrcode

参考博客:QR Code scanner using HTML5 and Javascript | Minhaz’s Blog

那么接下来和引入其他第三库的步骤是一模一样的。

在webapp里面创建一个文件夹lib,再在里面新建一个js文件html5-qrcode.min.js

把这个链接

https://raw.githubusercontent.com/mebjas/html5-qrcode/master/minified/html5-qrcode.min.js

下面的js 复制一份,然后粘贴进刚刚创建的html5-qrcode.min.js里面。文件结构见下截图

 然后view里面可以使用一个layout来充当我们扫描控件的容器

<mvc:View controllerName="YTEST_QR_CODE.controller.App" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc"xmlns:l="sap.ui.layout" displayBlock="true" xmlns="sap.m"><App><pages><Page title="{i18n>title}"><Panel headerText="Static (decorative) HTML Provided as a String With Preserved DOM After Rendering"><content><l:HorizontalLayout id="staticContentLayout"><l:content></l:content></l:HorizontalLayout></content></Panel></Page></pages></App>
</mvc:View>

contoller代码,在onInit方法里面放个input当成qrcode的容器,在onAfterRendering里面

sap.ui.define(["sap/ui/core/mvc/Controller","sap/ui/core/HTML","sap/m/MessageToast","YTEST_QR_CODE/lib/html5-qrcode.min"
], function(Controller, HTML, MessageToast, Html5Qrcodejs) {"use strict";return Controller.extend("YTEST_QR_CODE.controller.App", {//定时器onInit: function() {//MessageToast.show("2018年9月20日,第四次当选自民党总裁;2020年8月28日,宣布辞任首相,于9月16日正式卸任并离开首相官");		//	MessageToast.show("777",{"duration":5000})var oHtml = this.byId("htmlControl");if (!oHtml) {var sId = this.createId("htmlControl");oHtml = new HTML(sId, {// the static content as a long string literalcontent: "<div id='testreader' width='600px'></div>" +"<input type='file' id='qr-input-file' accept='image/*' capture >",preferDOM: false});var oLayout = this.byId("staticContentLayout");oLayout.addContent(oHtml);}},onAfterRendering: function() {function onScanSuccess(decodedText, decodedResult) {// Handle on success condition with the decoded text or result.console.log(`Scan result: ${decodedText}`, decodedResult);MessageToast.show(decodedText);};var html5QrcodeScanner = new Html5QrcodeScanner("testreader", {fps: 10,qrbox: 250});html5QrcodeScanner.render(onScanSuccess);},onScanSuccess: function(decodedText, decodedResult) {// handle the scanned code as you like, for example://	console.log(`Code matched = ${decodedText}`, decodedResult);},onScanFailure: function(error) {// handle scan failure, usually better to ignore and keep scanning.// for example://	console.warn(`Code scan error = ${error}`);},onPress: function() {}});
});


http://chatgpt.dhexx.cn/article/MYBdDTsj.shtml

相关文章

扫描二维码登录原理

手机扫码二维码实现登录某个网站的操作过程为&#xff0c;手机登录某个APP&#xff0c;利用“扫一扫”功能扫描网页上的二维码&#xff0c;扫描成功后&#xff0c;提示“登录网页版XX”&#xff0c;同时网页上显示“成功扫描 请在手机点击确认以登录”&#xff0c;手机端点击“…

【H5扫描二维码】

H5调用摄像头识别二维码-3种方法 一.使用html5-qrcode实现二维码扫描1).下载html5-qrcode2).使用 二.使用zxing/library实现二维码扫描1).下载zxing/library2).使用 三. 使用jsQR实现二维码扫描1).使用父组件直接引用mumu-getQrcode组件 vue2中使用jsQR、zxing/library、html5-…

二维码软件如何扫描二维码打开网页

在平常生活中,我们扫描二维码付款或者扫描二维码查看某品牌的网站这些都是我们经过扫描二维码跳转到了对方的网站网页页面内容,在使用中琅二维码软件制作时,我们可以先将需要跳转的网页保存在一个文档中,然后作为二维码内容添加进二维码即可。 一、制作单个跳转网页的二维…

扫描二维码后可以自动跳转到网页

现在我们的生活中随处可见二维码的身影&#xff0c;扫码付款&#xff0c;扫描进入小程序&#xff0c;扫码关注等等。二维码可以存储各种信息&#xff0c;主要包括网址、名片、文本信息、特定代码等。今天跟大家分享使用条码软件生成二维码&#xff0c;扫描后可以跳转到网址链接…

厉害了网页扫码,所有方法都给你总结到这了,赶紧收藏

最近做一个项目&#xff0c;要通过扫一扫查询对应的信息&#xff0c;由于现在已经有一部分二维码已被生成&#xff0c;为了兼顾已生成的二维码&#xff0c;所以需要使用网页的扫一扫功能去完成项目。 项目使用技术栈&#xff1a;vue2 方案一、js 原生 热心的同事帮我已经找好…

怎样测试手机的流量

在找过GT后 我们发现用路由器测试比较方便&#xff0c;可以把所有的终端都连到路由器上&#xff0c;查看各端的流量

流量过小如何做A/B测试

AB测试对于产品和运营优化的重要性有目共睹。为了能更快的得到试验结果&#xff0c;试验流量越大越好。但是当流量不够的时候怎么办呢&#xff1f;小流量AB测试能不能做&#xff1f;能&#xff01;下面有多个节约流量的方法。 一、消除异常数据的影响 例如&#xff1a;当点击…

无线专项测试--流量测试(下)

这篇文章主要是想介绍下流量专项测试的另外一种方法tcpdumpWireshark抓包测试法。 在后台系统的开发和测试中&#xff0c;借助工具抓取网络包来进行网络层的分析是一种非常常用的技术手段&#xff0c;常用的抓包工具有Windows下的Wireshark工具和Linux下的tcpdump。由于android…

android性能测试 app 实时流量获取

下面介绍几种获取app流量的统计规则&#xff1a; 分析方法D ①如何获取uid? 1.先获取进程pid (adb shell ps |findstr 包名) 2.进入到proc/pid/status 文件中 C:\Users\chenhui>adb shell PD1816:/ $ cd proc/ PD1816:/proc $ cd 20814 PD1816:/proc/20814 $ cd status /s…

安卓app测试之流量监控

一、查看PID 通过ps命令查看&#xff1a;ps | grep packageName 案例&#xff1a;adb shell "ps | grep tv.danmaku.bili" adb shell "ps | grep tv.danmaku.bili$" 二、查看UID 1、通过查看packages.list adb shell cat /data/system/packages.list |…

Android的app性能测试--流量

测试场景&#xff1a;在手机上面点击想要测试的界面或者一组场景&#xff0c;然后查看用了多少流量。 方法一&#xff1a;使用流量测试的工具&#xff1a;1.tcpdump抓包 2 wireshark进行分析 tcpdump介绍&#xff1a;tcpdump是一款用于截取网络分组&#xff0c;并输出分组内容的…

APP性能测试:启动时间、CPU、耗电量、流量、内存

app的启动与停止 启动app的命令&#xff1a;adb shell am start -n packageName/activity 查看被测应用app的包名和活动名activity的命令&#xff1a; adb shell "dumpsys window | grep mCurrentFocus" 这里以调出系统通讯录为例。 查看app启动时间命令&#x…

Charles 流量配置(弱网测试)、断点调试

一、流量配置 流量配置主要是用来检测软件&#xff08;APP&#xff09;在不同的网络环境下的一个表现&#xff0c;例如出现丢包闪退等情况. 流量配置主要有以下四步&#xff1a; 在 Charles 窗口中点击菜单 “Proxy” &#xff0c;选择 "Throttle Setting" 进行网络…

APP测试内容 -- 流量测试常见测试方法

APP测试内容 -- 流量测试常见测试方法 大部分摘自&#xff1a;https://blog.csdn.net/baidu_21833433/article/details/63255182#commentBox 一、Android自带统计功能&#xff08;统计流量总数值&#xff09; proc/uid_stat/{UID}/tcp_snd和tcp_rcv UID是每个app安装时候分配的…

app性能测试:(三)流量监控

app性能测试&#xff1a;&#xff08;三&#xff09;流量监控 下面对流量监控进行分析&#xff1a; 获取进程ID指令 adb shell “ps | grep 包名”获取进程ID流量adb shell cat /proc/pid/net/dev pid换成第一步获取到的进程ID receive是指当前进程接收的数据&#xff0c;tra…

APP的流量测试(android和iOS的流量测试)

1、准备 性能测试工具—fiddler、电脑、Google浏览器、手机、无线&#xff08;手机需要和电脑在一个网段里&#xff09; 2、知识点 1&#xff09;掌握fiddler工具安装&#xff08;这个相对比较简单&#xff0c;大家百度进行安装即可&#xff09; 也可以访问这个网页进行下载…

自动化测试之流量回放技术

流量回放近几年一直是大家热衷讨论的话题&#xff0c;具体的效果智者见智。文章作者也是在技术工程领域有丰富的实践经验&#xff0c;推荐一看。 本篇背景是另外一同事朋友&#xff0c;最近在利用流量回放技术应用在服务端接口自动化测试方面&#xff0c;还在各部门全力推进阶段…

数据流测试

一、基本概念 定义节点 -- DEF(v,n) 使用节点 -- USE(v,n) 谓词使用 -- P-use 计算使用 -- C-use 定义-使用路径 -- du-path 定义-清除路径 -- dc-path 全定义覆盖准则&#xff1a;测试路径需要覆盖所有定义点和任意一个使用点&#xff0c;用dc-path扩展…

app性能测试--流量

测试场景&#xff1a;在手机上面点击想要测试的界面或者一组场景&#xff0c;然后查看用了多少流量。 方法一&#xff1a;使用流量测试的工具&#xff1a;1.tcpdump抓包 2 wireshark进行分析 tcpdump介绍&#xff1a;tcpdump是一款用于截取网络分组&#xff0c;并输出分组内容的…

APP性能测试——流量测试(二)

续上文&#xff1a;APP性能测试--流量测试(一)&#xff0c;上篇文章介绍了如何通过代理工具抓网络请求&#xff0c;通过代理抓包我们可以抓到http和https请求的详细信息&#xff0c;由于代理我们需要连接wifi&#xff0c;很难抓取到4G网络下的流量值&#xff1b;今天介绍一下如…