| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- const socket_io = require('./socket.io-mp')
- const {
- IM_HOST
- } = require('../config/config')
- let io = ''
- export function initSocket(page, options) {
- const defaultOpts = {
- customerId: '',
- agentId: '',
- role: 'agent',
- nickName: '',
- roomId: '',
- isClient: true
- }
- io = socket_io(IM_HOST, {
- path: '/vr-node',
- query: Object.assign(defaultOpts, options)
- })
- const eventName = {
- startPlay: 'answer', // 开始语音
- someoneInRoom: 'vr_request', // 有人加入房间
- someoneLeaveRoom: 'putup', // 有人离开房间
- action: 'action', // 点击操作
- }
- // 事件监听
- io.on(eventName.startPlay, function (data) {
- console.log(data, 'startplay')
- page.startPlay(data)
- })
-
- io.on(eventName.someoneInRoom, function (data) {
- console.log('有人来了')
- console.log(data)
- if (data.persons.length < 2) {
- return
- }
- console.log(data)
- let user = data.persons.find(item => item.userId === getApp().globalData.userinfo.user_id)
- // page.enterAudioRoom(user)
- wx.getSetting({
- success: (res) => {
- if (!res.authSetting['scope.record']) {
- wx.authorize({
- scope: 'scope.record',
- success: (res) => {
- // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
- console.log('同意', res);
- page.enterAudioRoom(user)
- },
- fail: res => {
- console.log('拒绝', res);
- cbError && cbError();
- }
- })
- } else {
- page.enterAudioRoom(user)
- }
- }
- })
- })
- io.on(eventName.someoneLeaveRoom, function (data) {
- page.someoneLeave(data)
- })
- io.on(eventName.action, (data) => {
- if (data && data.name === 'delegation' && data.role === 'agent') {
- page.changeDelegetionStatus()
- }
- })
- return io
- }
- export function emitSendMsg(target_id) {
- let app = getApp()
- io.emit('sendMsg', {
- user_id: app.globalData.userinfo.user_id,
- target_id: target_id
- })
- }
- export function emitInRoom() {
- let app = getApp()
- io.emit('inRoom', {
- user_id: app.globalData.userinfo.user_id,
- room_id: app.globalData.room_id
- })
- }
- export function emitLeaveRoom() {
- let app = getApp()
- io.emit('leaveRoom', {
- user_id: app.globalData.userinfo.user_id,
- room_id: app.globalData.room_id
- })
- }
- export function disconnect() {
- return io.disconnect()
- }
|