位置: IT常识 - 正文

vue通知提醒消息(vue 提示)

编辑:rootadmin
vue通知提醒消息

目录

前言

一、Notification

二、Notification引用

           1.全局引用

           2.单独引用

三、参数说明

四、简单案例 

五、项目实战

1、定义全局Notification。

2、Websocket实时接收通知。

3、消息通知


前言

推荐整理分享vue通知提醒消息(vue 提示),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue系统通知,vue推送消息,vue 消息通知,vue 提示,vue消息框,vue 消息通知,vue 消息通知,vue 消息通知,内容如对您有帮助,希望把文章链接给更多的朋友!

最近有个项目需求就是在客户端的右上角要实时展示提醒消息,下面来看下简单的实现步骤

一、Notification

这是基于悬浮出现在页面角落,显示全局的通知提醒消息。这个elmennt-ui组件可以实现我们上面的功能。

二、Notification引用1.全局引用vue通知提醒消息(vue 提示)

element 为 Vue.prototype 添加了全局方法 $notify。因此在 vue instance 中可以采用本页面中的方式调用 Notification。

2.单独引用

import { Notification } from 'element-ui';

此时调用方法为 Notification(options)。我们也为每个 type 定义了各自的方法,如 Notification.success(options)。并且可以调用 Notification.closeAll() 手动关闭所有实例。

三、参数说明

四、简单案例 

右上角就会弹出我们写的html代码段是不是特别简单

<template> <el-button plain @click="open"> 使用 HTML 片段 </el-button></template><script> export default { methods: { open() { this.$notify({ title: 'HTML 片段', dangerouslyUseHTMLString: true, message: '<strong>这是 <i>HTML</i> 片段</strong>' }); } } }</script>五、项目实战

这里大概说一下我的流程,我这里需要建立Websocket连接,服务器实时推送信息给客户端在右上角展示,这里需要用到Websocket以及本章学的通知。Websocket在前一章有讲。案例仅供参考。

1、定义全局Notification。/* 全局Notification */Vue.prototype.$baseNotify = (message, title, type, position) => {Notification({title: title,message: message,position: position || 'top-right',type: type || 'success',duration: messageDuration,})}2、Websocket实时接收通知。initWebSocket() { const token = getAccessToken() const wsurl = `${this.troubelUrl}?code=trouble&token=${token}` this.twebsock = new WebSocket(wsurl) this.twebsock.onmessage = this.websocketonmessage this.twebsock.onopen = this.websocketonopen this.twebsock.onerror = this.websocketonerror this.twebsock.onclose = this.websocketclose }, websocketonopen() { //webscoket定时心跳 this.troubleTimer = setInterval(() => { let pageUrl = window.location.hash if (pageUrl !== '' && pageUrl !== '#/login') { this.websocketsend('heartbeat') } }, 50000) console.log('数据发送...') }, websocketonerror(e) { //连接建立失败重连 setTimeout(() => { this.initWebSocket() }, 10000) console.log('故障连接出错~') }, websocketonmessage(evt) { var monitorData = evt.data monitorData = JSON.parse(monitorData) this.switchOther(this.troublePush, monitorData) }, //根据数据判断进行弹框(紧急呼叫,长时间关人) switchOther(switchValue, monitorData) { if (switchValue === true || switchValue === 'true') { this.handleOpen(monitorData) } }, websocketsend(data) { this.twebsock.send(data) }, websocketclose(e) { if (this.twebsock == null) { return } this.twebsock.close() this.twebsock = null clearInterval(this.troubleTimer) console.log('故障推送关闭~') },3、消息通知 //monitorItem取的前面Websocket返回回来的值 handleOpen(monitorItem) { this.openDialogflase = true const h = this.$createElement let notify = this.$notify({ title: monitorItem.troubleType, message: h('p', null, [ h( 'span', { style: { display: 'inline-block', margin: '0 0 10px 0', }, }, `${monitorItem.projectName}-${monitorItem.useCode}` ), h( 'p', { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', margin: '0 0 5px 0', }, }, [ h('span', null, monitorItem.duration), h( 'span', { style: { color: '#efefef', }, }, monitorItem.fromType ), ] ), h('p', null, monitorItem.address), h( 'button', { style: { padding: '5px 20px', fontSize: '14px', borderRadius: '4px', color: '#fff', background: '#ff575a', border: 'none', margin: '10px 10px 0 0', display: 'inline-block', }, on: { click: this.clickBtn.bind(this, monitorItem), }, }, '查看详情' ), h( 'button', { style: { padding: '5px 20px', fontSize: '14px', borderRadius: '4px', color: '#fff', background: '#ff575a', border: 'none', margin: '10px 10px 0 0', display: 'inline-block', }, on: { click: this.handleShi.bind(this, monitorItem), }, }, '双向视频' ), h( 'button', { style: { padding: '5px 20px', fontSize: '14px', borderRadius: '4px', color: '#fff', background: '#ff575a', border: 'none', margin: '10px 0 0 0', display: 'inline-block', }, on: { click: this.handleQuXiao.bind(this, monitorItem), }, }, '取消' ), ]), duration: 0, showClose: false, }) //将通知实例放入 this.notifications[monitorItem.orderKey] = notify this.handleAudio() }, //关闭当前故障弹框 handleQuXiao(monitorItem) { this.openDialogflase = false this.notifications[monitorItem.orderKey].close() delete this.notifications[monitorItem.orderKey] }, //关闭所有弹窗 closeAll() { let vue = this for (let key in vue.notifications) { vue.notifications[key].close() delete vue.notifications[key] } },
本文链接地址:https://www.jiuchutong.com/zhishi/296046.html 转载请保留说明!

上一篇:JavaWeb简易复习手册(javaweb知识点汇总)

下一篇:GPT-4介绍&api申请(Chatgpt plus)(gpt3 api)

  • 展会策划的几点心得(展览会策划的核心内容)

    展会策划的几点心得(展览会策划的核心内容)

  • 华为手机怎么设置下载软件需要密码(华为手机怎么设置熄灭屏幕时间)

    华为手机怎么设置下载软件需要密码(华为手机怎么设置熄灭屏幕时间)

  • 微信仅聊天别人还可以看到朋友圈吗(微信仅聊天别人还能看到我视频号点赞吗)

    微信仅聊天别人还可以看到朋友圈吗(微信仅聊天别人还能看到我视频号点赞吗)

  • 微信已开双封什么意思(微信已开双封是什么)

    微信已开双封什么意思(微信已开双封是什么)

  • 微信怎么切换到下一行(微信怎么切换到另一个手机上)

    微信怎么切换到下一行(微信怎么切换到另一个手机上)

  • 硅脂干了有什么影响(硅脂干了有什么表现)

    硅脂干了有什么影响(硅脂干了有什么表现)

  • 抖音火力是怎么来的(抖音火力怎么算钱)

    抖音火力是怎么来的(抖音火力怎么算钱)

  • 钉钉里怎么传长视频?(钉钉里怎么传长视频提交作业)

    钉钉里怎么传长视频?(钉钉里怎么传长视频提交作业)

  • 联想legion什么意思(legion 联想)

    联想legion什么意思(legion 联想)

  • K30充满电有提示吗(k30pro充满电还是显示在充电)

    K30充满电有提示吗(k30pro充满电还是显示在充电)

  • 固态硬盘用多长时间(固态硬盘多长多宽)

    固态硬盘用多长时间(固态硬盘多长多宽)

  • 小米8支持蓝牙5.0吗(小米8支持蓝牙编码)

    小米8支持蓝牙5.0吗(小米8支持蓝牙编码)

  • 12306积分不够可以补钱吗(12306积分不够可以买半程票吗)

    12306积分不够可以补钱吗(12306积分不够可以买半程票吗)

  • 抖音移除粉丝后对方知道么(抖音移除粉丝后对方的关注列表里还有我吗)

    抖音移除粉丝后对方知道么(抖音移除粉丝后对方的关注列表里还有我吗)

  • 淘宝号被限制能恢复吗(淘宝账号被限还能重新注册吗)

    淘宝号被限制能恢复吗(淘宝账号被限还能重新注册吗)

  • 苹果备忘录背景颜色(苹果备忘录背景纹理怎么设置)

    苹果备忘录背景颜色(苹果备忘录背景纹理怎么设置)

  • 怎样在wps表格中画斜线(怎样在wps表格中添加日历)

    怎样在wps表格中画斜线(怎样在wps表格中添加日历)

  • 移动wifi密码忘了怎么办(移动WiFi密码忘了怎么改)

    移动wifi密码忘了怎么办(移动WiFi密码忘了怎么改)

  • 起始页码怎么设置(起始页码怎么设置为罗马数字)

    起始页码怎么设置(起始页码怎么设置为罗马数字)

  • 苹果mini4和mini5区别(苹果mini4和mini5屏幕大小)

    苹果mini4和mini5区别(苹果mini4和mini5屏幕大小)

  • 爱奇艺弹幕怎么关闭(爱奇艺弹幕怎么设置一行)

    爱奇艺弹幕怎么关闭(爱奇艺弹幕怎么设置一行)

  • 最右如何创建话题(最右如何添加通讯录好友)

    最右如何创建话题(最右如何添加通讯录好友)

  • oppor15x功能介绍(oppor15有什么功能怎么用)

    oppor15x功能介绍(oppor15有什么功能怎么用)

  • 个人独资企业要交税吗
  • 小规模企业收入怎么做账
  • 关联交易纳税调整期限
  • 税控盘抵减增值税需要结转吗
  • 利润表中的其他业务利润包括哪些
  • 可供出售权益工具投资是非货币
  • 最新的税收政策
  • 取得成本发票
  • 出差过程中招待员工
  • 一般纳税人公司卖车怎么做账
  • 纳税评估滞纳金会计分录怎么处理?
  • 把扣款挂到其它应收款的会计分录怎么做?
  • 价税合计是什么会计科目
  • 员工扣款个税如何做账
  • 财税2009年59号解读
  • 预付账款的借方是应付账款的哪方
  • 企业所得税看哪里
  • 信用证和银行承兑汇票的区别如何做分录
  • 半年付一次房租,房东一般提前多长时间催租
  • 房产评估增值部门有哪些
  • 补充医疗保险报销流程
  • 个人出租房屋交税如何计算
  • vc_runtimeMinimum_x64.msi 找不到的解决方法
  • 销售净利率范围
  • 企业发生待摊费怎么处理
  • 小规模减免的增值税怎么记账
  • php中删除文件的函数
  • kb4503269补丁安装失败解决办法
  • php获取指定日期是星期几
  • 计提坏账可以冲回吗
  • 实收资本大于注册资本是什么意思
  • 森林里雾气弥漫,给大家带来了什么困难?
  • seata+nacos
  • 增值税逾期未申报怎么补申报
  • php的session和cookie实现登录
  • 有关商品房质量的投诉,这些年一直
  • 施工企业应承担的主要责任和义务
  • 资产减值损失属于营业外支出吗
  • 帝国cms生成app
  • 注册资金印花税税率是多少,怎么计算?
  • sqlserver数据库和mysql区别
  • 收货和入库的区别
  • sqlserver时间格式化时分秒
  • 新会计准则股权投资
  • 公司购车购置税可以抵扣吗
  • 银行转账费用多少钱
  • 何为居民企业
  • 实际成本法下采购材料的会计分录
  • 新政府会计制度与旧制度区别
  • 以前年度多计提成本怎么处理
  • 股东以货币出资的 应当将货币足额存入
  • 微信提现手续费多少?
  • 开发票货款未公对公转如何做账?
  • 房屋租赁合同印花税的税率
  • 企业里面不征税的有哪些
  • 新成立公司会计要做哪些事情
  • 总分机构和分总机构的区别
  • 个人生产经营所得税怎么申报
  • 关闭terminal monitor
  • mysql按字节截取
  • win7系统权限设置
  • windowsxp如何清理磁盘
  • G40/50-70、SR1000随机Linux改安装Win7系统的实现方法
  • u盘怎么安装驱动程序
  • 电脑自建热点
  • 如何提升windows版本
  • win7系统浏览器版本老怎么升级
  • 如何自定义win键
  • nodejs使用视频教程
  • 深入解析抑郁症:什么是它的表现?别小看它的危害程度!
  • iframe语法
  • Node.js中的核心模块包括哪些内容?
  • Node.js中的事件循环是什么
  • unity3d开发流程
  • 单向链表的基本操作
  • 深入浅析是什么意思
  • 国家税务总局增值税发票查验平台官网
  • 城管大队长级别高吗
  • 开发商代收代缴电费能开发票吗
  • 税务申报如何网上申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设