calling.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. // components/tui-calling/TUICalling/component/calling.js
  2. Component({
  3. /**
  4. * 组件的属性列表
  5. */
  6. properties: {
  7. isSponsor: {
  8. type: Boolean,
  9. value: false,
  10. },
  11. pusher: {
  12. type: Object,
  13. },
  14. callType: {
  15. type: Number,
  16. },
  17. remoteUsers: {
  18. type: Array,
  19. },
  20. isGroup: {
  21. type: Boolean,
  22. },
  23. },
  24. /**
  25. * 组件的初始数据
  26. */
  27. data: {
  28. },
  29. /**
  30. * 生命周期方法
  31. */
  32. lifetimes: {
  33. created() {
  34. },
  35. attached() {
  36. },
  37. ready() {
  38. },
  39. detached() {
  40. },
  41. error() {
  42. },
  43. },
  44. /**
  45. * 组件的方法列表
  46. */
  47. methods: {
  48. accept(event) {
  49. const data = {
  50. name: 'accept',
  51. event,
  52. };
  53. this.triggerEvent('callingEvent', data);
  54. },
  55. hangup(event) {
  56. const data = {
  57. name: 'hangup',
  58. event,
  59. };
  60. this.triggerEvent('callingEvent', data);
  61. },
  62. reject(event) {
  63. const data = {
  64. name: 'reject',
  65. event,
  66. };
  67. this.triggerEvent('callingEvent', data);
  68. },
  69. handleErrorImage(e) {
  70. const { id } = e.target;
  71. const remoteUsers = this.data.remoteUsers.map((item) => {
  72. if (item.userID === id) {
  73. item.avatar = '../../static/default_avatar.png';
  74. }
  75. return item;
  76. });
  77. this.setData({
  78. remoteUsers,
  79. });
  80. },
  81. toggleSwitchCamera(event) {
  82. const data = {
  83. name: 'toggleSwitchCamera',
  84. event,
  85. };
  86. this.triggerEvent('callingEvent', data);
  87. },
  88. switchAudioCall(event) {
  89. const data = {
  90. name: 'switchAudioCall',
  91. event,
  92. };
  93. this.triggerEvent('callingEvent', data);
  94. },
  95. pusherErrorHandler(event) {
  96. const { detail = '' } = event;
  97. const data = {
  98. name: 'pusherErrorHandler',
  99. event: detail,
  100. };
  101. this.triggerEvent('callingEvent', data);
  102. },
  103. },
  104. });