基于socket的前后端分离WeChat项目(学习笔记)
main.js
//引入socket
import VuesocketIo from ‘vue-socket.io’
//引入axios
import axios from ‘axios’;
//配置axios
axios.defaults.baseURL = ‘http://127.0.0.1:3000’;
//把axios作为一个Vue全局属性添加
Vue.prototype.$http = axios;
//创建全局vuesocketIo对象,方便在所有组件中使用
Vue.use(new VuesocketIo({
connection: ‘127.0.0.1:3000’ //nodejs后台对应地址与端口
}));
vue发送socket的方法
this.$socket.emit("/地址",发送参数);
node后端
//引入socket.io
const socketIo=require("socket.io");
//创建io,并将http服务器对象作为参数 (server是使用http创建的服务器)
const io = socketIo(server);
//监听connection事件,当前台发起socket请求时,则会触发执行
io.on("connection",function(socket){
socket.on("/地址",function(请求参数){
......
......
......
//返回socket
socket.broadcast.emit("LoginUser",user[0]);
});
}
vue发送axios的方法(可以有返回值)
const receive = this.$http.get(’/getUsersOnline’);
node接收axios方法
app.get("/getUsersOnline",async function(req,res){
const data = await userCtl.initAllUsersOnline();
res.send(data);
});
此为学习笔记(为我自己进行一次存档,代码不完整,我敲的又比较乱你们应该看不懂的)
— 努力奋斗,明天会更好