worker.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //线程消息转发模块
  2. //注意,worker是主线程创建worker后,系统注入的全局对象,可直接使用
  3. import wasmapi from './wasmapi.js'
  4. // if (console.log) {
  5. // var old = console.log
  6. // let self = this
  7. // console.log = function () {
  8. // worker.postMessage({ message: 'console', data: arguments }) //日志消息
  9. // }
  10. // }
  11. console.log("hello worker")
  12. //线程监听服务程序
  13. worker.onMessage((res) => {
  14. switch (res.message) {
  15. case 'MAIN_WORKER_LOAD_WX_WASM'://加载wxWasm模块
  16. wasmapi.loadWxWasm()
  17. break
  18. case 'MAIN_WORKER_BLE_BTS_DATA'://蓝牙基站数据
  19. wasmapi.saveBleBtsDataToLocal(res.data)
  20. break
  21. case 'MAIN_WORKER_CLEAR_BLE_BTS_DATA'://清除蓝牙基站数据
  22. wasmapi.clearBleBtsData(res.data)
  23. break
  24. case 'MAIN_WORKER_INSTALL_BTS_DATA'://安装基站数据
  25. wasmapi.sendInstallBtsDataToWasm(res.data)
  26. break
  27. case 'MAIN_WORKER_AUDIO_DATA'://音频采样数据
  28. wasmapi.processAudioData(res.data)
  29. break
  30. case 'MAIN_WORKER_FREE_MEMORY'://释放内存
  31. wasmapi.noticeWasmFreeMemory()
  32. break
  33. case 'MAIN_WORKER_SAVE_AUDIO_DATA'://保存录音文件
  34. worker.postMessage({
  35. message: 'WORKER_MAIN_SAVE_AUDIO_DATA',
  36. data: res.data//录音数据
  37. })
  38. break
  39. case 'MAIN_WORKER_ONE_ACC_DATA'://保存加速度
  40. wasmapi.storeAccData(res.data)
  41. break
  42. default:
  43. break
  44. }
  45. })