connected.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. Component({
  2. /**
  3. * 组件的属性列表
  4. */
  5. properties: {
  6. playerList: {
  7. type: Array,
  8. },
  9. pusher: {
  10. type: Object,
  11. },
  12. callType: {
  13. type: Number,
  14. },
  15. soundMode: {
  16. type: String,
  17. },
  18. screen: {
  19. type: String,
  20. },
  21. userList: {
  22. type: Object,
  23. },
  24. },
  25. /**
  26. * 组件的初始数据
  27. */
  28. data: {
  29. },
  30. /**
  31. * 组件的方法列表
  32. */
  33. methods: {
  34. toggleViewSize(event) {
  35. const data = {
  36. name: 'toggleViewSize',
  37. event,
  38. };
  39. this.triggerEvent('connectedEvent', data);
  40. },
  41. pusherNetStatus(event) {
  42. const data = {
  43. name: 'pusherNetStatus',
  44. event,
  45. };
  46. this.triggerEvent('connectedEvent', data);
  47. },
  48. playNetStatus(event) {
  49. const data = {
  50. name: 'playNetStatus',
  51. event,
  52. };
  53. this.triggerEvent('connectedEvent', data);
  54. },
  55. pusherStateChangeHandler(event) {
  56. const data = {
  57. name: 'pusherStateChangeHandler',
  58. event,
  59. };
  60. this.triggerEvent('connectedEvent', data);
  61. },
  62. pusherAudioVolumeNotify(event) {
  63. const data = {
  64. name: 'pusherAudioVolumeNotify',
  65. event,
  66. };
  67. this.triggerEvent('connectedEvent', data);
  68. },
  69. pusherErrorHandler(event) {
  70. const { detail = '' } = event;
  71. const data = {
  72. name: 'pusherErrorHandler',
  73. event: detail,
  74. };
  75. this.triggerEvent('connectedEvent', data);
  76. },
  77. playerStateChange(event) {
  78. const data = {
  79. name: 'playerStateChange',
  80. event,
  81. };
  82. this.triggerEvent('connectedEvent', data);
  83. },
  84. playerAudioVolumeNotify(event) {
  85. const data = {
  86. name: 'playerAudioVolumeNotify',
  87. event,
  88. };
  89. this.triggerEvent('connectedEvent', data);
  90. },
  91. pusherAudioHandler(event) {
  92. const data = {
  93. name: 'pusherAudioHandler',
  94. event,
  95. };
  96. this.triggerEvent('connectedEvent', data);
  97. },
  98. hangup(event) {
  99. const data = {
  100. name: 'hangup',
  101. event,
  102. };
  103. this.triggerEvent('connectedEvent', data);
  104. },
  105. toggleSoundMode(event) {
  106. const data = {
  107. name: 'toggleSoundMode',
  108. event,
  109. };
  110. this.triggerEvent('connectedEvent', data);
  111. },
  112. pusherVideoHandler(event) {
  113. const data = {
  114. name: 'pusherVideoHandler',
  115. event,
  116. };
  117. this.triggerEvent('connectedEvent', data);
  118. },
  119. toggleSwitchCamera(event) {
  120. const data = {
  121. name: 'toggleSwitchCamera',
  122. event,
  123. };
  124. this.triggerEvent('connectedEvent', data);
  125. },
  126. switchAudioCall(event) {
  127. const data = {
  128. name: 'switchAudioCall',
  129. event,
  130. };
  131. this.triggerEvent('connectedEvent', data);
  132. },
  133. handleConnectErrorImage(e) {
  134. const { flag, key, index } = e.target.dataset;
  135. if (flag === 'pusher') {
  136. this.data.pusher.avatar = '../../static/default_avatar.png';
  137. this.setData({
  138. pusher: this.data.pusher,
  139. });
  140. } else {
  141. this.data[key][index].avatar = '../../static/default_avatar.png';
  142. if (this.data.playerList[index]) {
  143. this.data.playerList[index].avatar = '../../static/default_avatar.png';
  144. }
  145. this.setData({
  146. playerList: this.data.playerList,
  147. [key]: this.data[key],
  148. });
  149. }
  150. },
  151. },
  152. });