socket-handle.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. const socket_io = require('./socket.io-mp')
  2. const { IM_HOST } = require('../config/config')
  3. let io = ''
  4. export function initSocket(page, options) {
  5. const defaultOpts = {
  6. customerId: '',
  7. agentId: '',
  8. role:'agent',
  9. nickName: '',
  10. roomId:'',
  11. isClient: true
  12. }
  13. io = socket_io('https://vrhouse2.4dkankan.com', {
  14. path: '/vr-node',
  15. query: Object.assign(defaultOpts, options)
  16. })
  17. const eventName = {
  18. startPlay: 'answer', // 开始语音
  19. someoneInRoom: 'vr_request', // 有人加入房间
  20. someoneLeaveRoom: 'putup' // 有人离开房间
  21. }
  22. // 事件监听
  23. io.on(eventName.startPlay, function (data) {
  24. page.startPlay(data)
  25. })
  26. io.on(eventName.someoneInRoom, function (data) {
  27. data.persons = data.persons.filter(item => item.userId !== getApp().globalData.userinfo.user_id)
  28. page.createLivePull(data)
  29. })
  30. io.on(eventName.someoneLeaveRoom, function (data) {
  31. page.someoneLeave(data)
  32. })
  33. return io
  34. }
  35. export function emitSendMsg (target_id) {
  36. let app = getApp()
  37. io.emit('sendMsg', {
  38. user_id: app.globalData.userinfo.user_id,
  39. target_id: target_id
  40. })
  41. }
  42. export function emitInRoom () {
  43. let app = getApp()
  44. io.emit('inRoom', {
  45. user_id: app.globalData.userinfo.user_id,
  46. room_id: app.globalData.room_id
  47. })
  48. }
  49. export function emitLeaveRoom () {
  50. let app = getApp()
  51. io.emit('leaveRoom', {
  52. user_id: app.globalData.userinfo.user_id,
  53. room_id: app.globalData.room_id
  54. })
  55. }
  56. export function disconnect () {
  57. return io.disconnect()
  58. }