uniapp在app端扫码核销(支持自定义内容) 📅 发布时间:2026/7/4 1:29:08 👁️ 浏览次数: 效果图如下本文将详细介绍如何使用 nvue Barcode 模块实现一个完整的自定义扫码页面。为什么选择 nvue因为uniapp中这个组件的限制配置首先需要在 manifest.json 中启用 Barcode 模块{ app-plus: { modules: { Barcode: {}, Camera: {} }, distribute: { android: { permissions: [ uses-permission android:name\android.permission.CAMERA\/ ] } } } }2. pages.json 配置在 pages.json 中注册页面并隐藏导航栏 { path: pages/Shops/code, style: { navigationBarTitleText: 扫一扫, app-plus: { titleNView: false } } }页面完整代码template view classpage !-- 状态栏占位 -- view classstatus-bar :style{ height: statusBarHeight px }/view !-- 自定义导航栏 -- view classnav-bar view classnav-back clickgoBack uni-icons typeleft size18 color#333333/uni-icons /view text classnav-title订单核销/text view classnav-placeholder/view /view !-- 扫码区域容器 -- view classscan-container !-- Barcode 组件 -- barcode refbarcode classbarcode :autostartfalse markedonMarked erroronError /barcode !-- 底部提示 -- view classbottom-tip clickgoToManualInput text classtip-text无法识别试试/text text classtip-link手动输入核销码/text /view /view /view /templateJs逻辑代码export default { data() { return { statusBarHeight: 0, isScanning: false // 防止重复扫码 } }, created() { // 获取状态栏高度适配不同机型 const systemInfo uni.getSystemInfoSync(); this.statusBarHeight systemInfo.statusBarHeight || 0; }, onReady() { // 页面首次加载时启动扫码 this.startScan(); }, onShow() { // 页面显示时重新启动扫码处理返回场景 this.isScanning false; this.startScan(); }, methods: { // 启动扫码 startScan() { this.$nextTick(() { try { const barcode this.$refs.barcode; if (barcode barcode.start) { barcode.start(); console.log(扫码已启动); } } catch (e) { console.log(启动扫码失败, e); } }); }, // 扫码成功回调 onMarked(e) { // 防止重复处理 if (this.isScanning) { return; } this.isScanning true; const result e.detail.code; console.log(扫码结果, result); // 处理扫码结果 this.handleScanResult(result); // 延迟重置标志 setTimeout(() { this.isScanning false; }, 2000); }, // 扫码失败回调 onError(e) { console.log(扫码错误, e); uni.showToast({ title: 扫码失败, icon: none }); }, // 处理扫码结果 handleScanResult(code) { // 跳转到处理页面或调用接口 uni.navigateTo({ url: /pages/result?code code }); }, // 手动输入 goToManualInput() { uni.navigateTo({ url: /pages/manualInput }); }, // 返回 goBack() { uni.navigateBack({}); } } }关于css就不公布了大家可以自己定义。遇到的一些问题1.页面黑屏考虑Barcode 组件未正确启动// 确保在 $nextTick 中启动 this.$nextTick(() { const barcode this.$refs.barcode; if (barcode barcode.start) { barcode.start(); } });2.扫码后卡死扫码成功后组件未停止继续占用摄像头- 使用 isScanning 标志防止重复处理- 在 onShow 中重置状态3.返回后无法扫码autostart 只在首次加载时生效onShow() {this.startScan(); // 手动重启}
基于python的贫困生资助管理系统(源码+lw+部署文档+讲解等) 课题介绍 本课题针对校园贫困生资助管理中存在的申请流程繁琐、资助信息杂乱、审核效率低下、资助名单管控不便、资助数据统计困难等痛点,设计并实现基于Python的贫困生资助管理系统。系统采用Python语言搭建高效稳定的服务架构,整合数据处理框架实现资助… 2026/7/3 11:52:37
以下因素是双膜储气柜寿命长久的充分条件 膜材防腐专用 :内膜、外膜和底膜都采用防腐专用膜材,采用耐腐蚀的环保专用复合材料,主要由高强抗拉纤维、气密性防腐涂层、表面涂层组成,具有防腐、抗老化、抗微生物及紫外线等功能,并且防火级别达到B1级标准。先进的焊… 2026/5/17 2:29:10
【毕业设计】基于Python的商场停车管理系统的设计与实现(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/5/17 2:29:10
YOLO与视觉大模型融合:构建实时零样本目标检测系统 🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 在计算机视觉领域,我们常常面临一个矛盾:想要实现精准的检测和分割,往往需要针对特定目标训练专… 2026/7/4 1:27:17
计算机视觉实战:从四大任务到YOLO/U-Net模型部署全流程 🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 在实际项目中,计算机视觉(Computer Vision, CV)早已不是实验室里的概念,而是驱动自动… 2026/7/4 1:27:17
GitHub加速解决方案:突破国内网络限制的高效开发工具 GitHub加速解决方案:突破国内网络限制的高效开发工具 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 对于国内开发者而… 2026/7/4 1:25:15
Unity编辑器扩展:Hierarchy窗口图标绘制优化实践 1. 项目概述HierarchyIconDrawer是Unity编辑器扩展开发中的一个实用功能组件,主要用于在Hierarchy窗口中的GameObject旁绘制自定义图标。这个功能在大型项目开发中尤为实用,可以帮助开发者快速识别特定类型的游戏对象,提升场景编辑效率。我在… 2026/7/4 1:23:15
Jetson Nano部署HRNet:边缘计算人体姿态估计实战 1. 项目背景与核心挑战在边缘计算设备上部署计算机视觉模型一直是工业界的热点需求。Jetson Nano作为NVIDIA推出的边缘AI计算平台,凭借其GPU加速能力和低功耗特性,成为众多实时视觉应用的理想选择。人体姿态估计作为计算机视觉领域的重要任务,… 2026/7/4 1:23:15
【计算机Java毕业设计案例】基于 SpringBoot 的一卡通用户信息运维管理系统的设计与实现 高校一卡通收支明细查询管理系统(程序+文档+讲解+定制) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/4 1:21:14
STM32F745VG与MC6470 IMU的高性能姿态控制系统设计 1. MC6470与STM32F745VG的黄金组合解析在工业自动化和机器人控制领域,传感器与微控制器的协同工作能力直接决定了系统的响应速度和定位精度。MC6470作为一款6自由度惯性测量单元(6DOF IMU),与STM32F745VG这款基于ARM Cortex-M7内核的高性能微控制器组合&… 2026/7/4 0:00:28
Playwright自动化测试实战:从零搭建现代Web测试框架 1. 项目概述:为什么是 Playwright?如果你正在为现代 Web 应用的自动化测试头疼,尤其是面对那些充斥着动态加载、复杂交互的单页应用(SPA),那么 Playwright 的出现,很可能就是你的解药。我接触过… 2026/7/4 0:00:28
终极指南:如何将JSXBIN二进制文件转换为可读JSX源代码 终极指南:如何将JSXBIN二进制文件转换为可读JSX源代码 【免费下载链接】jsxbin-to-jsx-converter JSXBin to JSX Converter written in C# 项目地址: https://gitcode.com/gh_mirrors/js/jsxbin-to-jsx-converter 你是否曾经面对过Adobe产品的JSXBIN文件感到… 2026/7/4 0:02:28