uniapp项目实践总结(十一)自定义网络检测组件

news2024/11/23 22:02:34

导语:很多时候手机设备会突然没网,这时候就需要一个网络检测组件,在没网的时候显示提示用户,提供用户体验。

目录

  • 准备工作
  • 原理分析
  • 组件实现
  • 实战演练
  • 案例展示

准备工作

  • components新建一个q-online文件夹,并新建一个q-online.vue的组件;
  • 按照前一篇所说的页面结构,编写好预定的网络检测页面;

原理分析

主要是使用uni.onNetworkStatusChange来判断网络状态,然后根据状态调整页面样式显示网络提示。

组件实现

准备工作和原理分析完成后,接下来写一个网络检测页面。

模板部分

这里提供了两种提示,一种是全屏显示,一种是顶部显示,支持自定义插槽。

<view class="q-online" v-if="show">
  <slot name="content">
    <view :class="{'q-online-inner': true, [props.type]: true}">
      <q-icon
        class="q-online-icon"
        :name="props.type == 'top' ? 'info-circle' : 'wifi'"
        :size="props.type == 'top' ? 20 : 52"
        color="#f30d0d" />
      <text class="q-online-txt">您的网络已断开,请检查连接!</text>
    </view>
  </slot>
</view>

样式部分

.q-online {
  .q-online-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100rpx;
    background: $netBg;
    .q-online-icon {
      margin-right: 20rpx;
    }
    .q-online-txt {
      color: $netColor;
      font-size: 30rpx;
    }
    &.full {
      position: absolute;
      top: 0;
      left: 0;
      flex-direction: column;
      height: 100%;
      background: $white;
      z-index: 39;
      .q-online-txt {
        margin-top: 30rpx;
        font-size: 36rpx;
      }
    }
  }
}

脚本部分

  • 引入依赖包和属性设置
import { ref } from "vue";
import { onLoad } from "@dcloudio/uni-app";

// 页面属性
let show = ref(false);

// 显示类型
const props = defineProps({
  type: {
    type: String,
    default: "top", // top 顶部 full 全屏
  },
});

// 状态发送
const emits = defineEmits(["change"]);
  • 方法定义
// 页面方法

// 显示
onLoad((option) => {
  checkNet();
});

// 检测网络
function checkNet() {
  uni.onNetworkStatusChange((res) => {
    const status = res.isConnected;
    show.value = !status;
    emits("change", status);
    let title = status ? "网络已连接!" : "网络已断开!",
      icon = status ? "success" : "error";
    uni.showToast({
      title,
      icon,
    });
  });
}

实战演练

模板使用

<!-- 顶部风格 -->
<q-online type="top" />
<!-- 全屏风格 -->
<q-online type="full" @change="getNetStatus" />

脚本使用

// 获取网络状态
function getNetStatus(val) {
  console.log(`网络状态:${val ? "有网" : "无网"}`);
}

案例展示

  • 顶部效果
    在这里插入图片描述
    在这里插入图片描述

  • 全屏效果
    在这里插入图片描述
    在这里插入图片描述

最后

以上就是自定义网络检测组件的主要内容,有不足之处,请多多指正。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为云云服务器评测|安装Java8环境 配置环境变量 spring项目部署 【!】存在问题未解决

目录 引出安装JDK8环境查看是否有默认jar上传Linux版本的jar包解压压缩包配置环境变量 上传jar包以及运行问题上传Jar包运行控制台开放端口访问失败—见问题记录关闭Jar的方式1.进程kill -92.ctrl c退出 问题记录&#xff1a;【!】未解决各种方式查看端口情况联系工程师最后排查…

【C++基础】5. 变量作用域

文章目录 【 1. 局部变量 】【 2. 全局变量 】【 3. 局部变量和全局变量的初始化 】 作用域是程序的一个区域&#xff0c;一般来说有三个地方可以定义变量&#xff1a; 在函数或一个代码块内部声明的变量&#xff0c;称为局部变量。 在函数参数的定义中声明的变量&#xff0c;称…

关于HarmonyOS元服务的主题演讲与合作签约

一、感言 坚持中&#xff0c;总会有很多意想不到的收获。 前几次参与HDC时更多的是观众、开发者、专家的身份&#xff0c;以参观、学习、交流为主。 通过几年的努力&#xff0c;和HarmonyOS功能成长&#xff0c;在2023年的HDC大会中&#xff0c;有了我的演讲&#xff0c;并带领…

永安通配符和泛域名SSL证书的区别

随着互联网的快速发展&#xff0c;现在大多数人都已经习惯在网上交流、购物、学习&#xff0c;因此互联网上的各种类型的网站越来越多&#xff0c;不仅是企事业单位创建各种类型的网站&#xff0c;个人开发者创建的网站也越来越多&#xff0c;一张单域名SSL就不能满足个人或者企…

pdf怎么合并在一起?几种方法快速合并

pdf怎么合并在一起&#xff1f;在处理PDF文件时&#xff0c;有时需要将多个PDF文件合并成一个文件。这种操作在日常学习、工作和生活中很常见。但是&#xff0c;如果没有专业的PDF工具&#xff0c;这项任务可能会变得非常繁琐、耗时和费力。因此&#xff0c;我们需要一款功能强…

java+ssm+mysql电梯管理系统

项目介绍&#xff1a; 使用javassmmysql开发的电梯管理系统&#xff0c;系统包含管理员&#xff0c;监管员、安全员、维保员角色&#xff0c;功能如下&#xff1a; 管理员&#xff1a;系统用户管理&#xff08;监管员、安全员、维保员&#xff09;&#xff1b;系统公告&#…

哈弗猛龙,年轻人的新能源越野车

在 2023 成都车展上&#xff0c;哈弗汽车正式公布猛龙的预售价格&#xff0c;新车的预售价格区间为 16-19 万元&#xff0c;作为一台插电式混合动力车型&#xff0c;新车搭载 1.5THi4 的混动系统&#xff0c;提供纯电续航 102km 和 145km 两个纯电续航版本。 外观造型方面&…

数据库性能测试实践:慢查询统计分析

01、慢查询 查看是否开启慢查询 mysql> show variables like %slow%’; 如图所示&#xff1a; 系统变量log_slow_admin_statements 表示是否将慢管理语句例如ANALYZE TABLE和ALTER TABLE等记入慢查询日志启用log_slow_extra系统变量 &#xff08;从MySQL 8.0.14开始提供&a…

Object —— Guide Groom

从skin几何体生成引导线&#xff0c;并在其节点内可进一步处理引导线&#xff1b;内嵌Hair Generate节点&#xff1b; 注&#xff1a;skin几何体应是静态的&#xff0c;使用Guide Deform使引导线跟随动态skin&#xff1b; Groom Source 可使用第二端口输入的Groom&#xff1b;可…

国内首个侧重能源金融交易的中国社科院-美国杜兰大学能源管理硕士

国内首个侧重能源金融交易的中国社科院-美国杜兰大学能源管理硕士 作为国内首个且唯一侧重能源金融交易的硕士项目&#xff0c;中国社科院与美国杜兰大学合作举办的能源管理硕士&#xff08;Master of Management in Energy&#xff09;项目旨在培养具备国际视野的高级能源金融…

微信小程序给 thinkphp后端发送请求出现错误 Wrong number of segments 问题的解决 【踩坑记录】

微信小程序给 thinkphp后端发送请求出现错误 Wrong number of segments 问题的解决 【踩坑记录】 微信小程序代码部分PHP后端部分错误显示解决方案及步骤&#xff08;总结&#xff09; 微信小程序代码部分 //给后端接口发送一个json请求,并且得通过token鉴权ToUpdatePwd(){wx.r…

【数据结构篇】线性表2 —— 栈和队列

前言&#xff1a;上一篇我们介绍了顺序表和链表 &#xff08;https://blog.csdn.net/iiiiiihuang/article/details/132615465?spm1001.2014.3001.5501&#xff09;&#xff0c; 这一篇我们将介绍栈和队列&#xff0c;栈和队列都是基于顺序表和链表来实现的 目录 栈&#xff…

Metinfo4.0逻辑漏洞

搭建网站 MetInfo历史版本与文件&#xff0c;这里下载 需要进行安装 漏洞复现 点击会员中心进行注册 点击找回密码&#xff0c;输入刚刚创建的账号&#xff0c;然后抓包 登录后修改基本信息 直接抓包修改admin用户的密码 使用admin用户和密码654321&#xff0c;发现登录成功…

波奇学C++:继承

继承是为了复用代码&#xff0c;成员的变量或者成员函数 class Person { public:protected:string _name"li";int _age1; }; class Student :public Person { public:void print(){cout << _age;} protected:int _stuid2; }; 子类student公有继承基类Person,…

可视化工具Datart踩(避)坑指南(1)——不可复用的图表

作为目前国内开源版本最好用的可视化工具&#xff0c;Datart无疑是低成本高效率可供二开的可视化神兵利器。当然&#xff0c;免费的必然要付出一些踩坑的代价。本篇我们来讲一讲可视化工具Datart踩&#xff08;避&#xff09;坑指南&#xff08;1&#xff09;——不可复用的图表…

【小吉测评】高效简洁的数据库管控平台—CloudQuery

文章目录 &#x1f384;CloudQuery是什么&#x1f6f8;CloudQuery支持的数据源类型&#x1f354;CloudQuery社区地址&#x1f33a;如何使用&#x1f6f8;参考官方文档&#x1f6f8;参考视频教程&#x1f388;点击免费下载&#x1f388;立即下载即可&#x1f388;使用服务器完成…

基于Mendix移动原生的离线应用

一、前言 不同行业的企业会有特殊的业务场景&#xff0c;比如某些制造业的企业的工厂是物理隔离的&#xff0c;但工程师需要拿着平板输入很多生产数据&#xff1b;某些煤炭和矿业企业&#xff0c;在实际的工作区都是比较偏远&#xff0c;信号比较差&#xff0c;但是又需要用手…

gt基础教程

每日练习 吉他-结构 吉他-品 吉他谱 六线谱 调音器 试炼导航 每日练习 流程1&#xff1a; 右手拨弦: 大拇指单独练习 控制654弦&#xff0c;每根弦拨4下 6弦4下 5弦4下 4弦4下食指无名指练习 控制321弦&#xff0c;321、321练习&#xff0c; 然后321、123练习&#xff0…

指令系统(408)

一、拓展操作码指令格式 【2017 统考】某计算机按字节编址&#xff0c;指令字长固定且只有两种指令格式&#xff0c;其中三地址指令29条、二地址指令107条&#xff0c;每个地址字段6位&#xff0c;则指令字长至少应该是&#xff08; A&#xff09; A、24位 B、26位 …

离散型行业与MES系统——密不可分的关系

离散型行业通常指的是制造业中的一类&#xff0c;其中产品制造过程是通过离散的步骤和阶段完成的&#xff0c;而不是连续不断的过程。这些离散型行业包括汽车制造、电子制造、航空航天、医药制造、机械制造等。在这些行业中&#xff0c;产品通常是由不同的零部件和组件组装而成…