vue-socket.io,

1、npm install vue-socket.io --save

2、main.js中引入

import VueSocketIO from 'vue-socket.io'
Vue.use(new VueSocketIO({
    debug: true,
    connection: 'https://ceshih5.cn:2120',
    vuex: {
        store,
        actionPrefix: 'SOCKET_', //为vuex设置的两个前缀
        mutationPrefix: 'SOCKET_'
    },
}))

3、vuex定义

import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({
    state: {
        message:''
    },
    //相当于计算属性;
    getters: {},
    //必须同步
    mutations: {
        SOCKET_message:(state, data)=>{
           state.message = data;
        }
    },
});
export default store; //main.js引入store

4、在组件中使用

data() {
    return {
        data_show: true, //有数据
    }
},
//注意sockets与data平级
sockets: {
    connect() {
        console.log("链接成功");
    },
    disconnect() {
        console.log("断开链接");
    },
    reconnect() {
        console.log("重新链接");
    },
    //接收服务端推送的信息,new_msg 是后台定义的接收消息字段名
    new_msg(e){  
        console.log(e); //接收的消息
        if(e){
            this.getOrder(); //获取新订单
            this.demo.speakMsg('您有一条新订单,请注意查收');//原生交互,语音播报
        }
    }
},
mounted() {
	//发送信息给服务端
	this.$socket.emit("login",localStorage.getItem('token'));
	//获取订单数据
	this.getOrder(); 
},
methods:{
	//获取订单
	getOrder() {
	    this.axios.post('/api/').then(res => {
	        if (res.status == 1) {
				console.log(res)
	        }
	    })
	},
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值