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

uniapp配置全局消息提醒

1.H5使用根标签插入dom的方式实现。
2.app端使用plus.nativeObj.View的方式绘制实现

  • H5端
  • app端

H5端

创建组件orderAlert.vue

<template><div class="view"><div class="content" v-if="visible"><div class="message">{{ message }}</div></div></div>
</template>
<script>
export default {data() {return {visible:false}},props: ['message'],methods: {	open() {this.visible = true;},close() {this.visible = false;console.log(this.visible);}}
}
</script>
<style lang="stylus" scoped>
.content {position: absolute;top: 70rpx;left: 0%;width: 100%;background-color: #ea3e49;border-radius: 10rpx;color: #fff;opacity: 0.95;z-index: 1000000;.message {line-height: 50rpx;font-weight: 700;font-size: 18rpx;text-align: center;}
}
</style>

创建createDialog.js

import { createVNode, render } from 'vue';
import orderAlert from '@/components/common/orderAlert/orderAlert.vue';export function createDialog(options) {console.log(options);// 创建 DOM 容器const container = document.createElement('div');document.getElementById('app').appendChild(container);// 创建组件实例const vnode = createVNode(orderAlert, {...options,onClose: () => {// 销毁组件render(null, container);document.body.removeChild(container);}});// 渲染组件render(vnode, container);// 获取组件实例const instance = vnode.component?.proxy;console.log(instance);// 返回组件实例以调用 open 方法instance.open();setTimeout(()=>{instance.close() },3000)return instance;
}

全局调用
import {
createDialog
} from “@/utils/createDialog.js”

createDialog({message: 'hello'
})

app端

创建nativePanel.js

let nativePanel = null;/*** 显示顶部悬浮消息* @param {string} message - 消息内容* @param {object} options - 配置选项* options.backgroundColor: 背景颜色 (默认: #ea3e49)* options.textColor: 文字颜色 (默认: #ffffff)* options.fontSize: 文字大小 (默认: 18rpx)* options.duration: 自动隐藏时间 (默认: 2000ms)*/
export function showNativePanel(message, options = {}) {const {backgroundColor = "#ea3e49",textColor = "#ffffff",fontSize = "18px",duration = 2000,} = options;// 将 rpx 转换为 px(假设屏幕宽度为 750rpx)const rpxToPx = (value) => (value / 750) * plus.screen.resolutionWidth;const styles = {top: `${rpxToPx(70)}px`,left: "0px",width: `${plus.screen.resolutionWidth}px`,height: `${rpxToPx(100)}px`,};if (!nativePanel) {// 创建原生 ViewnativePanel = new plus.nativeObj.View("nativePanel", {top: styles.top,left: styles.left,width: styles.width,height: styles.height,});// 绘制背景矩形nativePanel.drawRect({color: backgroundColor,radius: `${rpxToPx(10)}px`,});// 绘制文字nativePanel.drawText(message,{top: "0px",left: "0px",width: styles.width,height: styles.height,},{size: fontSize,color: textColor,align: "center",verticalAlign: "middle",weight: "bold",});// 显示面板nativePanel.show();// 自动隐藏setTimeout(() => {hideNativePanel();}, duration);} else {// 更新面板内容nativePanel.draw([{tag: "rect",color: backgroundColor,rectStyles: { radius: `${rpxToPx(10)}px` },position: {top: "0px",left: "0px",width: styles.width,height: styles.height,},},{tag: "font",text: message,textStyles: {size: fontSize,color: textColor,align: "center",verticalAlign: "middle",weight: "bold",},position: {top: "0px",left: "0px",width: styles.width,height: styles.height,},},]);nativePanel.show();// 自动隐藏setTimeout(() => {hideNativePanel();}, duration);}
}/*** 隐藏顶部悬浮面板*/
export function hideNativePanel() {if (nativePanel) {nativePanel.hide();}
}

全局调用

	import { showNativePanel, hideNativePanel } from "@/utils/nativePanel.js";showNativePanel('消息消息消息消息', {backgroundColor: "#ea3e49",textColor: "#ffffff",fontSize: "18px",duration: 3000, // 显示 3 秒
});//主动隐藏
hideNativePanel();

相关文章:

uniapp配置全局消息提醒

1.H5使用根标签插入dom的方式实现。 2.app端使用plus.nativeObj.View的方式绘制实现 H5端app端 H5端 创建组件orderAlert.vue <template><div class"view"><div class"content" v-if"visible"><div class"message&q…...

卸载snap docker一直卡住:Save data of snap “docker“ in automatic snapshot set #3

在卸载 Snap 安装的 Docker 时卡住&#xff0c;通常是因为 Snap 在执行卸载时会先尝试保存一些快照&#xff08;自动或手动创建的&#xff09;&#xff0c;并且该过程可能因某些原因而卡住。为了解决这个问题&#xff0c;你可以按照以下步骤强制删除 Snap 安装的 Docker&#x…...

python学习——字典元素的访问和遍历

在Python中&#xff0c;访问和遍历字典元素的方法如下&#xff1a; 文章目录 访问字典元素1. 使用键来访问值2. 使用 get() 方法 遍历字典元素1. 遍历字典的键2. 遍历字典的值3. 遍历字典的键和值4. 使用列表推导式来创建新的列表 实操 访问字典元素 1. 使用键来访问值 # 创…...

数据结构基础之《(9)—归并排序》

一、什么是归并排序 1、整体是递归&#xff0c;左边排好序右边排好序merge让整体有序 2、让其整体有序的过程里用了排外序方法 3、利用master公式来求解时间复杂度 4、当然可以用非递归实现 二、归并排序说明 1、首先有一个f函数 void f(arr, L, R) 说明&#xff1a;在arr上…...

【深度学习】各种卷积—卷积、反卷积、空洞卷积、可分离卷积、分组卷积

在全连接神经网络中&#xff0c;每个神经元都和上一层的所有神经元彼此连接&#xff0c;这会导致网络的参数量非常大&#xff0c;难以实现复杂数据的处理。为了改善这种情况&#xff0c;卷积神经网络应运而生。 一、卷积 在信号处理中&#xff0c;卷积被定义为一个函数经过翻转…...

远程视频验证如何改变商业安全

如今&#xff0c;商业企业面临着无数的安全挑战。尽管企业的形态和规模各不相同——从餐厅、店面和办公楼到工业地产和购物中心——但诸如入室盗窃、盗窃、破坏和人身攻击等威胁让安全主管时刻保持警惕。 虽然传统的监控摄像头网络帮助组织扩大了其态势感知能力&#xff0c;但…...

电脑启动需要经历哪些过程?

传统BIOS启动流程 1. BIOS BIOS 启动&#xff0c;BIOS程序是烧进主板自带的ROM里的&#xff0c;所以无硬盘也可以启动。BIOS先进行自检&#xff0c;检查内存、显卡、磁盘等关键设备是否存在功能异常&#xff0c;会有蜂鸣器汇报错误&#xff0c;无错误自检飞快结束。 硬件自检…...

纯Go语言开发人脸检测、瞳孔/眼睛定位与面部特征检测插件-助力GoFly快速开发框架

前言​ 开发纯go插件的原因是因为目前 Go 生态系统中几乎所有现有的人脸检测解决方案都是纯粹绑定到一些 C/C 库&#xff0c;如 ​​OpenCV​​ 或 ​​​dlib​​​&#xff0c;但通过 ​​​cgo​​​ 调用 C 程序会引入巨大的延迟&#xff0c;并在性能方面产生显著的权衡。…...

postman使用正则表达式提取数据实战篇!

之前篇章中postman多接口关联使用的是通过JSON提取器的方式进行提取。 除了JSON提取器提取数据外还可通过另一种方式——正则表达式来提取数据。 1、使用正则表达式提取器实现接口关联&#xff0c;match匹配 正则匹配表达式将需要提取的字段key:value都放入表达式中&#xff…...

ipmitool使用详解(三)-解决各种dell、hp服务器无法ipmitool连接问题

报错 [root@localhost ~]# ipmitool -H 10.1.2.41 -I lan -U admin -P "password123" lan print 1 Get Session Challenge command failed Error: Unable to establish LAN session Error: Unable to establish IPMI v1.5 / RMCP session [root@localhost ~]# ipmit…...

AWS EC2设置用户名密码登录

使用AWS EC2 设置用户名密码登录 步骤 1: 访问控制台 登录到AWS管理控制台。导航至 EC2 Dashboard。在左侧导航栏中选择 Instances。选择需要配置的实例。使用 EC2 Instance Connect 访问实例控制台。 步骤 2: 切换到 root 用户 打开终端或命令行工具&#xff0c;通过SSH连…...

BurpSuite安装教程(详细!!附带下载链接)

声明 学习内容来自 B 站UP主泷羽sec&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 ✍&#x1f3fb;作者简介&#xff1a;致…...

MIPS寄存器文件设计实验

今天写MIPS寄存器文件设计实验&#xff0c;同时复习一下MIPS这块地方 实验要求&#xff1a; 一、寄存器的作用 想象一下&#xff0c;你正在厨房准备做一顿大餐。你需要用到各种食材和工具&#xff0c;比如刀、锅、砧板&#xff0c;还有食材本身&#xff0c;比如肉、菜、调料等…...

uniapp使用扩展组件uni-data-select出现的问题汇总

前言 不知道大家有没有学习过我的这门课程那&#xff0c;《uniCloud云开发Vue3版本官方推荐用法》&#xff0c;这么课程已经得到了官方推荐&#xff0c;想要快速上手unicloud的小伙伴们&#xff0c;可以学习一下这么课程哦&#xff0c;不要忘了给一键三连呀。 在录制这门课程…...

反向代理模块开发

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;将从服务器上得到的结果返回给客户端&#xff0c;此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说&#xff0c;反向代理就相当于…...

海康面阵、线阵、读码器及3D相机接线说明

为帮助用户快速了解和配置海康系列设备的接线方式&#xff0c;本文将针对海康面阵相机、线阵相机、读码器和3D相机的主要接口及接线方法进行全面整理和说明。 一、海康面阵相机接线说明 海康面阵相机使用6-pin P7接口&#xff0c;其功能设计包括电源输入、光耦隔离信号输入输出…...

AI与ArcGIS Pro的地理空间分析和可视化

AI思维已经成为一种必备的能力&#xff0c;ArcGIS Pro3的卓越性能与ChatGPT的智能交互相结合&#xff0c;将会为您打造了一个全新的工作流程! 那么如何将火热的ChatGPT与ArcGIS Pro3相结合&#xff0c;使我们无需自己进行复杂的编程&#xff0c;通过强大的ChatGPT辅助我们完成地…...

详解HTML5语言

文章目录 前言任务一 认识HTML5任务描述&#xff1a;知识一 HTML5基础知识 任务二 HTML 5语义元素任务描述&#xff1a;知识一 HTML5新增结构元素知识二 HTML5文本语义元素 总结 前言 HTML5是一个新的网络标准&#xff0c;现在仍处于发展阶段。目标是取代现有的HTML 4.01和XHT…...

docker compose一键启动ES集群和kibana

集群启用了XPACK后&#xff0c;只有第一次可以启动成功。要是宕机了。就启动不了了。&#xff08;除非删除data目录所有数据&#xff09;生产环境 启用了后 建议配置 自定义证书。 services:es01:image: "docker.elastic.co/elasticsearch/elasticsearch:7.17.25"co…...

遗传算法与深度学习实战(25)——使用Keras构建卷积神经网络

遗传算法与深度学习实战&#xff08;25&#xff09;——使用Keras构建卷积神经网络 0. 前言1. 卷积神经网络基本概念1.1 卷积1.2 步幅1.3 填充1.4 激活函数1.5 池化 2. 使用 Keras 构建卷积神经网络3. CNN 层的问题4. 模型泛化小结系列链接 0. 前言 卷积神经网络 (Convolution…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...