subscribe.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. module.exports = {
  2. subscribeSingleDevice: subscribeSingleDevice,
  3. subscribeAllDevice: subscribeAllDevice,
  4. }
  5. // 订阅在线单个设备 pages[0].actionDevice(device);
  6. function subscribeSingleDevice(device) {
  7. // /AIrSMArT_210052355545/status/onoffline 魅族款 APP
  8. // /AIrSMArT_861210052355545/status/onoffline 魅族款 小程序
  9. var deviceId = device.deviceId;
  10. var pages = getCurrentPages();
  11. const strings = require('../strings');
  12. var deviceList = pages[0].getDeviceList();
  13. // 猫王XOG-CyberRadio: BLUFI_864423060242830
  14. if (!strings.isEmpty(deviceList)) {
  15. var deviceListSelect = pages[0].getDeviceListSelect();
  16. ///当前已连接
  17. if (deviceListSelect != null && deviceList.length > deviceListSelect) {
  18. var d = deviceList[deviceListSelect].deviceId;
  19. if (d == deviceId) {
  20. return;
  21. }
  22. }
  23. }
  24. const lexin_util = require('../lexin/util');
  25. var mac = lexin_util.getMacByDeviceId(deviceId);
  26. var topic = `/AIrSMArT_${mac}/status/onoffline`;
  27. const app = getApp();
  28. app.unsubscribe(topic);
  29. app.subscribe(topic);
  30. };
  31. // 订阅在线设备
  32. function subscribeAllDevice() {
  33. const strings = require('../strings');
  34. var pages = getCurrentPages();
  35. var deviceList = pages[0].getDeviceList();
  36. if (strings.isEmpty(deviceList)) {
  37. return;
  38. }
  39. const app = getApp();
  40. const lexin_util = require('../lexin/util');
  41. ///扫描所有在线Wifi设备
  42. for (var i = 0; i < deviceList.length; i++) {
  43. var device = deviceList[i];
  44. if (device.connectType == 3) {
  45. var deviceId = device.deviceId;
  46. var mac = lexin_util.getMacByDeviceId(deviceId);
  47. var topic = `/AIrSMArT_${mac}/status/onoffline`;
  48. app.subscribe(topic);
  49. }
  50. }
  51. };