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

北海网站建设网搜索引擎优化seo名词解释

北海网站建设网,搜索引擎优化seo名词解释,新疆建设工程云网站教育培训,网站建设公司建设1. 前言 ​ 去年就想做支付宝小程序接入mqtt协议。但最终多方咨询,问客服问社区得到的答案都是支付宝小程序不能直接支持mqtt协议。偶然间发现徐宏大神的佳作,终于发现了xmqtt.js这个好东西。它实现了支付宝小程序完美接入mqtt协议,设备可以…

1. 前言

​ 去年就想做支付宝小程序接入mqtt协议。但最终多方咨询,问客服问社区得到的答案都是支付宝小程序不能直接支持mqtt协议。偶然间发现徐宏大神的佳作,终于发现了xmqtt.js这个好东西。它实现了支付宝小程序完美接入mqtt协议,设备可以正常连接、订阅、收发消息。这里站在巨人的肩膀上分享下,接入xmqtt.js的全过程。

2. xmqtt.js

xmqtt.js免费0积分下载地址https://download.csdn.net/download/qq_35921773/88306608

3. 封装api

新建alimqtt.js,这里为了便于使用,我们对他进行一次封装。

let xmqtt = require('./xmqtt.js');
var mqtt = {};
import { uuid } from 'vue-uuid';
const host = 'alis://'+process.env.SERVER_HOST+':8084/mqtt';
//client对象
var client = null;
var options={protocolVersion: 4, //MQTT连接协议版本clientId: 'wxapp_client_'+uuid.v1(),myAli: null,clean: true,password: 'dd',username: 'admin',reconnectPeriod: 3000, //1000毫秒,两次重新连接之间的间隔connectTimeout: 30 * 1000, //1000毫秒,两次重新连接之间的间隔resubscribe: true //如果连接断开并重新连接,则会再次自动订阅已订阅的主题(默认true)
}
//订阅的主题与回掉方法
var map = new Map();/*** mqtt 连接状态* 0:正在连接* 1:连接成功建立* 2:连接正在关闭* 3:连接已经关闭*/
let connectStatus = 0;//初始化weboscket
mqtt.initMqtt = () => {//开始连接if(null == client){console.log('连接mqtt服务器',host,options)client = xmqtt.connect(host, options);}client.on('connect', function (connack) {console.log('连接成功')})//服务器下发消息的回调client.on("message", function (topic, payload) {console.log(" 收到 topic:" + topic + " , payload :" + payload)})//服务器连接异常的回调client.on("error", function (error) {console.log(" 服务器 error 的回调" + error)})//服务器重连连接异常的回调,一般是域名或者服务器不存在client.on("reconnect", function () {console.log(" 服务器 reconnect的回调")})//服务器连接异常的回调client.on("offline", function (err) {console.log(" 服务器offline的回调"+JSON.stringify(err))})
}/*** 订阅主题* topic:主题名称* qos:服务质量*/
mqtt.subscribe = function(topic, qos, receiveCallback) {if (client && client.connected) {//仅订阅单个主题client.subscribe(topic, function (err, granted) {if (!err) {console.log('订阅主题成功')map.set('device',receiveCallback);} else {console.log('订阅主题失败')}})} else {console.log('请先连接服务器')setTimeout(function() {mqtt.subscribe(topic, qos, receiveCallback);}, 1000)}
}/*** 取消订阅主题* topic:主题名称*/
mqtt.unsubscribe = function(topic) {if (client && client.connected) {client.unsubscribe(topic);map.delete('device')} else {console.log('请先连接服务器')setTimeout(function() {mqtt.unsubscribe(topic);}, 1000)}
}/*** 发送消息* message:消息内容* topic:主题* qos:服务质量*/
mqtt.publish = function(message, topic, qos) {if (client && client.connected) {client.publish(topic, message,qos);console.log('发布成功')} else {console.log('请先连接服务器')uni.showToast({title: '正在重新连接服务器,请稍后重试',icon: 'none',duration: 2000})setTimeout(function() {mqtt.publish(message, topic, qos);}, 1000)}
}/*** 关闭连接*/
mqtt.disconnect = function() {console.log("关闭mqtt连接");if (null != client) {client.disconnect();} else {//Do-nothing}client = null;
}mqtt.initMqtt();export default mqtt;

4. 如何使用

  1. 页面引入此js,会自动连接mqtt服务器。

    //#ifdef MP-ALIPAY
    import mqtt from "../../common/utils/alimqtt";
    //#endif
    
  2. 订阅主题

     onLoad(option) {//初始化时订阅该主题,当收到消息后自动调用deviceReceiveMsg方法mqtt.subscribe('device', 0, this.deviceReceiveMsg);}
    
  3. 消息接收

      methods: {deviceReceiveMsg(topic, msgObj) {//mqtt收到消息console.log('当前主题' + topic)console.log('消息内容' + msgObj)}}
    
  4. 消息发送

     mqtt.publish("device", "测试消息", 0)
    
http://www.jinmujx.cn/news/109654.html

相关文章:

  • 一学一做动漫视频网站北京seo全网营销
  • 网站空间 哪个公司好seo排名点击工具
  • 西安网站建设新闻可以发广告的100个网站
  • 毕节市交通建设集团网站网店seo关键词
  • 湖南做网站公司腾讯新闻最新消息
  • 网站建设维护 天博网络百度商家平台
  • 网站备案填写网站名称营销渠道的三个类型
  • 博客类网站建设太原seo
  • 只买域名可以做自己的网站嘛邯郸网站优化公司
  • 注册网站模板搜索引擎推广的常见形式有
  • 湛江制作企业网站动态网站设计毕业论文
  • 福州建站服务推广游戏赚钱的平台有哪些
  • 电子商务网站建设方案书网络营销的特点有哪些特点
  • 搭建一个论坛网站信息推广平台
  • 网站建设 天津怎么开发自己的网站
  • 网站建设 云南核心关键词和长尾关键词举例
  • 做窗帘店的网站网站不收录怎么解决
  • 寻甸马铃薯建设网站东莞网站建设方案报价
  • html网站头部如何制作餐饮营销手段13种手段
  • 做网站的证书外链发布平台
  • 手机营销网站模板怎样建立自己的网站平台
  • 河北省做网站的企业软文广告图片
  • php个人网站模板下载品牌推广活动策划方案
  • 建设银行个人网上银行网站加载ueeshop建站费用
  • 苏州做网站的企业行业关键词分类
  • 如何在虚拟机里面做网站山东做网站公司
  • 哪个网站做海外代购济南最新消息
  • cnn头条新闻南昌seo网站排名
  • 做冷库的网站2024年的新闻
  • 婚礼策划网站建设seo友情链接