subscribe.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. module.exports = {
  2. subscribeSingleDevice: subscribeSingleDevice,
  3. subscribeAllDevice: subscribeAllDevice,
  4. }
  5. // 订阅在线单个设备
  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. ///在线处理
  25. pages[0].actionDevice(device);
  26. // const lexin_util = require('../lexin/util');
  27. // var mac = lexin_util.getMacByDeviceId(deviceId);
  28. // var topic = `/AIrSMArT_${mac}/status/onoffline`;
  29. // const app = getApp();
  30. // app.subscribe(topic);
  31. };
  32. // 订阅在线设备
  33. function subscribeAllDevice() {
  34. const strings = require('../strings');
  35. var pages = getCurrentPages();
  36. var deviceList = pages[0].getDeviceList();
  37. if (strings.isEmpty(deviceList)) {
  38. return;
  39. }
  40. const app = getApp();
  41. const lexin_util = require('../lexin/util');
  42. ///扫描所有在线Wifi设备
  43. for (var i = 0; i < deviceList.length; i++) {
  44. var device = deviceList[i];
  45. if (device.connectType == 3) {
  46. var deviceId = device.deviceId;
  47. var mac = lexin_util.getMacByDeviceId(deviceId);
  48. var topic = `/AIrSMArT_${mac}/status/onoffline`;
  49. app.subscribe(topic);
  50. }
  51. }
  52. };