|
@@ -28,6 +28,12 @@
|
|
|
|
|
|
created() {
|
|
|
this.getUserList();
|
|
|
+ this.onlineMonitor();
|
|
|
+ let _this = this;
|
|
|
+ setInterval(function() {
|
|
|
+ _this.onlineUserMap();
|
|
|
+ }, 6000);//如果是首页的onload调用时需要延时一下,二级页面无需延时,可直接获取
|
|
|
+
|
|
|
},
|
|
|
computed: {
|
|
|
sisStageIp: function() {
|
|
@@ -51,13 +57,13 @@
|
|
|
getUserList() {
|
|
|
|
|
|
let im_show =uni.getStorageSync('im_show');
|
|
|
- if (im_show != "1") {
|
|
|
+ if (im_show == "1") {
|
|
|
this.lastUserName = uni.getStorageSync('gyeeusername');
|
|
|
this.userid = uni.getStorageSync('userid');
|
|
|
|
|
|
let _this = this;
|
|
|
uni.request({
|
|
|
- url: 'http://' + this.sisStageIp + ':' + this.sisStagePort + '/GyeeuserController/selectUserList',
|
|
|
+ url: 'http://' + _this.sisStageIp + ':' + _this.sisStagePort + '/GyeeuserController/selectUserList',
|
|
|
data: {},
|
|
|
method: 'GET',
|
|
|
success: function(res) {
|
|
@@ -78,14 +84,15 @@
|
|
|
let url = "https://" + _this.backStageIp + ":" + _this.backStagePort + "/websocket/usercontroller/view?send=" +
|
|
|
_this.userid + "&receive=" + res.data[i].id + "&sendname=" + _this.lastUserName + "&receivename=" + res.data[
|
|
|
i].nickname;
|
|
|
+
|
|
|
webView.loadURL(url)
|
|
|
var currentWebview = page.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
|
|
|
currentWebview.append(webView); //一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
|
|
|
//wv.setStyle({top:70,height:height});
|
|
|
|
|
|
- setTimeout(function() {
|
|
|
+ setTimeout(function() {
|
|
|
|
|
|
- }, 1000);//如果是首页的onload调用时需要延时一下,二级页面无需延时,可直接获取
|
|
|
+ }, 1000);//如果是首页的onload调用时需要延时一下,二级页面无需延时,可直接获取
|
|
|
webView.hide();
|
|
|
|
|
|
wv.push(webView)
|
|
@@ -101,7 +108,7 @@
|
|
|
},
|
|
|
});
|
|
|
|
|
|
- uni.setStorageSync('im_show','1');
|
|
|
+ uni.setStorageSync('im_show','0');
|
|
|
|
|
|
}else
|
|
|
{
|
|
@@ -113,6 +120,7 @@
|
|
|
|
|
|
let webView = wv[i];
|
|
|
|
|
|
+
|
|
|
currentWebview.append(webView); //一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
|
|
|
|
|
|
}
|
|
@@ -120,6 +128,152 @@
|
|
|
|
|
|
|
|
|
},
|
|
|
+ async onlineUserMap() {
|
|
|
+
|
|
|
+
|
|
|
+ let _this = this;
|
|
|
+ let url='https://' + _this.backStageIp + ':' + _this.backStagePort + '/websocket/usercontroller/onlineUserList';
|
|
|
+ uni.request({
|
|
|
+ url: url,
|
|
|
+ data: {},
|
|
|
+ method: 'GET',
|
|
|
+ sslVerify: false,
|
|
|
+ success: function(res) {
|
|
|
+
|
|
|
+ _this.userid = uni.getStorageSync('userid');
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ let onlineList=[];
|
|
|
+
|
|
|
+ for (var i = 0; i < res.data.length; i++) {
|
|
|
+
|
|
|
+ if(res.data[i].id==_this.userid)
|
|
|
+ {
|
|
|
+ onlineList=res.data[i].userlist;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var pages = getCurrentPages();
|
|
|
+ var page = pages[pages.length - 1];
|
|
|
+ var currentWebview = page.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
|
|
|
+
|
|
|
+ for (var i = 0; i < wv.length; i++) {
|
|
|
+
|
|
|
+ let status=true;
|
|
|
+
|
|
|
+ if(onlineList.length==0)
|
|
|
+ {
|
|
|
+ status=false;
|
|
|
+ }else{
|
|
|
+ for (var j = 0; j < onlineList.length; j++) {
|
|
|
+
|
|
|
+ if (wv[i].id == "webview" + onlineList[j]) {
|
|
|
+ status=false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if(status)
|
|
|
+ {
|
|
|
+ let url=wv[i].getURL();
|
|
|
+ wv[i].loadURL(url);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ fail: function(res) {
|
|
|
+ _this.tips = '网络错误,小程序端请检查合法域名';
|
|
|
+ },
|
|
|
+ });
|
|
|
+
|
|
|
+ uni.setStorageSync('im_show','0');
|
|
|
+
|
|
|
+ },
|
|
|
+ async onlineMonitor() {
|
|
|
+
|
|
|
+ // let im_monitor =uni.getStorageSync('im_monitor');
|
|
|
+ // if (im_monitor == "1") {
|
|
|
+
|
|
|
+ // let _this = this;
|
|
|
+ // // 创建一个this.socketTask对象【发送、接收、关闭socket都由这个对象操作】
|
|
|
+ // this.socketTask_getUserList = uni.connectSocket({
|
|
|
+ // // 【非常重要】必须确保你的服务器是成功的,如果是手机测试千万别使用ws://127.0.0.1:9099【特别容易犯的错误】
|
|
|
+ // url: 'ws://' + this.sisStageIp + ':' + this.sisStagePort + '/websocket/pageNumber_4/functionNumber_4/all',
|
|
|
+ // success(data) {
|
|
|
+ // console.log(data);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // // 消息的发送和接收必须在正常连接打开中,才能发送或接收【否则会失败】
|
|
|
+ // this.socketTask_getUserList.onOpen(res => {
|
|
|
+ // console.log('WebSocket连接正常打开中...!');
|
|
|
+ // this.is_open_socket = true;
|
|
|
+
|
|
|
+ // // 注:只有连接正常打开中 ,才能正常收到消息
|
|
|
+ // this.socketTask_getUserList.onMessage(res => {
|
|
|
+ // /* _this.windpowerstationdetail.getUserList = JSON.parse(res.data); */
|
|
|
+
|
|
|
+ // _this.userid = uni.getStorageSync('userid');
|
|
|
+
|
|
|
+ // let obj=JSON.parse(res.data);
|
|
|
+
|
|
|
+ // let onlineList=[];
|
|
|
+
|
|
|
+ // for (var i = 0; i < obj.length; i++) {
|
|
|
+
|
|
|
+ // if(obj[i].id==_this.userid)
|
|
|
+ // {
|
|
|
+ // onlineList=obj[i].userlist;
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+ // var pages = getCurrentPages();
|
|
|
+ // var page = pages[pages.length - 1];
|
|
|
+ // var currentWebview = page.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
|
|
|
+
|
|
|
+ // for (var i = 0; i < wv.length; i++) {
|
|
|
+
|
|
|
+ // let status=true;
|
|
|
+
|
|
|
+ // if(onlineList.length==0)
|
|
|
+ // {
|
|
|
+ // status=false;
|
|
|
+ // }else{
|
|
|
+ // for (var j = 0; j < onlineList.length; j++) {
|
|
|
+
|
|
|
+ // if (wv[i].id == "webview" + onlineList[j]) {
|
|
|
+ // status=false;
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+ // if(status)
|
|
|
+ // {
|
|
|
+ // let url=wv[i].getURL();
|
|
|
+ // wv[i].loadURL(url);
|
|
|
+ // }
|
|
|
+
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+ // //_this.userList = JSON.parse(res.data);
|
|
|
+
|
|
|
+ // });
|
|
|
+ // });
|
|
|
+
|
|
|
+ // uni.setStorageSync('im_monitor',0);
|
|
|
+
|
|
|
+ // }
|
|
|
+
|
|
|
+ },
|
|
|
childMethod(id, bool, state) {
|
|
|
console.log(id);
|
|
|
this.identify = id;
|
|
@@ -130,22 +284,6 @@
|
|
|
if (wv[i].id == "webview" + id) {
|
|
|
|
|
|
webview = wv[i];
|
|
|
- let url = webview.getURL();
|
|
|
- if (bool != null) {
|
|
|
- if (bool == 1) {
|
|
|
-
|
|
|
- if (url.indexOf("/view?") < 0) {
|
|
|
- url = url.replace("/viewoffline?", "/view?");
|
|
|
- webview.loadURL(url);
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (url.indexOf("/viewoffline?") < 0) {
|
|
|
- url = url.replace("/view?", "/viewoffline?");
|
|
|
- webview.loadURL(url);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
if (state == 1) {
|
|
|
|