91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在uniapp項目中使用mqtt

發布時間:2021-05-18 10:41:05 來源:億速云 閱讀:741 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關怎么在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

怎么在uniapp項目中使用mqtt

怎么在uniapp項目中使用mqtt

Ps.

①我這里和uniapp提供的插件安裝的mqtt版本一樣,我也嘗試裝了最新的版本,會報錯,emmmmm...........

②如果沒有pakage.json,安裝是會提示報錯,但是不影響安裝使用。如果想方便一點,下次拉代碼直接安裝的話,可以自己在項目根目錄下加一個pakage.json文件,添加如下內容:

{
  "name": "",
  "version": "1.0.0",
  "description": "",
  "author": "",
  "license": "MIT",
  "dependencies": {
    "mqtt": "^3.0.0",
    "uuid": "^8.3.0"
  },
  "devDependencies": {},
  "scripts": {}
}

2.頁面引入mqtt并調用

①mqtt連接配置,放在/utils/mqtt.js里面,全局可用。

export const MQTT_IP = '192.168.9.128:8083/mqtt'//mqtt地址端口
const MQTT_USERNAME = 'public'//mqtt用戶名
const MQTT_PASSWORD = 'public'//密碼

export const MQTT_OPTIONS = {
    connectTimeout: 5000,
    clientId: '',
    username: MQTT_USERNAME,
    password: MQTT_PASSWORD,
    clean: false
}

②vue頁面引用mqtt

mqtt里面的clientId用uuid生成唯一標識碼,防止不同頁面訂閱不同主題時數據出現粘連。

<script>
    import { v4 } from 'uuid';
    import {
        MQTT_IP,
        MQTT_OPTIONS
    } from '@/utils/mqtt.js';
    var mqtt = require('mqtt/dist/mqtt.js')
    var client
    export default {
        data() {
            return {
                topic: '' //要訂閱的主題
            }
        },
        mounted() {this.connect() //連接
        },
        methods: {
            connect() {
                MQTT_OPTIONS.clientId = v4()
                var that = this
                // #ifdef H5
                client = mqtt.connect('ws://' + MQTT_IP, MQTT_OPTIONS)
                // #endif
                // #ifdef MP-WEIXIN||APP-PLUS
                client = mqtt.connect('wx://' + MQTT_IP, MQTT_OPTIONS)
                // #endif
                client.on('connect', function() {
                    console.log('連接成功')
                    client.subscribe(that.topic, function(err) {
                        if (!err) {
                            console.log('訂閱成功')
                        }
                    })
                }).on('reconnect', function(error) {
                    console.log('正在重連...', that.topic)
                }).on('error', function(error) {
                    console.log('連接失敗...', error)
                }).on('end', function() {
                    console.log('連接斷開')
                }).on('message', function(topic, message) {
                    console.log('接收推送信息:', message.toString())
                })
            }
        }
    }
</script>

3.運行結果

數據實時變化。

怎么在uniapp項目中使用mqtt

關于“怎么在uniapp項目中使用mqtt”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三门峡市| 乌兰县| 屏南县| 安康市| 湛江市| 迁西县| 曲阜市| 四子王旗| 鸡东县| 上思县| 新龙县| 祥云县| 马公市| 富源县| 宣汉县| 高州市| 辽宁省| 贺兰县| 宝应县| 思南县| 敦化市| 海晏县| 乐至县| 丰镇市| 嘉黎县| 洪洞县| 剑川县| 新和县| 腾冲县| 达尔| 乌拉特后旗| 龙口市| 沙洋县| 丘北县| 贵定县| 周至县| 施甸县| 永胜县| 名山县| 奉节县| 高青县|