xBlufiInit.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. var _this = null;
  2. var xBlufi = require("@/utils/blufi/xBlufi.js");
  3. export default {
  4. data(){
  5. return {
  6. sbList:[],
  7. wxList:[],
  8. blooth:null
  9. }
  10. },
  11. onLoad(){
  12. _this = this;
  13. this.Search();
  14. xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvent);
  15. },
  16. onUnload(){
  17. xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent);
  18. },
  19. methods:{
  20. funListenDeviceMsgEvent: function(options) {
  21. let ssid_arry = this.wxList;
  22. switch (options.type) {
  23. case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS:
  24. if (options.result && options.data.length > 0) {
  25. _this.sbList = options.data;
  26. let ly = _this.sbList.find(d => d.name.indexOf('cx-') > -1);
  27. if (!ly) ly = _this.sbList.find(d => d.name.indexOf('BLUFI_DEVICE') > -1);
  28. if (ly) {
  29. xBlufi.notifyStartDiscoverBle({
  30. 'isStart': false
  31. });
  32. _this.blooth = ly;
  33. _this.connectWiFi();
  34. }
  35. }
  36. break;
  37. case xBlufi.XBLUFI_TYPE.TYPE_CONNECTED:
  38. if (options.result) {
  39. xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvent);
  40. xBlufi.notifyInitBleEsp32({
  41. deviceId: _this.blooth.deviceId,
  42. })
  43. }
  44. break;
  45. case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_START:
  46. if (!options.result) {
  47. console.log('蓝牙未开启')
  48. }
  49. break;
  50. case xBlufi.XBLUFI_TYPE.TYPE_CONNECT_NEAR_ROUTER_LISTS:
  51. if ('' === options.data.SSID) break;
  52. if(!ssid_arry.includes(options.data.SSID)) ssid_arry.push(options.data.SSID)
  53. _this.wxList = ssid_arry;
  54. let wifiSSID = _this.wxList[0];
  55. let wifiPWD = uni.getStorageSync(wifiSSID)||'';
  56. uni.setStorageSync('lanyaWiFiList',JSON.stringify(_this.wxList))
  57. uni.setStorageSync('lanyaWiFiSSID',wifiSSID)
  58. console.log(_this.wxList,'_this.wxList')
  59. console.log(wifiSSID,'wifiSSID')
  60. break;
  61. case xBlufi.XBLUFI_TYPE.TYPE_INIT_ESP32_RESULT:
  62. xBlufi.notifySendGetNearRouterSsid()
  63. break;
  64. }
  65. },
  66. // 开始或停止搜索设备
  67. Search: function() {
  68. xBlufi.notifyStartDiscoverBle({
  69. 'isStart': true
  70. });
  71. },
  72. connectWiFi: function() {
  73. xBlufi.notifyConnectBle({
  74. isStart: true,
  75. deviceId: _this.blooth.deviceId,
  76. name: _this.blooth.name
  77. });
  78. }
  79. }
  80. }