当前位置:首页 » 《我的小黑屋》 » 正文

uniapp通过websocket实现手机APP通知栏消息显示功能(前端部分)

27 人参与  2024年05月14日 17:14  分类 : 《我的小黑屋》  评论

点击全文阅读


 开门见山地说,在移动应用端,从后端及时获取消息,展示到手机消息通知栏上面来与用户进行交互是一个很高频的应用场景,这篇文章就来介绍一下,在uniapp开发中如何实现这种需求。
 要实现这个需求,对于前端来说主要技术需要拆分成两部分:一是从后端及时获取消息,本文介绍的方式是通过websocket获得后端推送的最新消息。二是将获得的消息展示到手机的通知栏上面,将内容展示给用户。

一.websocket的前端实现

 在components中新增websocket.js,复制一下代码:

let isSocketClose = false; // 是否关闭socketlet reconnectCount = 5; // 重连次数let heartbeatInterval = ""; // 心跳定时器let socketTask = null; // websocket对象let againTimer = null; //断线重连定时器let url = null;let onReFn = null;let onSucFn = null;let onErrFn = null;/** * sockeUrl:websocet的地址 * onReceive:消息监听的回调 * onErrorEvent:抛出错误的回调,且弹窗连接失败的提示框 * onErrorSucceed:抛出成功回调,主要用于隐藏连接失败的提示框 * */const sokcet = (sockeUrl, onReceive, onErrorEvent, onErrorSucceed) => {   url = sockeUrl;onReFn = onReceive;onErrFn = onErrorEvent;onSucFn = onErrorSucceed;isSocketClose = false;//判断是否有websocet对象,有的话清空if (socketTask) {   socketTask.close();socketTask = null;clearInterval(heartbeatInterval);}//WebSocket的地址// 【非常重要】必须确保你的服务器是成功的,如果是手机测试千万别使用ws://127.0.0.1:9099【特别容易犯的错误】let url = sockeUrl// 连接socketTask = uni.connectSocket({   url: url,success(data) {   console.log("websocket连接成功");clearInterval(againTimer) //断线重连定时器},fail: (err) => {   console.log(url)console.log(

点击全文阅读


本文链接:http://zhangshiyu.com/post/108551.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1