WebrtcCtr.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { usePeerStore } from '@/store/peerStore'
  2. import type Webrtc from '@/mode/Webrtc';
  3. const WebrtcCtr = {
  4. //收到消息的处理函数
  5. messageListener: (sendInfo: Webrtc) => {
  6. console.log('messageListener',sendInfo);
  7. if(sendInfo.msgtype=='offer'){
  8. usePeerStore().setOffer(JSON.stringify(sendInfo));
  9. return;
  10. }
  11. else if(sendInfo.msgtype=='accept'){
  12. usePeerStore().setIsAccept(true);
  13. return;
  14. }
  15. else if(sendInfo.msgtype=='answer'){
  16. usePeerStore().setAnswer(JSON.stringify(sendInfo));
  17. return;
  18. }
  19. else if(sendInfo.msgtype=='candidate'){
  20. usePeerStore().setCandidate(JSON.stringify(sendInfo));
  21. return;
  22. }
  23. else if(sendInfo.msgtype=='close'){
  24. usePeerStore().updateCloseStatus(true);
  25. return;
  26. }
  27. if(sendInfo.msgtype=='calling'){
  28. if(usePeerStore().isBusy){
  29. return;//回复用户正忙,并返回
  30. }
  31. usePeerStore().updateCloseStatus(false)
  32. const chatId=sendInfo.fromId;
  33. const showVideo=sendInfo.conetType;
  34. //webRTCCallCtr groupWebRTCCallCtr
  35. if(sendInfo.type=='0'){
  36. uni.navigateTo({
  37. url: `/imcall/webRTCCallCtr?friendId=${chatId}&showVideo=${showVideo}`
  38. })
  39. }
  40. else if(sendInfo.type=='1'){
  41. uni.navigateTo({
  42. url: `/imcall/groupWebRTCCallCtr?friendId=${chatId}&showVideo=${showVideo}`
  43. })
  44. }
  45. }
  46. }
  47. }
  48. export default WebrtcCtr