uni-app App端半屏连续扫码 (不花钱)

2023-10-17 13:30

本文主要是介绍uni-app App端半屏连续扫码 (不花钱),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<template><view class="page"><view class="title">扫码结果</view><view class="result_list"><view v-for="item in list" :key="item" class="result_li">{{ item }}</view></view></view>
</template><script setup>
import { onReady } from '@dcloudio/uni-app'
import { ref } from 'vue'let webView = null // webview容器
let barcode = null // 扫码框const list = ref([]) // 扫码结果 - 列表// 扫码成功回调
function onmarked(type, result) {// 【步骤4】将扫码结果添加到 list 里list.value.push(result)// 【步骤5】1秒后再重新开启扫码setTimeout(() => {barcode.start()}, 1000)
}// 创建窗口和扫码控件
function createBarcode() {// 【步骤1】判断有没有创建过 webview 容器,如果没有就执行创建操作if (!webView) {webView = plus.webview.open('','barCodeBox',{top: '60px',width: '100%',height: '200px'})}// 【步骤2】判断有没有创建过 扫码框,如果没有就执行创建操作if(!barcode){barcode = plus.barcode.create('barcode',[plus.barcode.QR], // 只扫二维码{top:'0px',left:'0px',width: '100%',height: '200px',position: 'static',scanbarColor: '#f1c01f',frameColor: '#c0ff01'})barcode.onmarked = onmarked // 扫码结果回调函数// 【步骤3】将扫码框添加到 webview 里plus.webview.getWebviewById('barCodeBox').append(barcode)}barcode.start() // 开始扫码
}// 在页面加载时,延迟300毫秒执行创建扫码框函数
onReady(() => {setTimeout(() => {createBarcode()}, 300)
})
</script><style>
.page {height: 100vh;display: flex;flex-direction: column;box-sizing: border-box;padding: 200px 20rpx 0;
}.title {font-size: 50rpx;color: #333;
}.result_list {flex: 1;overflow-y: auto;box-sizing: border-box;padding-top: 20rpx;
}.result_li {box-sizing: border-box;margin-bottom: 20rpx;padding: 10rpx 20rpx;border: 1px solid #7298c8;border-radius: 10rpx;font-size: 40rpx;
}
</style>

uni-app App端半屏连续扫码 - 掘金前端佬使用 uni-app 自定义扫码窗口,实现连续扫码功能。除了 uni-app ,我们还会用到 html5+ 的能力去蚕食安卓佬的蛋糕。https://juejin.cn/post/7072621583939928077#heading-8

这篇关于uni-app App端半屏连续扫码 (不花钱)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225708

相关文章

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

poj2406(连续重复子串)

题意:判断串s是不是str^n,求str的最大长度。 解题思路:kmp可解,后缀数组的倍增算法超时。next[i]表示在第i位匹配失败后,自动跳转到next[i],所以1到next[n]这个串 等于 n-next[n]+1到n这个串。 代码如下; #include<iostream>#include<algorithm>#include<stdio.h>#include<math.

XTU 1233 n个硬币连续m个正面个数(dp)

题面: Coins Problem Description: Duoxida buys a bottle of MaiDong from a vending machine and the machine give her n coins back. She places them in a line randomly showing head face or tail face o

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

ConstraintLayout布局里的一个属性app:layout_constraintDimensionRatio

ConstraintLayout 这是一个约束布局,可以尽可能的减少布局的嵌套。有一个属性特别好用,可以用来动态限制宽或者高app:layout_constraintDimensionRatio 关于app:layout_constraintDimensionRatio参数 app:layout_constraintDimensionRatio=“h,1:1” 表示高度height是动态变化

App Store最低版本要求汇总

1,自此日期起: 2024 年 4 月 29 日 自 2024 年 4 月 29 日起,上传到 App Store Connect 的 App 必须是使用 Xcode 15 为 iOS 17、iPadOS 17、Apple tvOS 17 或 watchOS 10 构建的 App。将 iOS App 提交至 App Store - Apple Developer 2,最低XCode版本 Xcod

Leetcode面试经典150题-128.最长连续序列-递归版本另解

之前写过一篇这个题的,但是可能代码比较复杂,这回来个简洁版的,这个是递归版本 可以看看之前的版本,两个版本面试用哪个都保过 解法都在代码里,不懂就留言或者私信 class Solution {/**对于之前的解法,我现在提供一共更优的解,但是这种可能会比较难懂一些(思想方面)代码其实是很简洁的,总体思想如下:不需要排序直接把所有数放入map,map的key是当前数字,value是当前数开始的

LCP 485. 最大连续 1 的个数[lleetcode -11]

从今天起,我们的算法开始研究搜索,首先就是DFS深度优先搜索(depth-first seach,DFS)在搜索到一个新的节点时,立即对该新节点进行遍 历;因此遍历需要用先入后出的栈来实现,也可以通过与栈等价的递归来实现。对于树结构而言, 由于总是对新节点调用遍历,因此看起来是向着“深”的方向前进。 下面是一个一维的DFS算法 LCP 485. 最大连续 1 的个数 给定一个二进制数组 nu

鸿蒙自动化发布测试版本app

创建API客户端 API客户端是AppGallery Connect用于管理用户访问AppGallery Connect API的身份凭据,您可以给不同角色创建不同的API客户端,使不同角色可以访问对应权限的AppGallery Connect API。在访问某个API前,必须创建有权访问该API的API客户端。 1.登录AppGallery Connect网站,选择“用户与访问”。选择左侧