介绍
这篇文章将为大家详细讲解有关怎么在uniapp项目中使用mqtt,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、uniapp插件市场的参考插件https://ext.dcloud.net.cn/plugin?id=854
二,具体引入过程
1。安装mqtt和uuid
在uniapp项目根目录下分别运行安装mqtt和uuid的命令行,因为后面会用uuid生成mqtt的clientId,所以这边就一起安装了。
npm install mqtt@3.0.0 npm install  uuid
p。
①我这里和uniapp提供的插件安装的mqtt版本一样,我也尝试装了最新的版本,会报错,emmmmm ...........
②如果没有pakage.json,安装是会提示报错,但是不影响安装使用。如果想方便一点,下次拉代码直接安装的话,可以自己在项目根目录下加一个行囊。json文件,添加如下内容:
{ “name"才能:,““, “version"才能:,“1.0.0" “description"才能:,““, “author"才能:,““, “license"才能:,“MIT" “dependencies"才能:,{ ,,,“mqtt":,“^ 3.0.0", ,,,“uuid":,“^ 8.3.0" ,,}, “devDependencies"才能:,{}, “scripts"才能:,{} }
2。页面引入mqtt并调用
①mqtt连接配置,放在/mqtt跑龙套。js里面,全局可用。
export const MQTT_IP =, & # 39; 192.168.9.128:8083/mqtt # 39;//mqtt地址端口 const MQTT_USERNAME =, & # 39;公共# 39;//mqtt用户名 const MQTT_PASSWORD =, & # 39;公共# 39;//密码 export const MQTT_OPTIONS =, { ,,,connectTimeout:, 5000年, ,,,clientId:, & # 39; & # 39; ,,,用户名:,MQTT_USERNAME, ,,,密码:,MQTT_PASSWORD, ,,,清洁:假 }
②vue页面引用mqtt
mqtt里面的clientId用uuid生成唯一标识码,防止不同页面订阅不同主题时数据出现粘连。
& lt; script> ,,,import {, v4 },得到& # 39;uuid # 39;; ,,,import { ,,,,,,,MQTT_IP, ,,,,,,MQTT_OPTIONS ,,,},得到& # 39;@/跑龙套mqtt.js& # 39;; ,,,var mqtt =,需要(& # 39;mqtt/dist/mqtt.js& # 39;) ,,,var 客户端 ,,,export default { ,,,,,,,数据(),{ ,,,,,,,,,,,return { ,,,,,,,,,,,,,,,主题:,& # 39;& # 39;,//要订阅的主题 ,,,,,,,,,,,} ,,,,,,,}, ,,,,,,,安装(),{this.connect(),//连接 ,,,,,,,}, ,,,,,,,方法:,{ ,,,,,,,,,,,连接(),{ ,,,,,,,,,,,,,,,MQTT_OPTIONS.clientId =, v4 () ,,,,,,,,,,,,,,,var that =, ,,,,,,,,,,,,,,,//# ifdef H5 ,,,,,,,,,,,,,,,client =, mqtt.connect (& # 39; ws://& # 39;, +, MQTT_IP,, MQTT_OPTIONS) ,,,,,,,,,,,,,,,//# endif ,,,,,,,,,,,,,,,//,# ifdef MP-WEIXIN | |应用plus ,,,,,,,,,,,,,,,client =, mqtt.connect(& # 39;天气://& # 39;,+,MQTT_IP,, MQTT_OPTIONS) ,,,,,,,,,,,,,,,//# endif ,,,,,,,,,,,,,,,client.on(& # 39;连接# 39;,,()函数,{ ,,,,,,,,,,,,,,,,,,,console.log(& # 39;连接成功& # 39;) ,,,,,,,,,,,,,,,,,,,client.subscribe (that.topic,函数(err), { ,,,,,,,,,,,,,,,,,,,,,,,if (!呃),{ null null null null null null null null null null null null null null null null怎么在uniapp项目中使用mqtt