微信小程序:自定义扫码功能

2024-09-02 06:12

本文主要是介绍微信小程序:自定义扫码功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们今天主要是介绍小程序自定义扫码的应用,相关业务处理可以根据自己需求来填补

WXML: 

<view class="scan-box direction-column" wx:if="{{ showCanScan }}"><camera class="camera" resolution="high" device-position="back" binderror="error" flash='{{flashBtn}}'><image class="camera-img" src="{{iconScanBgGif}}"></image></camera><view><view class="scan-tip">请将摄像头对准VIN号</view><view class="margin-top-40 flex-center direction-column"><view class="flashlight-btn" bind:tap="changeflashBtn"><image src="{{flashBtn=='on'?'手电筒打开图标':'手电筒关闭图标'}}"></image></view><view class="margin-top-20">轻触照亮</view><view class="margin-top-20"><van-button plain hairline type="primary" bind:tap="recognition">扫一扫</van-button></view><view class="margin-top-20"><van-button plain hairline type="primary" bind:tap="hideScanWindow">取消</van-button></view></view></view>
</view>

WXSS:

page {font-family: PingFang SC-Regular, PingFang SC;font-size: 24rpx;background-color: #F8F7FB;
}.flex-center {display: flex;justify-content: center;align-items: center;
}.direction-column {flex-direction: column;
}.margin-top-20 {margin-top: 20rpx;
}.margin-top-40{margin-top: 40rpx;
}.scan-box {position: fixed;top: 0;width: 100%;height: 100vh;background-color: #000000;z-index: 999999;
}.scan-box .camera {position: relative;width: 100vw;height: 10vw;margin: 20vh auto 0;
}.scan-box .camera-img{position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 99999;
}.scan-box .scan-tip {padding: 20rpx 0 0 0;font-size: 32rpx;text-align: center;color: #fff;
}.scan-box .flashlight-btn{background: transparent !important;width: 100rpx;height: 80rpx;padding: 0 !important;
}.scan-box .flashlight-btn>image{width: 100%;height: 100%;
}

JS:

const app = getApp()
Page({/*** 页面的初始数据*/data: {windowHeight: app.globalData.windowHeight + 400,showCanScan: false,flashBtn: 'off',checked: true},numberRecognition: function () {this.takePhoto();},uploadAndRecognition(paths) {Toast.loading({duration: 0,message: '识别中...',forbidClick: true,});let _this = this;//  图片上传处理接口},//拍照takePhoto: function () {var that = this;//创建拍照上下文对象const ctx = wx.createCameraContext()ctx.takePhoto({quality: 'high',//拍照成功success: (res) => {that.uploadAndRecognition(res.tempImagePath);},fail: err => {console.log(err)}})},changeflashBtn: function () {let _this = this;_this.setData({flashBtn: _this.data.flashBtn == 'off' ? 'on' : 'off'})},hideScanWindow: function () {let _this = this;_this.setData({ showCanScan: false })}
})

这篇关于微信小程序:自定义扫码功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用