cinwell website
cinwell website
function createSocket(config) {
var socket = io('https://epx-ws.4dkankan.com/', { // 注意:此地址仅供测试,切勿在生产中使用
path: '/ws-sync',
transports: ['websocket'],
})
return socket
}
var kankan = null
var isJoined = false
var socket = createSocket()
socket.on('connect', () => {
socket.emit('join', {
userId: Date.now().toString(), // 随机一个用户标识
roomId: 'test-room', // 可以修改不同的房间标识
role: 'leader', // 角色
})
})
socket.on('join', data => {
isJoined = true
})
socket.on('action', data => {
if (data.type == 'error') {
} else if (data.type == 'user-init') {
kankan.Connect.follow.sync()
}
})
socket.on('sync', data => {
kankan.Connect.sync.receive(data)
})
var kankan = new KanKan({
dom: '#scene',
num: 'KJ-JYo2ZZyKKJ',
})
kankan.Scene.on('loaded', () => {
kankan.Connect.sync.start()
})
kankan.Connect.sync.on('data', data => {
if (isJoined) {
socket.emit('sync', data)
}
})
kankan.render()
function createSocket(config) {
var socket = io('https://epx-ws.4dkankan.com/', {
path: '/ws-sync',
transports: ['websocket'],
})
return socket
}
var kankan = null
var isJoined = false
var socket = createSocket()
socket.on('connect', () => {
socket.emit('join', {
userId: Date.now().toString(),
roomId: 'test-room', // 需与主持人一致
role: 'customer',
})
})
socket.on('join', data => {
isJoined = true
})
socket.on('action', data => {
if (data.type == 'error') {
}
})
socket.on('sync', data => {
kankan.Connect.sync.receive(data)
})
var kankan = new KanKan({
dom: '#scene',
num: 'KJ-JYo2ZZyKKJ',
})
kankan.Scene.on('loaded', () => {
kankan.Connect.sync.start()
socket.emit('action', { type: 'user-init' })
})
kankan.Connect.sync.on('data', data => {
if (isJoined) {
socket.emit('sync', data)
}
})
kankan.render()