message.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. module.exports = {
  2. getPosition: getPosition,
  3. getDeviceInfo: getDeviceInfo,
  4. getBattery: getBattery,
  5. getPlay: getPlay,
  6. }
  7. // payloads.other: {"songInfoID":"843265795768623127","songFrom":"4","songAlbumID":"","artist":"巴洛克古典乐","title":"巴洛克古典乐","url":"http://speed.radio1964.cn/hls/1fmottosbaroquemusicradiozug.m3u8","albumURI":"http://airsmart-photo1.oss-cn-shanghai.aliyuncs.com/img/20211122/98101225b3cb4a0fb5728159ce4ca6d5.png","realUrl":"http://speed.radio1964.cn/hls/1fmottosbaroquemusicradiozug.m3u8","channel":5,"Duration":0,"RelTime":0,"PlayState":1,"PlayMode":0,"SongType":2,"userid":"1","channelType":1,"platformId":4,"platformName":"海外电台","isVip":0,"playable":1,"unplayableMsg":"","unplayableCode":0,"vipIconType":0,"vipIconTypeName":""}
  8. function getPosition(other, canllback) {
  9. try {
  10. var actionIndex = null;
  11. const strings = require('../strings');
  12. var channelData = getCurrentPages()[0].getChannelData();
  13. if (!strings.isEmpty(channelData)) {
  14. channelData.map((v, index) => {
  15. if (v.channelNum === other.channel) {
  16. actionIndex = index;
  17. }
  18. });
  19. }
  20. canllback(actionIndex);
  21. } catch (e) {}
  22. };
  23. // payloads.other: {"Guid":"AIrSMArT_7cdfa1fd3af0","ProdModel":"MW-2AX(WIFI)","sim_iccid":"","esim_iccid":"","SoftVer":"3.0.7","Firmware":"RTOS","Power":50,"lowBatteryNtf":0,"Volume":27,"Mute":0,"pauseShutdown":0,"PlayState":1,"PlayMode":0,"devName":"猫王小王子OTR-X","deviceId":"","deviceSecret":"","is_tts_enable":1,"SignalQuality":100,"CardIndex":0,"CardSum":0,"NetModel":2,"is_netmode_auto":2,"Imei":"","mid":"","deviceDSN":"1044250776739909632","userid":"1","user_id_white":"1039072","alarm":[{"alarm_id":"0","alarm_name":"open","current_timestamp":"2024-12-12 00:00:00","on_off_timestamp":"16:19:25","operation":"on","song_uri":"","weekly_repeat":"0","enable":"0","action":"update","week_actives":[0,0,0,0,0,0,0]},{"alarm_id":"1","alarm_name":"open","current_timestamp":"2024-12-11 20:00:48","on_off_timestamp":"07:00:00","operation":"on","song_uri":"","weekly_repeat":"0","enable":"1","action":"update","week_actives":[0,0,0,0,0,0,0]}]}
  24. function getDeviceInfo(payloads) {
  25. var other = payloads.other;
  26. var SrcDeviceName = payloads.SrcDeviceName;
  27. console.log("呃呃呃呃呃呃呃==000===");
  28. ///连上就调用2次 payloads.SrcDeviceName:AIrSMArT_7cdfa1fcbb24
  29. const strings = require('../strings');
  30. var deviceList = getCurrentPages()[0].getDeviceList();
  31. if (!strings.isEmpty(deviceList)) {
  32. var currentDeviceId = "";
  33. /// 获取需要连接的那个设备,获取设备名称
  34. for (var i = 0; i < deviceList.length; i++) {
  35. if (SrcDeviceName) {
  36. var device = deviceList[i];
  37. var deviceId = device.deviceId;
  38. var splitDeviceId = deviceId.split("BLUFI_");
  39. console.log("呃呃呃呃呃呃呃==111===");
  40. if (splitDeviceId.length == 2) {
  41. var index = SrcDeviceName.indexOf(splitDeviceId[1]);
  42. console.log("呃呃呃呃呃呃呃==2222===");
  43. ///彻底连接成功
  44. if (index !== -1) {
  45. console.log("呃呃呃呃呃呃呃==333===" + deviceId);
  46. currentDeviceId = deviceId;
  47. console.log("呃呃呃呃呃呃呃==xxx===" + currentDeviceId);
  48. var ProdModel = other.ProdModel;
  49. var devName = other.devName;
  50. if (device.ProdModel != ProdModel || device.devName != devName) {
  51. console.log("呃呃呃呃呃呃呃==444===");
  52. isUpdate = true;
  53. device.ProdModel = ProdModel;
  54. device.devName = devName;
  55. }
  56. break;
  57. }
  58. }
  59. }
  60. }
  61. console.log("呃呃呃呃呃呃呃==555===" + currentDeviceId);
  62. /// 去更新选中目标
  63. if (!strings.isEmpty(currentDeviceId)) {
  64. for (var i = 0; i < deviceList.length; i++) {
  65. var device = deviceList[i];
  66. var deviceId = device.deviceId;
  67. console.log("呃呃呃呃呃呃呃==aaa===" + currentDeviceId);
  68. if (deviceId == currentDeviceId) {
  69. console.log("呃呃呃呃呃呃呃==bbb===" + currentDeviceId);
  70. getCurrentPages()[0].refreshCurrentDevice(device);
  71. break;
  72. }
  73. }
  74. }
  75. }
  76. };
  77. ///获取电量
  78. function getBattery(battery) {
  79. var b = 0;
  80. if (battery < 20) {
  81. _babttery = 0
  82. } else if (20 <= battery && battery < 40) {
  83. b = 1
  84. } else if (40 <= battery && battery < 60) {
  85. b = 2
  86. } else if (60 <= battery && battery < 80) {
  87. b = 3
  88. } else if (80 <= battery && battery <= 100) {
  89. b = 4
  90. } else if (battery > 100) {
  91. b = 5
  92. };
  93. return b;
  94. };
  95. ///播放和播放状态
  96. function getPlay() {
  97. var deviceList = getCurrentPages()[0].getDeviceList();
  98. var deviceListSelect = getCurrentPages()[0].getDeviceListSelect();
  99. if (deviceListSelect === null || deviceList.length <= deviceListSelect) {
  100. return;
  101. };
  102. const app = getApp();
  103. const lexin_util = require('../lexin/util');
  104. var deviceId = deviceList[deviceListSelect].deviceId;
  105. // 接收设备当前播放状态
  106. var deviceMacId = lexin_util.getDeviceMacId(deviceId);
  107. const obj = {
  108. DstDeviceName: deviceMacId
  109. }
  110. app.PubMsg({
  111. type: "get_position",
  112. ...obj
  113. });
  114. };