美文网首页前端应用
Vue Socket IO 的使用

Vue Socket IO 的使用

作者: 思考蛙 | 来源:发表于2019-12-08 10:38 被阅读0次

    安装依赖包

    yarn add socket.io
    yarn add vue-socket.io
    

    配置

    main.js

    import VueSocketIO from 'vue-socket.io'
    
    Vue.use(new VueSocketIO({
        debug: true,
        connection: 'http://socket.host',
        vuex: {
            store,
            actionPrefix: 'SOCKET_',
            mutationPrefix: 'SOCKET_'
        },
        options: {
            autoConnect: false
        //     forceNew: true,
        }
    }))
    
    

    如果 autoConnect 设置为 false 则需要手动连接服务,一般情况如果应用功能是需要登陆后使用的,会设置为 false 以节省连接资源

    app.vue

        const project = 'data.project'
    
        export default {
            name: 'App',
            sockets: {
                connect: function() {
                    this.$socket.emit('joinroom', { project, limit: 10 })
                    // this.$socket.emit('事件名称与服务端保持一致', 参数1,参数2,...);
                },
                disconnect: function () {
                },
                error: function () {
                },
                demand: function () {
                },
                push: function () {
                }
            },
            mounted() {
                if (this.isLogged) {
                    this.$socket.connect()
                }
            },
            computed: {
                isLogged() {
                    return this.$store.getters.user.isLogged
                }
            },
            watch: {
                isLogged(val) {
                    if (val) {
                        this.$socket.connect()
                    }
                }
            },
        }
    

    Socket Store
    src/store/global.js

    export default {
        state: {
           demand: [],
            // 时实推荐
            realtime: [],
        },
        mutations: {
            SOCKET_demand(state, data) {
                // 接收到数据处理
           },
            SOCKET_push(state, data) {
               // 推送数据请求
            }
        },
        actions: {}
    }
    

    相关文章

      网友评论

        本文标题:Vue Socket IO 的使用

        本文链接:https://www.haomeiwen.com/subject/scfmgctx.html