| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- const lib = require("./Library");
- window.server = {
- matchCallback:null,
- eventNodeArr:[],
- login(openid,name,avatarUrl,gender,callback)
- {
- if(openid ==='' || name ==='' ||avatarUrl ==='' ||gender ==='' ||callback == null) return;
- let Self = this;
-
- // this.ws = new WebSocket("ws://localhost:3000");
- // this.ws = new WebSocket("ws://121.4.59.141:3000/node/");
- // this.ws = new WebSocket("ws://www.yuyekeji.cn:3000/node/");
- // this.ws = new WebSocket("ws://www.yuyekeji.cn:3000/");
- this.ws = new WebSocket("ws://192.168.31.211:3000");
-
- this.ws.onopen = function () {
- //当WebSocket创建成功时,触发onopen事件
- console.log("WebSocket建立成功");
- console.log("open");
- let player_info = {};
- player_info.type = "login";
- player_info.openid = openid;
- player_info.name = name;
- player_info.avatarUrl = avatarUrl;
- player_info.gender = gender;
- // console.log('player_info=',player_info)
- Self.ws.send(JSON.stringify(player_info)); //将消息发送到服务端
- callback();
- }
- this.ws.onmessage = function (e) {
- //当客户端收到服务端发来的消息时,触发onmessage事件,参数e.data包含server传递过来的数据
- let data_json = JSON.parse(e.data);
- if(data_json.type === 'match')
- {
- Self.matchCallback(data_json.roomId,data_json.openid,data_json.name,data_json.avatarUrl,data_json.gender);
- }
- else if(data_json.type === 'onRecvLockStep')
- {
- Self.emmitEvent('onRecvLockStep',data_json);
- }
- }
- this.ws.onclose = function (e) {
- //当客户端收到服务端发送的关闭连接请求时,触发onclose事件
- console.log("close");
- }
- this.ws.onerror = function (e) {
- //如果出现连接、处理、接收、发送数据失败的时候触发onerror事件
- console.log(error);
- }
- },
- on(eventName,callback){
- let aMap = {};
- aMap.eventName = eventName;
- aMap.callback = callback;
-
- this.eventNodeArr.push(aMap);
- },
- match(openid,gameMode,callback)
- {
- if(openid ==='' || callback == null) return;
- let obj = {};
- obj.type = 'match';
- obj.openid = openid;
- obj.gameMode = gameMode;
- this.matchCallback = callback;
- this.ws.send(JSON.stringify(obj));
- },
- cancel()
- {
- this.ws.close();
- },
- emmitEvent(eventName,data){
- for(let i=0;i<this.eventNodeArr.length;i++){
- let aMap = this.eventNodeArr[i];
- if(aMap.eventName === eventName)
- {
- aMap.callback(data);
- }
- }
- },
- sendOrder(openid,order,position,roomId)
- {
- let obj = {};
- obj.openid = openid;
- obj.type = 'lockStep';
- obj.order = order;
- obj.position = position;
- obj.roomId = roomId;
- this.ws.send(JSON.stringify(obj));
- },
- // sendMessage(openid,message)
- // {
- // if(openid ==='' || message ==='') return;
- // let obj = {};
- // obj.type = 'message';
- // obj.openid = openid;
- // obj.message = message;
- // this.ws.send(JSON.stringify(obj));
- // },
- // onOtherPlayerQuit(openid,callback)
- // {
- // if(openid ==='') return;
- // let obj = {};
- // obj.type = 'onQuit';
- // obj.openid = openid;
- // callback = this.onPlayerQuitCallback;
- // }
- }
- module.exports = server;
|