mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 17:56:25 +00:00
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
import { API_URL } from '../config'
|
|
import socketio from 'socket.io-client'
|
|
import auth from './auth'
|
|
import store from './store'
|
|
import { updateUser, updateArticle, destroyArticle, destroyFolder } from './actions'
|
|
|
|
export const CONN = 'CONN'
|
|
export const ALERT = 'ALERT'
|
|
export const USER_UPDATE = 'USER_UPDATE'
|
|
export const ARTICLE_UPDATE = 'ARTICLE_UPDATE'
|
|
export const ARTICLE_DESTROY = 'ARTICLE_DESTROY'
|
|
export const FOLDER_DESTROY = 'FOLDER_DESTROY'
|
|
|
|
let io = socketio(API_URL)
|
|
|
|
io.on(CONN, function (data) {
|
|
console.log('connected', data)
|
|
|
|
let token = auth.token()
|
|
if (token != null) {
|
|
io.emit('JOIN', {token})
|
|
}
|
|
})
|
|
|
|
io.on(ALERT, function (data) {
|
|
console.log(ALERT, data)
|
|
})
|
|
|
|
io.on(USER_UPDATE, function (data) {
|
|
console.log(USER_UPDATE, data)
|
|
let { user } = data
|
|
store.dispatch(updateUser(user))
|
|
})
|
|
|
|
io.on(FOLDER_DESTROY, function (data) {
|
|
console.log(FOLDER_DESTROY, data)
|
|
store.dispatch(destroyFolder(data.TeamId, data.FolderId))
|
|
})
|
|
|
|
io.on(ARTICLE_UPDATE, function (data) {
|
|
console.log(ARTICLE_UPDATE, data)
|
|
let { userId, article } = data
|
|
store.dispatch(updateArticle(userId, article))
|
|
})
|
|
|
|
io.on(ARTICLE_DESTROY, function (data) {
|
|
console.log(ARTICLE_DESTROY, data)
|
|
let { userId, articleKey } = data
|
|
store.dispatch(destroyArticle(userId, articleKey))
|
|
})
|
|
|
|
export default io
|