├── README.md ├── app.js ├── app.json ├── app.wxss ├── package.json ├── pages ├── index │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss └── logs │ ├── logs.js │ ├── logs.json │ ├── logs.wxml │ └── logs.wxss ├── project.config.json ├── utils ├── mqtt.js └── util.js └── yarn.lock /README.md: -------------------------------------------------------------------------------- 1 | ![mqtt小程序](https://www.w3hacker.com/wp-content/uploads/2021/12/gh_8667430e6c41_258-3.jpg) 2 | 3 | 教程 https://w3hacker.com/course/mqttjs-for-beginners/210 4 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | import mqtt from './utils/mqtt.js'; 2 | 3 | App({ 4 | onLaunch: function () { 5 | const host = 'wxs://www.mengmeitong.com/mqtt'; 6 | const options = { 7 | protocolVersion: 5, 8 | clientId: 'miniprogram', 9 | clean: false 10 | }; 11 | const client = mqtt.connect(host, options); 12 | 13 | client.on('connect', () => { 14 | console.log(`hello`); 15 | // client.subscribe('test/topic', { 16 | // qos: 1 17 | // }); 18 | }); 19 | client.on('message', (topic, message, packet) => { 20 | wx.showModal({ 21 | title: topic, 22 | content: message.toString() 23 | }); 24 | }); 25 | } 26 | }) 27 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages":[ 3 | "pages/index/index", 4 | "pages/logs/logs" 5 | ], 6 | "window":{ 7 | "backgroundTextStyle":"light", 8 | "navigationBarBackgroundColor": "#fff", 9 | "navigationBarTitleText": "WeChat", 10 | "navigationBarTextStyle":"black" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app.wxss: -------------------------------------------------------------------------------- 1 | /**app.wxss**/ 2 | .container { 3 | height: 100%; 4 | display: flex; 5 | flex-direction: column; 6 | align-items: center; 7 | justify-content: space-between; 8 | padding: 200rpx 0; 9 | box-sizing: border-box; 10 | } 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "mqtt": "git+https://github.com/mqttjs/MQTT.js.git" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /pages/index/index.js: -------------------------------------------------------------------------------- 1 | //index.js 2 | //获取应用实例 3 | const app = getApp() 4 | 5 | Page({ 6 | 7 | }) -------------------------------------------------------------------------------- /pages/index/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /pages/index/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /pages/index/index.wxss: -------------------------------------------------------------------------------- 1 | /**index.wxss**/ 2 | .userinfo { 3 | display: flex; 4 | flex-direction: column; 5 | align-items: center; 6 | } 7 | 8 | .userinfo-avatar { 9 | width: 128rpx; 10 | height: 128rpx; 11 | margin: 20rpx; 12 | border-radius: 50%; 13 | } 14 | 15 | .userinfo-nickname { 16 | color: #aaa; 17 | } 18 | 19 | .usermotto { 20 | margin-top: 200px; 21 | } -------------------------------------------------------------------------------- /pages/logs/logs.js: -------------------------------------------------------------------------------- 1 | //logs.js 2 | const util = require('../../utils/util.js') 3 | 4 | Page({ 5 | data: { 6 | logs: [] 7 | }, 8 | onLoad: function () { 9 | this.setData({ 10 | logs: (wx.getStorageSync('logs') || []).map(log => { 11 | return util.formatTime(new Date(log)) 12 | }) 13 | }) 14 | } 15 | }) 16 | -------------------------------------------------------------------------------- /pages/logs/logs.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "查看启动日志", 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /pages/logs/logs.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{index + 1}}. {{log}} 5 | 6 | 7 | -------------------------------------------------------------------------------- /pages/logs/logs.wxss: -------------------------------------------------------------------------------- 1 | .log-list { 2 | display: flex; 3 | flex-direction: column; 4 | padding: 40rpx; 5 | } 6 | .log-item { 7 | margin: 10rpx; 8 | } 9 | -------------------------------------------------------------------------------- /project.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "项目配置文件", 3 | "packOptions": { 4 | "ignore": [] 5 | }, 6 | "setting": { 7 | "urlCheck": true, 8 | "es6": true, 9 | "postcss": true, 10 | "minified": true, 11 | "newFeature": true, 12 | "nodeModules": false, 13 | "autoAudits": false 14 | }, 15 | "compileType": "miniprogram", 16 | "libVersion": "2.4.3", 17 | "appid": "wx51b7831772c21b6d", 18 | "projectname": "test", 19 | "debugOptions": { 20 | "hidedInDevtools": [] 21 | }, 22 | "isGameTourist": false, 23 | "condition": { 24 | "search": { 25 | "current": -1, 26 | "list": [] 27 | }, 28 | "conversation": { 29 | "current": -1, 30 | "list": [] 31 | }, 32 | "game": { 33 | "currentL": -1, 34 | "list": [] 35 | }, 36 | "miniprogram": { 37 | "current": -1, 38 | "list": [] 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /utils/util.js: -------------------------------------------------------------------------------- 1 | const formatTime = date => { 2 | const year = date.getFullYear() 3 | const month = date.getMonth() + 1 4 | const day = date.getDate() 5 | const hour = date.getHours() 6 | const minute = date.getMinutes() 7 | const second = date.getSeconds() 8 | 9 | return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':') 10 | } 11 | 12 | const formatNumber = n => { 13 | n = n.toString() 14 | return n[1] ? n : '0' + n 15 | } 16 | 17 | module.exports = { 18 | formatTime: formatTime 19 | } 20 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | async-limiter@~1.0.0: 6 | version "1.0.0" 7 | resolved "http://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" 8 | integrity sha1-ePrtjD0HSrgfIrTphdeehzj3IPg= 9 | 10 | balanced-match@^1.0.0: 11 | version "1.0.0" 12 | resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 13 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 14 | 15 | base64-js@^1.3.0: 16 | version "1.3.0" 17 | resolved "http://registry.npm.taobao.org/base64-js/download/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" 18 | integrity sha1-yrHmEY8FEJXli1KBrqjBzSK/wOM= 19 | 20 | bl@^1.2.2: 21 | version "1.2.2" 22 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" 23 | integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== 24 | dependencies: 25 | readable-stream "^2.3.5" 26 | safe-buffer "^5.1.1" 27 | 28 | brace-expansion@^1.1.7: 29 | version "1.1.11" 30 | resolved "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 31 | integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= 32 | dependencies: 33 | balanced-match "^1.0.0" 34 | concat-map "0.0.1" 35 | 36 | buffer-from@^1.0.0: 37 | version "1.1.1" 38 | resolved "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 39 | integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= 40 | 41 | callback-stream@^1.0.2: 42 | version "1.1.0" 43 | resolved "http://registry.npm.taobao.org/callback-stream/download/callback-stream-1.1.0.tgz#4701a51266f06e06eaa71fc17233822d875f4908" 44 | integrity sha1-RwGlEmbwbgbqpx/BcjOCLYdfSQg= 45 | dependencies: 46 | inherits "^2.0.1" 47 | readable-stream "> 1.0.0 < 3.0.0" 48 | 49 | commist@^1.0.0: 50 | version "1.0.0" 51 | resolved "http://registry.npm.taobao.org/commist/download/commist-1.0.0.tgz#c0c352501cf6f52e9124e3ef89c9806e2022ebef" 52 | integrity sha1-wMNSUBz29S6RJOPvicmAbiAi6+8= 53 | dependencies: 54 | leven "^1.0.0" 55 | minimist "^1.1.0" 56 | 57 | concat-map@0.0.1: 58 | version "0.0.1" 59 | resolved "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 60 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 61 | 62 | concat-stream@^1.6.2: 63 | version "1.6.2" 64 | resolved "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 65 | integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= 66 | dependencies: 67 | buffer-from "^1.0.0" 68 | inherits "^2.0.3" 69 | readable-stream "^2.2.2" 70 | typedarray "^0.0.6" 71 | 72 | core-util-is@~1.0.0: 73 | version "1.0.2" 74 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 75 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 76 | 77 | d@1: 78 | version "1.0.0" 79 | resolved "http://registry.npm.taobao.org/d/download/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" 80 | integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= 81 | dependencies: 82 | es5-ext "^0.10.9" 83 | 84 | duplexify@^3.5.1, duplexify@^3.6.0: 85 | version "3.7.1" 86 | resolved "http://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" 87 | integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= 88 | dependencies: 89 | end-of-stream "^1.0.0" 90 | inherits "^2.0.1" 91 | readable-stream "^2.0.0" 92 | stream-shift "^1.0.0" 93 | 94 | end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: 95 | version "1.4.1" 96 | resolved "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 97 | integrity sha1-7SljTRm6ukY7bOa4CjchPqtx7EM= 98 | dependencies: 99 | once "^1.4.0" 100 | 101 | es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: 102 | version "0.10.47" 103 | resolved "http://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.47.tgz#d24232e1380daad5449a817be19bde9729024a11" 104 | integrity sha1-0kIy4TgNqtVEmoF74ZvelykCShE= 105 | dependencies: 106 | es6-iterator "~2.0.3" 107 | es6-symbol "~3.1.1" 108 | next-tick "1" 109 | 110 | es6-iterator@~2.0.1, es6-iterator@~2.0.3: 111 | version "2.0.3" 112 | resolved "http://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" 113 | integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= 114 | dependencies: 115 | d "1" 116 | es5-ext "^0.10.35" 117 | es6-symbol "^3.1.1" 118 | 119 | es6-map@^0.1.5: 120 | version "0.1.5" 121 | resolved "http://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" 122 | integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= 123 | dependencies: 124 | d "1" 125 | es5-ext "~0.10.14" 126 | es6-iterator "~2.0.1" 127 | es6-set "~0.1.5" 128 | es6-symbol "~3.1.1" 129 | event-emitter "~0.3.5" 130 | 131 | es6-set@~0.1.5: 132 | version "0.1.5" 133 | resolved "http://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" 134 | integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= 135 | dependencies: 136 | d "1" 137 | es5-ext "~0.10.14" 138 | es6-iterator "~2.0.1" 139 | es6-symbol "3.1.1" 140 | event-emitter "~0.3.5" 141 | 142 | es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: 143 | version "3.1.1" 144 | resolved "http://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" 145 | integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= 146 | dependencies: 147 | d "1" 148 | es5-ext "~0.10.14" 149 | 150 | event-emitter@~0.3.5: 151 | version "0.3.5" 152 | resolved "http://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" 153 | integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= 154 | dependencies: 155 | d "1" 156 | es5-ext "~0.10.14" 157 | 158 | extend@^3.0.0: 159 | version "3.0.2" 160 | resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 161 | integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= 162 | 163 | fs.realpath@^1.0.0: 164 | version "1.0.0" 165 | resolved "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 166 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 167 | 168 | glob-parent@^3.1.0: 169 | version "3.1.0" 170 | resolved "http://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 171 | integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= 172 | dependencies: 173 | is-glob "^3.1.0" 174 | path-dirname "^1.0.0" 175 | 176 | glob-stream@^6.1.0: 177 | version "6.1.0" 178 | resolved "http://registry.npm.taobao.org/glob-stream/download/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" 179 | integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= 180 | dependencies: 181 | extend "^3.0.0" 182 | glob "^7.1.1" 183 | glob-parent "^3.1.0" 184 | is-negated-glob "^1.0.0" 185 | ordered-read-streams "^1.0.0" 186 | pumpify "^1.3.5" 187 | readable-stream "^2.1.5" 188 | remove-trailing-separator "^1.0.1" 189 | to-absolute-glob "^2.0.0" 190 | unique-stream "^2.0.2" 191 | 192 | glob@^7.1.1: 193 | version "7.1.3" 194 | resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 195 | integrity sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE= 196 | dependencies: 197 | fs.realpath "^1.0.0" 198 | inflight "^1.0.4" 199 | inherits "2" 200 | minimatch "^3.0.4" 201 | once "^1.3.0" 202 | path-is-absolute "^1.0.0" 203 | 204 | help-me@^1.0.1: 205 | version "1.1.0" 206 | resolved "http://registry.npm.taobao.org/help-me/download/help-me-1.1.0.tgz#8f2d508d0600b4a456da2f086556e7e5c056a3c6" 207 | integrity sha1-jy1QjQYAtKRW2i8IZVbn5cBWo8Y= 208 | dependencies: 209 | callback-stream "^1.0.2" 210 | glob-stream "^6.1.0" 211 | through2 "^2.0.1" 212 | xtend "^4.0.0" 213 | 214 | inflight@^1.0.4: 215 | version "1.0.6" 216 | resolved "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 217 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 218 | dependencies: 219 | once "^1.3.0" 220 | wrappy "1" 221 | 222 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: 223 | version "2.0.4" 224 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 225 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 226 | 227 | is-absolute@^1.0.0: 228 | version "1.0.0" 229 | resolved "http://registry.npm.taobao.org/is-absolute/download/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" 230 | integrity sha1-OV4a6EsR8mrReV5zwXN45IowFXY= 231 | dependencies: 232 | is-relative "^1.0.0" 233 | is-windows "^1.0.1" 234 | 235 | is-extglob@^2.1.0: 236 | version "2.1.1" 237 | resolved "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 238 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 239 | 240 | is-glob@^3.1.0: 241 | version "3.1.0" 242 | resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 243 | integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= 244 | dependencies: 245 | is-extglob "^2.1.0" 246 | 247 | is-negated-glob@^1.0.0: 248 | version "1.0.0" 249 | resolved "http://registry.npm.taobao.org/is-negated-glob/download/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" 250 | integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= 251 | 252 | is-relative@^1.0.0: 253 | version "1.0.0" 254 | resolved "http://registry.npm.taobao.org/is-relative/download/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" 255 | integrity sha1-obtpNc6MXboei5dUubLcwCDiJg0= 256 | dependencies: 257 | is-unc-path "^1.0.0" 258 | 259 | is-unc-path@^1.0.0: 260 | version "1.0.0" 261 | resolved "http://registry.npm.taobao.org/is-unc-path/download/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" 262 | integrity sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0= 263 | dependencies: 264 | unc-path-regex "^0.1.2" 265 | 266 | is-windows@^1.0.1: 267 | version "1.0.2" 268 | resolved "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 269 | integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= 270 | 271 | isarray@~1.0.0: 272 | version "1.0.0" 273 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 274 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 275 | 276 | json-stable-stringify-without-jsonify@^1.0.1: 277 | version "1.0.1" 278 | resolved "http://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 279 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 280 | 281 | leven@^1.0.0: 282 | version "1.0.2" 283 | resolved "http://registry.npm.taobao.org/leven/download/leven-1.0.2.tgz#9144b6eebca5f1d0680169f1a6770dcea60b75c3" 284 | integrity sha1-kUS27ryl8dBoAWnxpncNzqYLdcM= 285 | 286 | minimatch@^3.0.4: 287 | version "3.0.4" 288 | resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 289 | integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= 290 | dependencies: 291 | brace-expansion "^1.1.7" 292 | 293 | minimist@^1.1.0, minimist@^1.2.0: 294 | version "1.2.0" 295 | resolved "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 296 | integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= 297 | 298 | mqtt-packet@^6.0.0: 299 | version "6.2.1" 300 | resolved "https://registry.yarnpkg.com/mqtt-packet/-/mqtt-packet-6.2.1.tgz#89b27e5e22a859abe9f5a3359b2e2dd07e4168b2" 301 | integrity sha512-ZxG5QVb7+gMix5n4DClym9dQoCZC6DoNEqgMkMi/GMXvIU4Wsdx+/6KBavw50HHFH9kN1lBSY7phxNlAS2+jnw== 302 | dependencies: 303 | bl "^1.2.2" 304 | inherits "^2.0.3" 305 | process-nextick-args "^2.0.0" 306 | safe-buffer "^5.1.2" 307 | 308 | "mqtt@git+https://github.com/mqttjs/MQTT.js.git": 309 | version "2.18.8" 310 | resolved "git+https://github.com/mqttjs/MQTT.js.git#62641d6ec22e4e51b1cacd3f692965d44a09d03e" 311 | dependencies: 312 | base64-js "^1.3.0" 313 | commist "^1.0.0" 314 | concat-stream "^1.6.2" 315 | end-of-stream "^1.4.1" 316 | es6-map "^0.1.5" 317 | help-me "^1.0.1" 318 | inherits "^2.0.3" 319 | minimist "^1.2.0" 320 | mqtt-packet "^6.0.0" 321 | pump "^3.0.0" 322 | readable-stream "^2.3.6" 323 | reinterval "^1.1.0" 324 | split2 "^3.1.0" 325 | websocket-stream "^5.1.2" 326 | xtend "^4.0.1" 327 | 328 | next-tick@1: 329 | version "1.0.0" 330 | resolved "http://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" 331 | integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= 332 | 333 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 334 | version "1.4.0" 335 | resolved "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 336 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 337 | dependencies: 338 | wrappy "1" 339 | 340 | ordered-read-streams@^1.0.0: 341 | version "1.0.1" 342 | resolved "http://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" 343 | integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= 344 | dependencies: 345 | readable-stream "^2.0.1" 346 | 347 | path-dirname@^1.0.0: 348 | version "1.0.2" 349 | resolved "http://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 350 | integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= 351 | 352 | path-is-absolute@^1.0.0: 353 | version "1.0.1" 354 | resolved "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 355 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 356 | 357 | process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: 358 | version "2.0.1" 359 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 360 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 361 | 362 | pump@^2.0.0: 363 | version "2.0.1" 364 | resolved "http://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 365 | integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= 366 | dependencies: 367 | end-of-stream "^1.1.0" 368 | once "^1.3.1" 369 | 370 | pump@^3.0.0: 371 | version "3.0.0" 372 | resolved "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 373 | integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= 374 | dependencies: 375 | end-of-stream "^1.1.0" 376 | once "^1.3.1" 377 | 378 | pumpify@^1.3.5: 379 | version "1.5.1" 380 | resolved "http://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" 381 | integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= 382 | dependencies: 383 | duplexify "^3.6.0" 384 | inherits "^2.0.3" 385 | pump "^2.0.0" 386 | 387 | "readable-stream@> 1.0.0 < 3.0.0", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: 388 | version "2.3.6" 389 | resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 390 | integrity sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8= 391 | dependencies: 392 | core-util-is "~1.0.0" 393 | inherits "~2.0.3" 394 | isarray "~1.0.0" 395 | process-nextick-args "~2.0.0" 396 | safe-buffer "~5.1.1" 397 | string_decoder "~1.1.1" 398 | util-deprecate "~1.0.1" 399 | 400 | readable-stream@^3.0.0: 401 | version "3.1.1" 402 | resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-3.1.1.tgz#ed6bbc6c5ba58b090039ff18ce670515795aeb06" 403 | integrity sha1-7Wu8bFuliwkAOf8YzmcFFXla6wY= 404 | dependencies: 405 | inherits "^2.0.3" 406 | string_decoder "^1.1.1" 407 | util-deprecate "^1.0.1" 408 | 409 | reinterval@^1.1.0: 410 | version "1.1.0" 411 | resolved "http://registry.npm.taobao.org/reinterval/download/reinterval-1.1.0.tgz#3361ecfa3ca6c18283380dd0bb9546f390f5ece7" 412 | integrity sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc= 413 | 414 | remove-trailing-separator@^1.0.1: 415 | version "1.1.0" 416 | resolved "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 417 | integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 418 | 419 | safe-buffer@^5.1.1, safe-buffer@^5.1.2: 420 | version "5.2.0" 421 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 422 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 423 | 424 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 425 | version "5.1.2" 426 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 427 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 428 | 429 | split2@^3.1.0: 430 | version "3.1.0" 431 | resolved "http://registry.npm.taobao.org/split2/download/split2-3.1.0.tgz#064bbfac70cdb66f77827870d42f159a8b442201" 432 | integrity sha1-Bku/rHDNtm93gnhw1C8VmotEIgE= 433 | dependencies: 434 | readable-stream "^3.0.0" 435 | 436 | stream-shift@^1.0.0: 437 | version "1.0.0" 438 | resolved "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 439 | integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= 440 | 441 | string_decoder@^1.1.1: 442 | version "1.2.0" 443 | resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" 444 | integrity sha1-/obnOLGVRK/nBGkkOyoe6SQOro0= 445 | dependencies: 446 | safe-buffer "~5.1.0" 447 | 448 | string_decoder@~1.1.1: 449 | version "1.1.1" 450 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 451 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 452 | dependencies: 453 | safe-buffer "~5.1.0" 454 | 455 | through2-filter@^3.0.0: 456 | version "3.0.0" 457 | resolved "http://registry.npm.taobao.org/through2-filter/download/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" 458 | integrity sha1-cA54bfI2fCyIzYqlvkz5weeDElQ= 459 | dependencies: 460 | through2 "~2.0.0" 461 | xtend "~4.0.0" 462 | 463 | through2@^2.0.1, through2@~2.0.0: 464 | version "2.0.5" 465 | resolved "http://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 466 | integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= 467 | dependencies: 468 | readable-stream "~2.3.6" 469 | xtend "~4.0.1" 470 | 471 | to-absolute-glob@^2.0.0: 472 | version "2.0.2" 473 | resolved "http://registry.npm.taobao.org/to-absolute-glob/download/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" 474 | integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= 475 | dependencies: 476 | is-absolute "^1.0.0" 477 | is-negated-glob "^1.0.0" 478 | 479 | typedarray@^0.0.6: 480 | version "0.0.6" 481 | resolved "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 482 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 483 | 484 | ultron@~1.1.0: 485 | version "1.1.1" 486 | resolved "http://registry.npm.taobao.org/ultron/download/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" 487 | integrity sha1-n+FTahCmZKZSZqHjzPhf02MCvJw= 488 | 489 | unc-path-regex@^0.1.2: 490 | version "0.1.2" 491 | resolved "http://registry.npm.taobao.org/unc-path-regex/download/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 492 | integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= 493 | 494 | unique-stream@^2.0.2: 495 | version "2.3.1" 496 | resolved "http://registry.npm.taobao.org/unique-stream/download/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" 497 | integrity sha1-xl0RDppK35psWUiygFPZqNBMvqw= 498 | dependencies: 499 | json-stable-stringify-without-jsonify "^1.0.1" 500 | through2-filter "^3.0.0" 501 | 502 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 503 | version "1.0.2" 504 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 505 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 506 | 507 | websocket-stream@^5.1.2: 508 | version "5.1.2" 509 | resolved "http://registry.npm.taobao.org/websocket-stream/download/websocket-stream-5.1.2.tgz#1c31c627bcdf34f1a9bdacc9daa15bfa4816d9ad" 510 | integrity sha1-HDHGJ7zfNPGpvazJ2qFb+kgW2a0= 511 | dependencies: 512 | duplexify "^3.5.1" 513 | inherits "^2.0.1" 514 | readable-stream "^2.3.3" 515 | safe-buffer "^5.1.1" 516 | ws "^3.2.0" 517 | xtend "^4.0.0" 518 | 519 | wrappy@1: 520 | version "1.0.2" 521 | resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 522 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 523 | 524 | ws@^3.2.0: 525 | version "3.3.3" 526 | resolved "http://registry.npm.taobao.org/ws/download/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" 527 | integrity sha1-8c+E/i1ekB686U767OeF8YeiKPI= 528 | dependencies: 529 | async-limiter "~1.0.0" 530 | safe-buffer "~5.1.0" 531 | ultron "~1.1.0" 532 | 533 | xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: 534 | version "4.0.1" 535 | resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 536 | integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= 537 | --------------------------------------------------------------------------------