uniapp原生插件之安卓华为统一扫码HMS Scan Kit
插件介绍
华为统一扫码服务(Scan Kit)提供便捷的条形码和二维码扫描、解析、生成能力
插件地址
安卓华为统一扫码HMS Scan Kit - DCloud 插件市场
超级福利
uniapp 插件购买超级福利
详细使用文档
详细使用文档
插件申请权限
- android.permission.CAMERA
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.WRITE_EXTERNAL_STORAGE
- android.hardware.camera
- android.hardware.camera.autofocus
- android.permission.VIBRATE
- android.permission.READ_MEDIA_IMAGES
- android.permission.MANAGE_EXTERNAL_STORAGE
用法
在需要使用插件的页面加载以下代码
const module = uni.requireNativePlugin("leven-ScanKit-ScanModule");
扫码类型枚举
| 序号 | 名称 | 扫码格式 |
|---|---|---|
| 1 | code128 | Code 128 |
| 2 | code39 | Code 39 |
| 3 | code93 | Code 93 |
| 4 | codabar | Codabar |
| 5 | ean13 | EAN-13 |
| 6 | ean8 | EAN-8 |
| 7 | itf14 | ITF14 |
| 8 | upccode-a | UPC-A |
| 9 | upccode-e | UPC-E |
| 10 | qrcode | QR |
| 11 | pdf417 | PDF417 |
| 12 | aztec | Aztec |
| 13 | datamatrix | DataMatrix |
插件方法
打开扫码 startScan
用法
module.startScan({scanType: ['qrcode', 'codabar'],viewType: 1}, res => {console.log(res);})
参数说明
| 参数名 | 参数类型 | 是否必填 | 默认值 | 参数描述 |
|---|---|---|---|---|
| scanType | Array | 否 | 全部格式 | 扫码格式,请参考插件使用说明 |
| viewType | int | 否 | 0 | 标题类型,0.设置扫码标题为“扫描二维码/条码”,1.设置扫码标题为“扫描二维码” |
回调示例
{"data": {"resultType": "Text","scanResult": "123456","codeFormat": "qrcode"},"message": "","code": 0
}
回调说明
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| message | String | 消息提示 |
| data | Object | 数据对象 |
| data.resultType | String | 扫码结果类型 |
| data.scanResult | String | 扫码结果 |
| data.codeFormat | String | 码格式,请参考插件使用说明 |
| code | Integer | 返回类型,0.成功,其他:失败 |
自定义扫码 customScan
用法
module.customScan({scanType: ['qrcode', 'codabar'],scanTitle: "自定义标题",scanTip: "自定义扫码框内容",isShowScanTip: false,isSelectPicture: false,scanBoxWidth: 400,scanBoxHeight: 400,scanBoxImage: require("@/static/scan_image.png")}, res => {console.log(res);})
参数说明
| 参数名 | 参数类型 | 是否必填 | 默认值 | 参数描述 |
|---|---|---|---|---|
| scanType | Array | 否 | 全部格式 | 扫码格式,请参考插件使用说明 |
| scanTitle | String | 否 | 扫码 | 扫码标题 |
| scanTip | String | 否 | 将码放入取景框,即可自动扫描 | 扫码框上方说明文字 |
| isShowScanTip | Boolean | 否 | true | 是否展示扫码框上方说明文字 |
| isSelectPicture | Boolean | 否 | true | 是否可以选择本地图片 |
| scanBoxWidth | Integer | 否 | 500 | 扫码框的宽度 |
| scanBoxHeight | Integer | 否 | 500 | 扫码框的高度 |
| scanBoxImage | String | 否 | 无 | 自定义扫码框图片 |
回调示例
{"data": {"resultType": "Text","scanResult": "123456","codeFormat": "qrcode"},"message": "","code": 0
}
回调说明
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| message | String | 消息提示 |
| data | Object | 数据对象 |
| data.resultType | String | 扫码结果类型 |
| data.scanResult | String | 扫码结果 |
| data.codeFormat | String | 码格式,请参考插件使用说明 |
| code | Integer | 返回类型,0.成功,其他:失败 |
生成码图 createCode
用法
module.createCode({content: "123456",type: "qrcode",width: this.width,height: this.height,color: "#ff0000",bgColor: "#00FF00",logo: require("@/static/logo.png"),margin: 10}, res => {let data = res.data.base64;this.src = "data:image/png;base64," + data})
参数说明
| 参数名 | 参数类型 | 是否必填 | 默认值 | 参数描述 |
|---|---|---|---|---|
| content | String | 是 | 无 | 内容 |
| type | String | 是 | qrcode | 码类型,请参考插件使用说明 |
| width | Integer | 否 | 400 | 宽度 |
| height | Integer | 否 | 400 | 高度 |
| color | String | 否 | #000000 | 颜色 |
| bgColor | String | 否 | #FFFFFF | 背景颜色 |
| margin | Integer | 否 | 1 | 边距 |
| level | String | 否 | L | 容错能力,可选值:L(可纠正约7%错误) ,M(可纠正约15%错误),Q(可纠正约25%错误),H(可纠正约30%错误) |
| logo | String | 否 | 无 | 中心图标 |
回调示例
{"data": {"base64": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\nCHwIZIgAAAPxSURBVHic7d3RkdRGFEDRkcvZQAJ2GhAD5LQ5bBouAjDxyJ/+AK4oN+1uzZ5TtT9U\n7axGw6UXvWrpeJyP8wF812+rDwB2JhAIAoEgEAgCgSAQCAKBIBAIAoEgEAgCgSAQCAKBIBAIAoHw\n++gLnMevOIx9HRe7Za7e/+j3j1r981e7ev9XrCAQBAJBIBAEAkEgEAQCQSAQhucgV0avQ882ew6w\nes6x++uPmn1+rSAQBAJBIBAEAkEgEAQCQSAQps9Brtx9TjBq9PhG96OMevbPzwoCQSAQBAJBIBAE\nAkEgEAQCYfkc5O7uPsegWUEgCASCQCAIBIJAIAgEgkAgmIMsZs6xNysIBIFAEAgEgUAQCASBQBAI\nhOVzkLvPAUbvC3X355jf/fO7YgWBIBAIAoEgEAgCgSAQCAKBMH0Osvt1/NlG5xyr5yRv/fOzgkAQ\nCASBQBAIBIFAEAgEgUAYnoM8+36A2Vafv9U/f3dWEAgCgSAQCAKBIBAIAoFwPM6HC33/0buXP1Yf\nwk86X79++vJh9VHc0fL7Ys3ebzB7P8Y9HB9mnefZz4kfNXp8fsWCIBAIAoEgEAgCgSAQCAKBMD2Q\n8+iv4+yvK7O/v479LRg9v1ef/+6WDwqf3d+f/vrmz96//Ln8tfg5fsWCIBAIAoEgEAgCgSAQCMOX\neWfvp7j78zV2t3q/zO77SawgEAQCQSAQBAJBIBAEAkEgEKY/H2T3+x6NfP+7l7Gf/X/60ftcPefY\nfQ5lBYEgEAgCgSAQCPakL/C9veXsyQoCQSAQtt8PMmr0Ovvq459t9/0gq/9++T/IZO5bdW9+xYIg\nEAgCgSAQCAKBIBAIw4GMPj9itqvj2/34f43zdfUR/Mjs58eMsoIM2fcv3r/O16+fv3xcfRR3dTzO\nx9P8O7nC7Ds7rl7FZh/f7u/fCgJBIBAEAkEgEAQCYfp+kLu7uoqy+irL6qtoq69Czf75VhAIAoEg\nEAgCgSAQCAKBIBAI02/7s3pOcOXZ5zij72/1+Vk9Z7GCQBAIBIFAEAgEgUAQCASBQFj++IPdn6N+\n5e7PH5l9V5JRq8+PFQSCQCAIBIJAIAgEgkAgCATC8jnIWzd7jnL1+qP7LXa/b9YoKwgEgUAQCASB\nQBAIBIFAEAgEc5DJRucEV2Y/32P2nGR3VhAIAoEgEAgCgSAQCAKBIBAIy+cgd79OPnvOsXqOMeru\nz2G3gkAQCASBQBAIBIFAEAgEgUA4Hudj6Ery6udoz7b7nGb1+Z/9fJHV598KAkEgEAQCQSAQBAJB\nIBAEAmF4DgLPzAoCQSAQBAJBIBAEAkEgEAQCQSAQBAJBIBAEAkEgEAQCQSAQBALhH/5LDzAWuaeA\nAAAAAElFTkSuQmCC\n"},"message": "","code": 0
}
回调说明
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| message | String | 消息提示 |
| data | Object | 数据对象 |
| data.base64 | String | 生成码图结果,base64编码 |
| code | Integer | 返回类型,0.成功,其他:失败 |
联系作者
购买插件前请先试用,试用通过再购买。在试用中如果遇到任何问题,可与作者联系,QQ:334106817,将全力协助你使用本插件。
预览图片




相关文章:
uniapp原生插件之安卓华为统一扫码HMS Scan Kit
插件介绍 华为统一扫码服务(Scan Kit)提供便捷的条形码和二维码扫描、解析、生成能力 插件地址 安卓华为统一扫码HMS Scan Kit - DCloud 插件市场 超级福利 uniapp 插件购买超级福利 详细使用文档 详细使用文档 插件申请权限 android.permi…...
数模国赛——多波束测线问题模型建立研究分析
第一次参加数模国赛,太菜了~~~~意难平 问题一 画出与测线方向垂直的平面和海底坡面的交线构成一条与水平面夹角为𝐀的斜线的情况下的示意图进行分析,将覆盖宽度分为左覆盖宽度和右覆盖宽度,求出它们与海水深度和𝐀、…...
[AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
文章目录 一、简介二、服务请求报文定义肯定响应支持的NRC三、示例流程Step 1:Step 2:报文示例:Step 1:请求RequestDownload(0x34)服务Step 2:请求TransferData (0x36)服务,传输数据Step 3:请求RequestTransferExit(0x37)服务总结:三、示例代码37_req_transfer_e…...
vue+canvas实现横跨整个页面的动态的波浪线(贝塞尔曲线)
本来写这个特效 我打算用css实现的,结果是一波三折,我太难了,最终没能用css实现,转战了canvas来实现。来吧先看效果图 当然这个图的波浪高度、频率、位置、速度都是可调的,请根据自己的需求调整,如果你讲波浪什么的调大一下 还有有摆动的效果哦。 以下是完整代码 <…...
LeetCode算法题解| 669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树
一、LeetCode 669. 修剪二叉搜索树 题目链接:669. 修剪二叉搜索树 题目描述: 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变…...
直播界很火的无线领夹麦克风快充方案 Type-C接口 PD快充+无线麦克风可同时进行
当前市场上流行一款很火的直播神器,无线领夹麦克风(MIC),应用于网红直播,网课教学,采访录音,视频录制,视频会议等等场景。 麦克风对我们来说并不陌生,而且品类有很多。随…...
Jmeter 汉化中文语言
找到 bin -> jmeter.propertise 修改参数:languageen --> languagazh_CN OK!...
centos9 stream 下 rabbitmq高可用集群搭建及使用
RabbitMQ是一种常用的消息队列系统,可以快速搭建一个高可用的集群环境,以提高系统的弹性和可靠性。下面是搭建RabbitMQ集群的步骤: 基于centos9 stream系统 1. 安装Erlang和RabbitMQ 首先需要在所有节点上安装Erlang和RabbitMQ。建议使用官…...
代码随想录算法训练营第10天|232. 用栈实现队列 225. 用队列实现栈
JAVA代码编写 232. 用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除…...
线上Kafka集群如何调整消息存储时间
这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党 Kafka版本 kafka_2.13-3.5.0 背景 Kafka 默认消息存储时间为7天,实际线上的业务使用Kafka更多的是一些数据统计之类的业务,大多是朝生夕…...
[迁移学习]DA-DETR基于信息融合的自适应检测模型
原文标题为:DA-DETR: Domain Adaptive Detection Transformer with Information Fusion;发表于CVPR2023 一、概述 本文所描述的模型基于DETR,DETR网络是一种基于Transformer的目标检测网络,详细原理可以参见往期文章:…...
【MATLAB】全网唯一的13种信号分解+FFT傅里叶频谱变换联合算法全家桶
有意向获取代码,请转文末观看代码获取方式~ 大家吃一顿火锅的价格便可以拥有13种信号分解FFT傅里叶频谱变换联合算法,绝对不亏,知识付费是现今时代的趋势,而且都是我精心制作的教程,有问题可随时反馈~也可单独获取某一…...
Nginx安装与配置
1.下载安装包 官网下载地址:nginx: download 可以先将安装包下载到本地再传到服务器,或者直接用wget命令将安装包下载到服务器,这里我们直接将安装包下载到服务器上。未安装wget命令的需要先安装wget,yum install -y wget [root…...
linux笔记总结-基本命令
参考: 1.Linux 和Windows比 比较 (了解) 1. 记住一句经典的话:在 Linux 世界里,一切皆文件 2. Linux目录结构 /lib • 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几 乎所有…...
[PHP]禅道项目管理软件ZenTaoPMS源码包 v16.4
禅道项目管理软件ZenTaoPMS一键安装包是一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。注重实效的管理思想,合理的软件…...
Required String parameter ‘name‘ is not present
[org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter name is not present] 服务端有参数name,客户端没有传上来...
路由器基础(五): OSPF原理与配置
开放式最短路径优先 (Open Shortest Path First,OSPF) 是一个内部网关协议 (Interior Gateway Protocol,IGP),用于在单一自治系统(Autonomous System,AS) 内决策路由。OSPF 适合小型、中型、较大规模网络。OSPF 采用Dijkstra的最短路径优先算法 (Shortest Pat…...
Leetcode1128. 等价多米诺骨牌对的数量
Every day a Leetcode 题目来源:1128. 等价多米诺骨牌对的数量 解法1:暴力 代码: class Solution { public:int numEquivDominoPairs(vector<vector<int>> &dominoes){int n dominoes.size(), count 0;for (int i 0;…...
Dev-C调试的基本方法2-2
3.3 跳出函数 在图6所示的状态下,点击单步调试(F7)会继续调试下一行,而如果想结束在函数中的调试,则点击图4③所示的跳出函数,或CtrlF8按键跳出f()函数,程序将会停在图5所示的第11行处。 3.4 …...
企业之间的竞争,ISO三体系认证至关重要!
ISO三体系认证是指ISO 9001质量管理体系认证、ISO 14001环境管理体系认证、ISO 45001(OHSAS18001)职业健康安全管理体系认证。企业(组织)自愿申请、通过ISO三体系认证,并贯彻落实,确实能获益多多。 ISO 9001质量管理体系 我们经…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
