<template>
	<view>

	</view>
</template>

<script>
	var wv = [];
	export default {
		name: "initial",
		props: {
			showModal: {
				type: String,
				default: '0'
			}
		},
		data() {
			return {
				userList: [],
				userListshow: [],
				list: [],
				lastUserName: '',
				userid: '',
				identify: '',
				bool: '',
			}
		},

		created() {
			this.getUserList();
			this.onlineMonitor();
			let _this = this;
			setInterval(function() {
			        _this.onlineUserMap();
			       }, 5000);//如果是首页的onload调用时需要延时一下，二级页面无需延时，可直接获取
			
		},
		computed: {
			sisStageIp: function() {
				return this.$store.state.wholeSituationBackStageIp;
			},
			sisStagePort: function() {
				return this.$store.state.wholeSituationBackStagePort;
			},
			backStageIp: function() {
				return this.$store.state.GlobalLocalIp;
			},
			backStagePort: function() {
				return this.$store.state.GlobalLocalPort;
			},
			windpowerstationNameToId: function() {
				return this.$store.state.windpowerstationNameToId;
			},
		},
		methods: {
			
			destroyUseWebViews() {
				wv=null;
			
			},
			getUserList() {

				let im_show =uni.getStorageSync('im_show');
				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',
						data: {},
						method: 'GET',
						success: function(res) {
							//#ifdef APP-PLUS
							_this.userList = [];

							for (var i = 0; i < res.data.length; i++) {

								if (res.data[i].id != _this.userid) {

									var pages = getCurrentPages();
									var page = pages[pages.length - 1];
									let webView = plus.webview.create("", "webview" + res.data[i].id, {
										plusrequire: "none", //禁止远程网页使用plus的API，有些使用mui制作的网页可能会监听plus.key，造成关闭页面混乱，可以通过这种方式禁止
										'uni-app': 'none', //不加载uni-app渲染层框架，避免样式冲突
										top: uni.getSystemInfoSync().statusBarHeight + 44 //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的，可以继续降低TOP值
									})

									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() {
									          
									         }, 1000);//如果是首页的onload调用时需要延时一下，二级页面无需延时，可直接获取
									webView.hide();

									wv.push(webView)
									
								}
							
							};
							//#endif

						},
						fail: () => {
							_this.tips = '网络错误，小程序端请检查合法域名';
						},
					});
					
					 uni.setStorageSync('im_show','0');
					
				}else
				{
					//#ifdef APP-PLUS
					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 webView = wv[i];
						
						
						currentWebview.append(webView); //一定要append到当前的页面里！！！才能跟随当前页面一起做动画，一起关闭
						
					}
					//#endif
				}


			},
			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;
				this.bool = bool;
				//this.getUserList();
				let webview;
				for (var i = 0; i < wv.length; i++) {
					if (wv[i].id == "webview" + id) {

						webview = wv[i];

						if (state == 1) {

							webview.show()
						} else {
							webview.hide();
						}
						break;
					}
				}

			},
			

		}
	}
</script>

<style>

</style>
