groupCalling.js 1.9 KB

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