|
@@ -475,9 +475,20 @@ export default {
|
|
|
this.initWebsocket();
|
|
|
//当点击开始时调用方法开发发送游戏数据
|
|
|
//上来就查询已连接列表
|
|
|
- that.listTimeFlag = setInterval(that.connectList, 2000);
|
|
|
+
|
|
|
//根据扫描列表和已连接列表看看哪些是重复的//重复的就是已连接的
|
|
|
that.mergeTimeFlag = setInterval(that.mergeDataFun, 1000);
|
|
|
+ //进入页面就开始扫描
|
|
|
+
|
|
|
+ //进入生物反馈页面扫描设备
|
|
|
+ this.queryScan();
|
|
|
+ that.listTimeFlag = setInterval(that.connectList, 2000);
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ beforeDestroy() {
|
|
|
+ //关闭扫描
|
|
|
+ this.closeScan();
|
|
|
},
|
|
|
destroyed() {
|
|
|
clearTimeout(this.mergeTimeFlag);
|
|
@@ -497,6 +508,7 @@ export default {
|
|
|
let that = this;
|
|
|
let scanDataTmp = JSON.stringify(this.scanData);
|
|
|
let scanDataTmpFin = JSON.parse(scanDataTmp);
|
|
|
+
|
|
|
let list = [];
|
|
|
for (let i = 0; i < scanDataTmpFin.length; i++) {
|
|
|
let obj = {
|
|
@@ -504,14 +516,17 @@ export default {
|
|
|
name: "",
|
|
|
mac: "",
|
|
|
connent: false,
|
|
|
- deviceType: "",
|
|
|
- userNum: "",
|
|
|
+ type: "",
|
|
|
+ ai: "",
|
|
|
+ at: "",
|
|
|
};
|
|
|
obj.rssi = scanDataTmpFin[i].rssi;
|
|
|
obj.name = scanDataTmpFin[i].name;
|
|
|
obj.mac = scanDataTmpFin[i].mac;
|
|
|
obj.connent = false;
|
|
|
- obj.deviceType = scanDataTmpFin[i].deviceType;
|
|
|
+ obj.type = scanDataTmpFin[i].type;
|
|
|
+ obj.ai = scanDataTmpFin[i].ai;
|
|
|
+ obj.at = scanDataTmpFin[i].at;
|
|
|
list.push(obj);
|
|
|
}
|
|
|
//判断某个
|
|
@@ -559,19 +574,20 @@ export default {
|
|
|
//然后合并两个数组
|
|
|
|
|
|
let listFin = list.concat(listBarring);
|
|
|
-
|
|
|
+ console.log("------1111111111111111111");
|
|
|
+ console.log(listFin);
|
|
|
//判断当前选择的是脑电还是心电
|
|
|
let currentDeviceList = [];
|
|
|
if (this.equipment == "1") {
|
|
|
//当是脑电时
|
|
|
for (let i = 0; i < listFin.length; i++) {
|
|
|
- if (listFin[i].deviceType == "0") {
|
|
|
+ if (listFin[i].type == "0") {
|
|
|
currentDeviceList.push(listFin[i]);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
for (let i = 0; i < listFin.length; i++) {
|
|
|
- if (listFin[i].deviceType == "1") {
|
|
|
+ if (listFin[i].type == "1") {
|
|
|
currentDeviceList.push(listFin[i]);
|
|
|
}
|
|
|
}
|
|
@@ -586,6 +602,7 @@ export default {
|
|
|
}
|
|
|
//将数组其他选项
|
|
|
// console.log(listFin);
|
|
|
+
|
|
|
this.mergeData = currentDeviceList;
|
|
|
},
|
|
|
//脑电图渲染
|
|
@@ -746,12 +763,11 @@ export default {
|
|
|
let that = this;
|
|
|
that.buttonLinkFlag = true;
|
|
|
that.$http.postTmp(
|
|
|
- `/v1/device/connection`,
|
|
|
+ `/v2/device/conn`,
|
|
|
{
|
|
|
- chip: val.deviceType,
|
|
|
+ ai: val.ai+'',
|
|
|
mac: val.mac,
|
|
|
- addrType: "public",
|
|
|
- filterName: val.deviceType,
|
|
|
+ at: val.at+'',
|
|
|
},
|
|
|
(res) => {
|
|
|
that.disableStatus();
|
|
@@ -760,8 +776,8 @@ export default {
|
|
|
//如果是脑电的话直接调用打开数据接口
|
|
|
//如果是心电需要先调用写入输入数据-发送指令接口
|
|
|
|
|
|
- if (val.deviceType == "1") {
|
|
|
- this.writeData(val);
|
|
|
+ if (val.type == "1") {
|
|
|
+ // this.writeData(val);
|
|
|
that.userLink.mac = val.mac;
|
|
|
} else {
|
|
|
//判断脑电设备
|
|
@@ -843,7 +859,7 @@ export default {
|
|
|
//查询连接列表
|
|
|
connectList() {
|
|
|
let that = this;
|
|
|
- that.$http.getTmp(`v1/device/connected`, {}, (res) => {
|
|
|
+ that.$http.getTmp(`v2/device/connected/list`, {}, (res) => {
|
|
|
// console.log(res)
|
|
|
//判断当前的列表是否存在该用户已点击的列表
|
|
|
if (res.code == 200) {
|
|
@@ -896,7 +912,7 @@ export default {
|
|
|
},
|
|
|
typeFormatter(val) {
|
|
|
// console.log(val.deviceType)
|
|
|
- if (val.deviceType == "1") {
|
|
|
+ if (val.type == "1") {
|
|
|
return "心电";
|
|
|
} else {
|
|
|
return "脑电";
|
|
@@ -907,7 +923,7 @@ export default {
|
|
|
//调用扫描接口
|
|
|
// this.queryScan();
|
|
|
},
|
|
|
- //扫描设备
|
|
|
+ //开启扫描扫描
|
|
|
queryScan() {
|
|
|
let that = this;
|
|
|
let filter_name = null;
|
|
@@ -916,20 +932,19 @@ export default {
|
|
|
} else {
|
|
|
filter_name = 1;
|
|
|
}
|
|
|
- that.$http.postTmp(
|
|
|
- `/v1/device/scan`,
|
|
|
- {},
|
|
|
- // { filter_name: filter_name, filter_rssi: -99 },
|
|
|
- (res) => {
|
|
|
- // if (res.code == 200) {
|
|
|
- // console.log(res.data);
|
|
|
- // if (this.equipment == 1) {
|
|
|
- // }
|
|
|
- // } else {
|
|
|
- // this.$message.error("访问服务器失败!");
|
|
|
- // }
|
|
|
- }
|
|
|
- );
|
|
|
+ that.$http.getTmp(`/v2/device/scan`, {}, (res) => {});
|
|
|
+ },
|
|
|
+
|
|
|
+ //关闭扫描
|
|
|
+ closeScan() {
|
|
|
+ let that = this;
|
|
|
+ let filter_name = null;
|
|
|
+ if (this.equipment == 1) {
|
|
|
+ filter_name = 0;
|
|
|
+ } else {
|
|
|
+ filter_name = 1;
|
|
|
+ }
|
|
|
+ that.$http.getTmp(`/v2/device/scan`, {}, (res) => {});
|
|
|
},
|
|
|
//进来后先连接websocket
|
|
|
//连上后进行扫描
|
|
@@ -937,8 +952,9 @@ export default {
|
|
|
//列表出现后点击连接并打开数据如果有数据才算成功
|
|
|
//初始化websocket
|
|
|
initWebsocket() {
|
|
|
- // const wsuri = "ws://192.168.2.101:8000/ws?uid=client&to_uid=server";
|
|
|
- const wsuri = "ws://localhost:8000/ws?uid=client&to_uid=server";
|
|
|
+ // const wsuri = "ws://192.168.1.103:8000/ws?uid=client&to_uid=server";
|
|
|
+ // const wsuri = "ws://localhost:8000/ws?uid=client&to_uid=server";
|
|
|
+ const wsuri = "ws://192.168.1.102:8000/ws?uid=client&to_uid=server";
|
|
|
this.websock = new WebSocket(wsuri);
|
|
|
this.websock.onmessage = this.websocketonmessage;
|
|
|
this.websock.onopen = this.websocketonopen;
|
|
@@ -952,7 +968,7 @@ export default {
|
|
|
},
|
|
|
websocketonerror() {
|
|
|
//连接建立失败重连
|
|
|
- this.initWebSocket();
|
|
|
+ // this.initWebSocket();
|
|
|
},
|
|
|
websocketsend(Data) {
|
|
|
//数据发送
|
|
@@ -962,30 +978,39 @@ export default {
|
|
|
let that = this;
|
|
|
//数据接收
|
|
|
const redata = JSON.parse(e.data);
|
|
|
+ console.log(redata);
|
|
|
// console.log(redata);
|
|
|
- if (redata.content != "Successful connection to socket service") {
|
|
|
+ if (
|
|
|
+ redata.content != "开启扫描成功" &&
|
|
|
+ redata.content != "设置过滤成功" &&
|
|
|
+ redata.content != "Successful connection to socket service" &&
|
|
|
+ redata.content != "关闭扫描成功" &&
|
|
|
+ redata.content != "设置UUID成功"&&
|
|
|
+ redata.content != "设备连接成功"
|
|
|
+ ) {
|
|
|
//首先判断是否redata.content是否是未定义
|
|
|
// console.log(redata.content)
|
|
|
if (redata.hasOwnProperty("content")) {
|
|
|
let dataLin = JSON.parse(redata.content);
|
|
|
if (redata.msgType == "device") {
|
|
|
// let dataLin = JSON.parse(redata.content);
|
|
|
- let list = [];
|
|
|
- for (var key in dataLin) {
|
|
|
- let a = {
|
|
|
- mac: dataLin[key]["MAC"],
|
|
|
- name: dataLin[key].Name,
|
|
|
- rssi: dataLin[key].Rssi,
|
|
|
- deviceType: dataLin[key].DeviceType,
|
|
|
- chip: dataLin[key].Chip,
|
|
|
- };
|
|
|
- that.changeList(a);
|
|
|
- }
|
|
|
+ console.log("-------------");
|
|
|
+ console.log(dataLin);
|
|
|
+ let a = {
|
|
|
+ mac: dataLin.m,
|
|
|
+ name: dataLin.n,
|
|
|
+ rssi: dataLin.rssi,
|
|
|
+ ai: dataLin.ai,
|
|
|
+ at: dataLin.at,
|
|
|
+ type: dataLin.t, //当type为1时为心电
|
|
|
+ };
|
|
|
+ that.changeList(a);
|
|
|
//获取到很多数据,取每秒最大的包含量
|
|
|
} else if (redata.msgType == "eegData") {
|
|
|
// let dataLin = JSON.parse(redata.content);
|
|
|
// console.log(dataLin);
|
|
|
-
|
|
|
+ console.log("11111111111111111111");
|
|
|
+ console.log(dataLin.value);
|
|
|
///先判断第一个用户是否有mac---有mac代表已连接
|
|
|
if (that.userLink.mac !== "" && that.userLink.mac == dataLin.id) {
|
|
|
ipcRenderer.send("asynchronoushrv-naoData", {
|
|
@@ -1027,6 +1052,10 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ }else if(redata.msgType == "connectedList"){
|
|
|
+ //数组储存每次返回的已选列表
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1037,16 +1066,10 @@ export default {
|
|
|
// console.log(obj);
|
|
|
let that = this;
|
|
|
that.listTmp.push(obj);
|
|
|
+ //让两个变量不是指向一个地址
|
|
|
let arrayStr = JSON.stringify(that.listTmp);
|
|
|
let array = JSON.parse(arrayStr);
|
|
|
- //取list中不相同的
|
|
|
- // console.log(array)
|
|
|
- // array = array.reduce(function (item, next) {
|
|
|
- // obj[next.MAC] ? "" : (obj[next.MAC] = true && item.push(next));
|
|
|
- // return item;
|
|
|
- // }, []);
|
|
|
- //循环数组arr
|
|
|
- //设置储存不一样的数组
|
|
|
+
|
|
|
var newArr = new Array();
|
|
|
var flag = false;
|
|
|
for (var i = 0; i < array.length; i++) {
|
|
@@ -1070,53 +1093,6 @@ export default {
|
|
|
// console.log(JSON.stringify(newArr));
|
|
|
//listTmp即使最大扫描列表
|
|
|
that.scanData = newArr;
|
|
|
-
|
|
|
- //目前无法知道当前设备是脑电还是脉搏
|
|
|
-
|
|
|
- // listShaking:false,
|
|
|
-
|
|
|
- //判断标志是true或false
|
|
|
- // if (that.listShaking) {
|
|
|
- // let flagTime = setTimeout(() => {
|
|
|
- // that.listShaking = true;
|
|
|
- // let arrayStr = JSON.stringify(that.listTmp);
|
|
|
- // let array = JSON.parse(arrayStr);
|
|
|
- // //取list中不相同的
|
|
|
- // console.log(array)
|
|
|
- // // array = array.reduce(function (item, next) {
|
|
|
- // // obj[next.MAC] ? "" : (obj[next.MAC] = true && item.push(next));
|
|
|
- // // return item;
|
|
|
- // // }, []);
|
|
|
- // //循环数组arr
|
|
|
- // //设置储存不一样的数组
|
|
|
- // var newArr = new Array();
|
|
|
- // var flag = false;
|
|
|
- // for (var i = 0; i < array.length; i++) {
|
|
|
- // for (var j = 0; j < newArr.length; j++) {
|
|
|
- // if (array[i].mac == newArr[j].mac) {
|
|
|
- // newArr[j] = array[i];
|
|
|
- // flag = true;
|
|
|
- // break;
|
|
|
- // }
|
|
|
- // }
|
|
|
- // if (!flag) {
|
|
|
- // newArr.push(array[i]);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // // newArr=JSON.parse(newArr)
|
|
|
- // // let newArr = {}
|
|
|
- // // array.forEach(item => {
|
|
|
- // // newArr[item.MAC] = item
|
|
|
- // // })
|
|
|
- // that.listTmp = JSON.parse(JSON.stringify(newArr));
|
|
|
- // console.log(JSON.stringify(newArr));
|
|
|
- // //listTmp即使最大扫描列表
|
|
|
- // that.scanData = newArr;
|
|
|
- // //当前扫描列表
|
|
|
- // clearTimeout(flagTime);
|
|
|
- // }, 1000);
|
|
|
- // }
|
|
|
- // that.listShaking = false;
|
|
|
},
|
|
|
websocketclose(e) {
|
|
|
if (e.code == 1005) {
|
|
@@ -1578,7 +1554,7 @@ export default {
|
|
|
case 1:
|
|
|
//this.urlThreeP = this.pubSrc + "/candle/index.html";
|
|
|
// this.urlThreeP = pubSrc+ + "/candle/index.html";
|
|
|
- this.urlThreeP = __static + "/candle/index.html";
|
|
|
+ this.urlThreeP = __static + "/candle/index.html";
|
|
|
this.delayTime();
|
|
|
break;
|
|
|
case 2:
|
|
@@ -1608,7 +1584,7 @@ export default {
|
|
|
break;
|
|
|
default:
|
|
|
// this.urlThreeP = this.pubSrc + "/candle/index.html";
|
|
|
- this.urlThreeP = __static + "/candle/index.html";
|
|
|
+ this.urlThreeP = __static + "/candle/index.html";
|
|
|
}
|
|
|
this.gameScene = val;
|
|
|
this.flag = this.gameScene;
|