当前位置: 首页 > news >正文

实现 UniApp 右上角按钮“扫一扫”功能实战教学

实现 UniApp 右上角按钮“扫一扫”功能实战教学

需求

点击右上角扫一扫按钮(onNavigationBarButtonTap监听),打开扫一扫页面(uni.scanCode) 扫描后,以网页的形式打开扫描内容(web-view组件),限制只能浏览带有执行域名的网站,例如(baidu.com)。

实现功能

步骤一、配置pages.json文件

{"path": "pages/index/index", "style": {"navigationBarBackgroundColor": "#345DC2", //导航背景色"navigationBarTextStyle": "white" ,//状态和导航字体样式"app-plus": {"bounce": "none", // 禁止回弹"titleNView": { // 导航配置"type": "transparent", // 滚动透明渐变"searchInput": { // 搜索框"align": "center","placeholder": "搜索你想要的内容","borderRadius": "30rpx","backgroundColor": "#F0F1F2","placeholderColor": "#979c9d", //提示字体颜色"disabled": true //禁止输入,点击进入新搜索页面}// #ifdef APP-PLUS,"buttons": [ //扫描二维码只有app才有{"float": "right", //标题栏上显示位置"background":"rgba(0,0,0,0)", //按钮背景色"fontSize": "23", //按钮大小,不要太大,不然会被隐藏"fontSrc": "/static/icon/iconfont.ttf","text": "\ue689" // 以/u开头,后台加上e开头的}]// #endif}}}},

效果:
实现 UniApp 右上角按钮“扫一扫”功能实战教学
步骤二、创建打开网页页面组件/pages/public/web-view

<template><view><web-view v-if="isOpen(url)" :src="url"></web-view><view class="tip column"><text>如需浏览,请长按网址复制后使用浏览器访问</text><text selectable>{{url}}</text></view></view>
</template><script>export default{data(){return {url:null}},onLoad(options) {this.url = options.url;},methods:{isOpen(){if(this.url){// 只能访问孟学古的网址return this.url.indexOf('baidu.com') !==-1}}}}
</script>
<style lang="scss">.tip{position: relative;top: 200rpx;width: 300rpx;margin: 0 auto;text-align: center;word-wrap: break-word;font-size: 30rpx;text:first-child{font-size: 40rpx;font-weight: bold;margin-bottom: 30rpx;}}
</style>

实现 UniApp 右上角按钮“扫一扫”功能实战教学
步骤三、在pages.json中的pages数组后面添加一个"pages/public/web-view"页面对象

{"path": "pages/public/web-view", //web浏览器组件"style": {"app-plus": {"bounce": "none" // 禁止回弹效果}}
}

实现 UniApp 右上角按钮“扫一扫”功能实战教学

步骤四、使用uniapp提供的页面生命周期钩子 onNavigationBarButtonTap 监听点击的导航按钮,使用uni.scanCode 扫描二维码,注意:onNavigationBarButtonTapmethods同级。

onNavigationBarButtonTap(e){// 点击第一个按钮if(e.index===0){// 打开扫一扫功能uni.scanCode({success:function(res){console.log("条码类型"+res.scanType);console.log("条码内容"+res.result);uni.navigateTo({url:`/pages/public/web-view?url=${res.result}`})}})}},

最终效果:
实现 UniApp 右上角按钮“扫一扫”功能实战教学
完结~

相关文章:

实现 UniApp 右上角按钮“扫一扫”功能实战教学

实现 UniApp 右上角按钮“扫一扫”功能实战教学 需求 点击右上角扫一扫按钮(onNavigationBarButtonTap监听)&#xff0c;打开扫一扫页面(uni.scanCode) 扫描后&#xff0c;以网页的形式打开扫描内容(web-view组件)&#xff0c;限制只能浏览带有执行域名的网站&#xff0c;例如…...

【2024亚太杯亚太赛APMCM C题】数学建模竞赛|宠物行业及相关产业的发展分析与策略|建模过程+完整代码论文全解全析

第一个问题是&#xff1a;请基于附件 1 中的数据以及你的团队收集的额外数据&#xff0c;分析过去五年中国宠物行业按宠物类型的发展情况。并分析中国宠物行业发展的因素&#xff0c;预测未来三年中国宠物行业的发展。 第一个问题&#xff1a;分析中国宠物行业按宠物类型的发展…...

ubtil循环函数调用

什么是until until循环是一种控制流结构。它与while循环相反&#xff0c;while循环是在条件为真时执行循环体&#xff0c;而until循环是在条件为假时执行循环体&#xff0c;直到条件为真时才停止循环。 until代码示例&#xff1a; i0 do until [ ! $i -lt 10 ] echo $…...

使用EFK收集k8s日志

首先我们使用EFK收集Kubernetes集群中的日志&#xff0c;本次实验讲解的是在Kubernetes集群中启动一个Elasticsearch集群&#xff0c;如果企业内已经有了Elasticsearch集群&#xff0c;可以直接将日志输出至已有的Elasticsearch集群。 文章目录 部署elasticsearch创建Kibana创建…...

聚水潭与MySQL数据集成案例分享

聚水潭数据集成到MySQL的技术案例分享 在现代数据驱动的业务环境中&#xff0c;如何高效、可靠地实现不同系统之间的数据对接成为企业关注的焦点。本次案例将详细介绍如何通过轻易云数据集成平台&#xff0c;将聚水潭的数据无缝集成到MySQL数据库中&#xff0c;实现从“聚水谭…...

Python 版本的 2024详细代码

2048游戏的Python实现 概述&#xff1a; 2048是一款流行的单人益智游戏&#xff0c;玩家通过滑动数字瓷砖来合并相同的数字&#xff0c;目标是合成2048这个数字。本文将介绍如何使用Python和Pygame库实现2048游戏的基本功能&#xff0c;包括游戏逻辑、界面绘制和用户交互。 主…...

SpringCloud框架学习(第四部分:Gateway网关)

目录 十一、Gateway新一代网关 1.概述 2.Gateway三大核心 3.工作流程 4.入门配置 5.路由映射 &#xff08;1&#xff09;8001 外部添加网关 &#xff08;2&#xff09;服务间调用添加网关 &#xff08;3&#xff09;存在问题 6.Gateway高级特性 &#xff08;1&#x…...

C++ 类和对象 (上 )

学习本身就是一件很快乐的事情 一. 面向对象和面向过程 我们在学习计算机的过程中经常会听到xxx是一门面向对象的语言 xxx是一门面向过程的语言 那么到底什么是面向对象 什么是面向过程呢&#xff1f; 简单介绍下 面向过程 面向过程关注的是过程 分析出求解问题的步骤&…...

HAProxy面试题及参考答案(精选80道面试题)

目录 什么是 HAProxy? HAProxy 主要有哪些功能? HAProxy 的关键特性有哪些? HAProxy 的主要功能是什么? HAProxy 的作用是什么? 解释 HAProxy 在网络架构中的作用。 HAProxy 与负载均衡器之间的关系是什么? HAProxy 是如何实现负载均衡的? 阐述 HAProxy 的四层…...

探索PyCaret:一个简化机器学习的全栈库

探索PyCaret&#xff1a;一个简化机器学习的全栈库 机器学习领域充满了挑战&#xff0c;从数据预处理、特征工程到模型训练与评估&#xff0c;再到模型部署。对于数据科学初学者或者时间有限的开发者&#xff0c;这一流程可能显得繁琐且复杂。幸运的是&#xff0c;PyCaret 提供…...

英语写作中“联系、关联”associate correlate 及associated的用法

似乎是同义词的associate correlate 实际上意思差别明显&#xff0c;associate 是人们把两者联系在一起&#xff08;主观联系&#xff09;&#xff0c;而correlate 指客观联系。 例如&#xff1a; We always associate sports with health.&#xff08;我们总是将运动和健康联…...

深度学习之目标检测的技巧汇总

1 Data Augmentation 介绍一篇发表在Big Data上的数据增强相关的文献综述。 Introduction 数据增强与过拟合 验证是否过拟合的方法&#xff1a;画出loss曲线&#xff0c;如果训练集loss持续减小但是验证集loss增大&#xff0c;就说明是过拟合了。 数据增强目的 通过数据增强…...

【Flask+Gunicorn+Nginx】部署目标检测模型API完整解决方案

【Ubuntu 22.04FlaskGunicornNginx】部署目标检测模型API完整解决方案 文章目录 1. 搭建深度学习环境1.1 下载Anaconda1.2 打包环境1.3 创建虚拟环境1.4 报错 2. 安装flask3. 安装gunicorn4. 安装Nginx4.1 安装前置依赖4.2 安装nginx4.3 常用命令 5. NginxGunicornFlask5.1 ng…...

Spark核心组件解析:Executor、RDD与缓存优化

Spark核心组件解析&#xff1a;Executor、RDD与缓存优化 Spark Executor Executor 是 Spark 中用于执行任务&#xff08;task&#xff09;的执行单元&#xff0c;运行在 worker 上&#xff0c;但并不等同于 worker。实际上&#xff0c;Executor 是一组计算资源&#xff08;如…...

“AI玩手机”原理揭秘:大模型驱动的移动端GUI智能体

作者&#xff5c;郭源 前言 在后LLM时代&#xff0c;随着大语言模型和多模态大模型技术的日益成熟&#xff0c;AI技术的实际应用及其社会价值愈发受到重视。AI智能体&#xff08;AI Agent&#xff09;技术通过集成行为规划、记忆存储、工具调用等机制&#xff0c;为大模型装上…...

离散数学【关系】中的一些特殊关系

在数学中&#xff0c;关系是描述集合之间元素间关系的方式。以下是对一些常见关系的详细分析及举例&#xff1a; 1. 空关系 (Empty Relation) 空关系是指在一个集合中&#xff0c;没有任何元素之间存在关系。即对于集合中的所有元素&#xff0c;空关系都不包含任何有序对。 …...

docker 配置代理

创建 Docker 服务配置文件&#xff1a; sudo mkdir -p /etc/systemd/system/docker.service.d sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf添加代理配置&#xff1a; [Service] Environment"HTTP_PROXYhttp://<proxy-address>:<port>&q…...

Dockerfile详解:构建简单高效的容器镜像

引言 在容器化技术日益普及的今天&#xff0c;Dockerfile 成为了构建 Docker 镜像的核心工具。通过编写 Dockerfile&#xff0c;开发者可以将应用程序及其依赖打包成一个可移植、可复用的镜像&#xff0c;从而简化部署和运维工作。本文将详细介绍 Dockerfile 的基本概念、常用指…...

RHCD-----shell

要求&#xff1a; 通过shell脚本分析部署nginx网络服务 1.接收用户部署的服务名称 2.判断服务是否安装 ​ 已安装&#xff1b;自定义网站配置路径为/www&#xff1b;并创建共享目录和网页文件&#xff1b;重启服务 ​ 没有安装&#xff1b;安装对应的软件包 3.测试 判断服务是…...

<硬件有关> 内存攒机认知入门,内存的选择 配置 laptop PC 服务器

原因 这不是黑五吗&#xff0c;给我儿子买了台最便宜 ($300) DELL laptop&#xff0c;CPU 是 i5-1235U&#xff0c;但只有 8GB 内存。升级内存吧。 如何选择内存&#xff1a;家用范围 这里不考虑品牌&#xff0c;在我眼里&#xff0c;区别就是价格&#xff0c;还有所谓的物理…...

4款GitHub热门浏览器自动化工具横向评测:哪款最适合你的开发需求?

4款GitHub热门浏览器自动化工具横向评测&#xff1a;哪款最适合你的开发需求&#xff1f; 在数字化转型浪潮中&#xff0c;浏览器自动化已成为提升开发效率的关键技术。无论是日常的数据采集、自动化测试&#xff0c;还是复杂的AI代理交互&#xff0c;选择一款合适的工具往往能…...

广告发光字全科普

广告发光字全科普&#xff1a;从原理到类型&#xff0c;一篇看懂门头招牌的发光逻辑走在城市街头&#xff0c;从连锁品牌门头到商场导视、楼宇标识&#xff0c;随处可见夜晚自动亮起的广告发光字。它早已不是简单的霓虹灯&#xff0c;而是融合材料、工艺、光学与工程的成熟标识…...

Hunyuan-MT-7B像素翻译终端效果实测:中英日韩四语同屏对照演示

Hunyuan-MT-7B像素翻译终端效果实测&#xff1a;中英日韩四语同屏对照演示 1. 产品概览与核心特色 1.1 像素化翻译新体验 Pixel Language Portal&#xff08;像素语言跨维传送门&#xff09;是一款基于Tencent Hunyuan-MT-7B大模型构建的创新翻译工具。与传统翻译软件不同&a…...

GNU Radio滤波器设计中的实时处理优化与性能权衡策略

GNU Radio滤波器设计中的实时处理优化与性能权衡策略 【免费下载链接】gnuradio GNU Radio – the Free and Open Software Radio Ecosystem 项目地址: https://gitcode.com/gh_mirrors/gn/gnuradio 在数字信号处理领域&#xff0c;滤波器设计始终是核心挑战之一&#x…...

SPM12实战:手把手教你搞定fMRI数据预处理(从时间矫正到空间平滑)

SPM12实战&#xff1a;零基础入门fMRI数据预处理全流程解析 第一次接触功能磁共振成像&#xff08;fMRI&#xff09;数据分析时&#xff0c;面对SPM12复杂的界面和晦涩的术语&#xff0c;很多新手都会感到无从下手。这篇文章将带你从零开始&#xff0c;用最直观的方式掌握fMRI数…...

如何用代码快速绘制专业图表?Mermaid Live Editor彻底改变你的可视化工作流

如何用代码快速绘制专业图表&#xff1f;Mermaid Live Editor彻底改变你的可视化工作流 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me…...

Univer:企业级协作平台开发实战

Univer&#xff1a;企业级协作平台开发实战 【免费下载链接】univer Build AI-native spreadsheets. Univer is a full-stack framework for creating and editing spreadsheets on both web and server. With Univer Platform, Univer Spreadsheets is driven directly throug…...

Fluent Meshing体网格生成失败?别慌,先检查你的几何模型是不是‘点接触’了

Fluent Meshing体网格生成失败&#xff1f;别慌&#xff0c;先检查你的几何模型是不是‘点接触’了 当你在Fluent Meshing中看到体网格生成失败的红色报错提示时&#xff0c;那种感觉就像考试时突然发现漏做了一整页题目。特别是当截止日期迫在眉睫&#xff0c;这种报错往往让人…...

3个高效技巧:百度网盘秒传工具实现跨平台文件管理

3个高效技巧&#xff1a;百度网盘秒传工具实现跨平台文件管理 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 在数字化时代&#xff0c;高效文件传输…...

Emmc系列(二)--------协议解析与实战应用

1. Emmc协议基础解析 Emmc协议作为嵌入式存储领域的核心标准&#xff0c;其重要性不言而喻。简单来说&#xff0c;它就像存储设备与主机之间的"普通话"&#xff0c;规定了双方如何高效沟通。我在实际项目中遇到过不少因为协议理解不到位导致的通信故障&#xff0c;今…...