信号强度功能 界面、逻辑和图标(免费)

信号强度

需求

vue项目,需要实时监控系统信号,要求:

1.共五格信号;
2.信号0-100为满值,信号100-500为四格,信号500-1000为三格,信号1000-5000为两格,信号5000-20000为一格,大于20000为无信号;
3.信号0-100为绿色,信号100-500为绿色,信号500-1000为黄色,信号1000-5000为黄色,信号5000-20000为红色,大于20000为灰色。

效果

在这里插入图片描述

图标地址

免费 信号图标-六个图标-图标资源

https://download.csdn.net/download/xuelong5201314/88701607

代码

signalStrength.vue 文件


<!-- 信号强度 -->
<template>
  <div class="signal-strength">
    <img v-if="strength === 5" :src="url5" />
    <img v-else-if="strength === 4" :src="url4" />
    <img v-else-if="strength === 3" :src="url3" />
    <img v-else-if="strength === 2" :src="url2" />
    <img v-else-if="strength === 1" :src="url1" />
    <img v-else :src="url0" />
  </div>
</template>

<script>
export default {
  name: 'SignalStrength',
  props: {
    // 信号强度,默认满格信号
    strength: {
      type: Number,
      default: 5,
      validator: function (value) {
        // 必须为不大于5的整数
        if (value > 5 || value < 0) {
          return false
        } else {
          return true
        }
      }
    }
  },
  data() {
    return {
      url0: require('@/assets/image/signal-0.png'),
      url1: require('@/assets/image/signal-1.png'),
      url2: require('@/assets/image/signal-2.png'),
      url3: require('@/assets/image/signal-3.png'),
      url4: require('@/assets/image/signal-4.png'),
      url5: require('@/assets/image/signal-5.png')
    }
  }
}
</script>

<style lang="scss" scoped>
.signal-strength {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translate(-50%, -50%);
  img {
    -webkit-user-drag: none;
    user-select: none;
  }
}
</style>

index.vue 父组件

<template>
	<div class="content-piece">
		<div class="content-item-two">
			网络延迟:
			<span v-if="systemSignal > 0">{{ systemSignal }}ms</span> <span v-else>无信号</span>
 			网络信号:
			<div class="signal-box">
				<signal-strength :strength="systemSignalNum"></signal-strength>
			</div>
		</div>
	</div>
</template>

<script>
import signalStrength from './signalStrength.vue'
import api from './api'
export default {
  components: {
    signalStrength
  },
  data() {
    return {
      systemSignal: 0, // 系统信号
      systemSignalNum: 0 // 系统信号栏
    }
  },
  created() {
    this.getSignal()
  },
  beforeDestroy() {
    // 销毁定时器
    clearInterval(this.timer)
  },
  methods: {
    // 获取系统信号延迟
    getSystemSignal() {
      const time = new Date().getTime()
      // 当前请求没有返回值,通过计算请求成功后的时间与发送请求前的时间之差获取当前信号
      api.getSystem().then(res => {
        const delay = new Date().getTime() - time
        this.systemSignal = delay
        this.systemSignalNum = this.calculateSignal(delay)
      }).catch(() => {
        this.systemSignal = -1 // 系统信号
        this.systemSignalNum = 0 // 系统信号栏
      })
    },
    // 获取信号延迟
    getSignal() {
      this.getSystemSignal()
      this.timer = setInterval(() => {
        this.getSystemSignal()
      }, 3000)
    },
    // 计算信号
    calculateSignal(num) {
      let signalValue = 0
      if (num <= 100 && num > 0) {
        signalValue = 5
      } else if (num > 100 && num <= 500) {
        signalValue = 4
      } else if (num > 500 && num <= 1000) {
        signalValue = 3
      } else if (num > 1000 && num <= 5000) {
        signalValue = 2
      } else if (num > 5000 && num <= 20000) {
        signalValue = 1
      } else {
        signalValue = 0
      }
      return signalValue
    }
  }
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/294883.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python学习笔记(五)函数、异常处理

目录 函数 函数的参数与传递方式 异常处理 函数 函数是将代码封装起来&#xff0c;实现代码复用的目的 函数的命名规则——同变量命名规则&#xff1a; 不能中文、数字不能开头、不能使用空格、不能使用关键字 #最简单的定义函数 user_list[] def fun(): #定义一个函数&…

微软 Power Platform 使用Power Automate发送邮件以Dataverse作为数据源的附件File Column

微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式 目录 微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式1、需求背景介绍2、附件列File Column介绍3、如何在Po…

华焰天下隆重推出华火智能电燃灶产品,引领绿色科技新潮流!

近日&#xff0c;以“慧聚英雄南昌&#xff0c;论道策划科技——畅展华焰未来&#xff0c;迈向财富新时代”为主题的华火新能源产品发布会于江西南昌盛大举办。 各级领导、全国各地的企业家、家电行业优秀从业者、新能源应用领域专家、策划行业名人大咖及广大媒体朋友莅临活动…

小心JDK20 ZipOutputStream

Oracle 團隊竟然這麽粗心&#xff0c;編譯JDK 20 時ZipOutputStream沒有編譯成功就發佈了。 所以這個20版本不可以使用ZipOutputStream。 GZIPInputStream 只能做最後的壓縮&#xff0c;不能添加多個附件ZipEntry。 下一個版本21不存在這個問題。 try(var zipOut new ZipOu…

LabVIEW开发智能水泵监测系统

LabVIEW开发智能水泵监测系统 水泵作为水利、石化、农业等领域的重要设备&#xff0c;其能效与健康状态直接关系到提灌泵站的运行效率。尽管水泵机组在全球能源消耗中占有显著比例&#xff0c;但实际运行效率常因设备老化和维护不当而远低于预期。这一状况需要更高效的监测手段…

Spring Boot 整合 Knife4j(快速上手)

关于 Knife4j 官方文档&#xff1a;https://doc.xiaominfo.com/ Knife4j是一个基于Swagger的API文档生成工具&#xff0c;它提供了一种方便的方式来为Spring Boot项目生成在线API文档。Knife4j的特点包括&#xff1a; 自动化生成&#xff1a;通过Swagger注解&#xff0c;Kn…

黑马程序员SpringBoot2-运维实用篇

视频连接&#xff1a;运维实用篇-51-工程打包与运行_哔哩哔哩_bilibili 打包与运行 程序打包与运行&#xff08;Windows&#xff09; 可执行jar包目录结构 左上角的结构是没有插件打包后的结构&#xff0c;左下是安装插件后的结构。 jar包描述文件&#xff08;MANIFEST.MF&a…

Python Gradio构建简单的交互界面

Gradio 是一个用于构建机器学习和数据科学的交互式应用程序的 Python 库&#xff0c;但是我们可以用它来构建一些简单的交互界面&#xff0c;其代码之简单令人震惊 文本输入输出 import gradio as grdef szu(text):return textinterface gr.Interface(fnszu, inputs"text…

开发知识点-Java网络编程-Netty

Netty P1 Netty-导学分布式网络返回 异步结果dubbo rabbitmqtest 测试案例多线程 日志 第1章_01_nio三大组件-channel-buffer网络编程 框架jdk 1.4 之后才有 nio这个 APIChannel 数据传输通道 &#xff08;双向&#xff09;Buffer 内存缓冲区 &#xff08;暂存Channel 的 数据&…

Babylonjs 6.0文档 Deep Dive - 摄像机介绍(一)

摄像机 在Babylon.js的众多的可用摄像机中&#xff0c;最常用的两种可能是用于“第一人称”运动的通用相机、轨道相机ArcRotateCamera&#xff0c;以及用于现代虚拟现实体验的WebXRCamera。 为了允许用户输入&#xff0c;摄像机必须被附加在canvas中 camera.attachControl(c…

HttpRunner辅助函数debugtalk.py

辅助函数debugtalk.py Httprunner框架中&#xff0c;使用yaml或json文件进行用例描述&#xff0c;无法做一些复杂操作&#xff0c;如保存一些数据跨文件调用&#xff0c;或者实现一些复杂逻辑判断等&#xff0c;为了解决这个问题&#xff0c;引入了debugtalk.py辅助函数来进行一…

分布式数据之复制(Replication)

1.简介 1.1简介——使用复制的目的 在分布式系统中&#xff0c;数据通常需要被分散在多台机器上&#xff0c;主要为了达到以下目的&#xff1a; 扩展性&#xff0c;数据量因读写负载巨大&#xff0c;一台机器无法承载&#xff0c;数据分散在多台机器 上可以有效地进行负载均衡…

STM32通用定时器-输入捕获-脉冲计数

一、知识点 编码器   两相编码器&#xff08;正交编码器&#xff09;&#xff1a;两相编码器由 A 相和 B 相组成&#xff0c;相位差为 90 度。当旋转方向为顺时针时&#xff0c;A 相先变化&#xff0c;然后 B 相变化&#xff1b;当旋转方向为逆时针时&#xff0c;B 相先变化…

为了搞项目,我差点把京东 “爬“ 了个遍。。

最近在重构我的准备 智慧校园助手2.0 &#xff0c;奈何之前的相关数据放在服务器被小黑子黑了&#xff0c;准备重新搞点数据&#xff0c;借此和大家分享一波我之前做项目没数据该咋搞 &#x1f440;。 Java面试指南 & 大厂学习导航&#xff1a;www.java2top.cn 完整源码获取…

软件测试|SQL中的LIKE模糊匹配该怎么用?

简介 在SQL&#xff08;Structured Query Language&#xff09;中&#xff0c;LIKE是一种用于模糊匹配的操作符。通过使用LIKE&#xff0c;我们可以根据模式匹配的方式进行数据检索&#xff0c;而不仅仅局限于完全匹配。本文将详细介绍SQL中LIKE操作符的语法、用法以及一些示例…

柯桥职场英语中千万别把英文邮件中的“OOO”理解成“哦哦哦”!不然可就尴尬了!

有的同学工作中跟老外打交道比较多 尤其是写邮件&#xff0c;除了要把事情交代清楚 还有一些缩写我们也必须掌握 就拿发邮件时老外最爱用到的“OOO”来说 千万不要把“OOO”理解成“噢噢噢” 今天给大家分享几个关于邮件的常用表达 它们真正的意思你都知道吗 01 “OOO”可…

设置进程优先级

#include <windows.h>int main() {// 获取当前进程的句柄HANDLE hProcess GetCurrentProcess();// 设置当前进程的优先级为高SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS);// 执行其他代码return 0; }进程优先级 标志 idle &#xff08;低&#xff09; IDL…

43 tmpfs/devtmpfs 文件系统

前言 在 linux 中常见的文件系统 有很多, 如下 基于磁盘的文件系统, ext2, ext3, ext4, xfs, btrfs, jfs, ntfs 内存文件系统, procfs, sysfs, tmpfs, squashfs, debugfs 闪存文件系统, ubifs, jffs2, yaffs 文件系统这一套体系在 linux 有一层 vfs 抽象, 用户程序不用…

正则表达式解析与应用:深度剖析正则表达式的威力

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Swagger Editor 教程:从入门到精通编写 API 文档

在 API 开发的领域中&#xff0c;Swagger 以其卓越的使用效率与便捷性&#xff0c;备受开发者欢迎。它是一个强大的接口设计工具&#xff0c;允许开发人员对 RESTful API 进行高效的设计、构建及测试工作。本文旨在深入探讨其中一个子工具——Swagger Editor的使用介绍及它的有…