zkl hace 3 años
padre
commit
8864bc42bf
Se han modificado 25 ficheros con 5910 adiciones y 5719 borrados
  1. 41 20
      MingGaoApp/App.vue
  2. 3 3
      MingGaoApp/manifest.json
  3. 3 2
      MingGaoApp/pages/login/login.vue
  4. 4 0
      MingGaoApp/pages/my/myinfo.vue
  5. 8 2
      MingGaoApp/pages/response/details.vue
  6. 48 51
      MingGaoApp/pages/response/index.vue
  7. 19 9
      MingGaoApp/pages/response/video.nvue
  8. 5 0
      MingGaoApp/pages/start/start.vue
  9. BIN
      MingGaoApp/static/image/13.png
  10. 1 1
      MingGaoApp/unpackage/dist/build/app-plus/app-config-service.js
  11. 3 3
      MingGaoApp/unpackage/dist/build/app-plus/app-service.js
  12. 1 1
      MingGaoApp/unpackage/dist/build/app-plus/app-view.js
  13. 1 1
      MingGaoApp/unpackage/dist/build/app-plus/manifest.json
  14. 1 1
      MingGaoApp/unpackage/dist/build/app-plus/pages/response/video.js
  15. BIN
      MingGaoApp/unpackage/dist/build/app-plus/static/image/11.png
  16. BIN
      MingGaoApp/unpackage/dist/build/app-plus/static/image/12.png
  17. BIN
      MingGaoApp/unpackage/dist/build/app-plus/static/image/13.png
  18. 2 2
      MingGaoApp/unpackage/dist/build/app-plus/view.umd.min.js
  19. 1 1
      MingGaoApp/unpackage/dist/dev/app-plus/app-config-service.js
  20. 2690 2663
      MingGaoApp/unpackage/dist/dev/app-plus/app-service.js
  21. 2436 2411
      MingGaoApp/unpackage/dist/dev/app-plus/app-view.js
  22. 1 1
      MingGaoApp/unpackage/dist/dev/app-plus/manifest.json
  23. 640 545
      MingGaoApp/unpackage/dist/dev/app-plus/pages/response/video.js
  24. BIN
      MingGaoApp/unpackage/dist/dev/app-plus/static/image/13.png
  25. 2 2
      MingGaoApp/unpackage/dist/dev/app-plus/view.umd.min.js

+ 41 - 20
MingGaoApp/App.vue

@@ -5,8 +5,8 @@
 
 			// 文本消息
 			socketTask: null,
-			urlData: "ws://114.115.147.140:12345/api/api_gateway?method=control_center.real_time.im_message",
-			// urlData: "ws://192.168.1.17:12345/api/api_gateway?method=control_center.real_time.im_message",
+			// urlData: "ws://114.115.147.140:12345/api/api_gateway?method=control_center.real_time.im_message",
+			urlData: "ws://192.168.1.17:12345/api/api_gateway?method=control_center.real_time.im_message",
 			is_open_socket: false, // 确保websocket是打开状态
 			list: [],
 			userId: null, // 用户ID
@@ -17,7 +17,8 @@
 			// 测试 - 心跳检测
 			status: null, // websocket是否关闭
 			lockReconnect: false, // 避免重复连接
-			timeout: 5000, // 多少秒执行监测
+			// timeout: 5000, // 多少秒执行监测
+			timeout: 10000, // 多少秒执行监测
 			timeoutObj: null, // 检测服务器端是否还活着
 			reconnectTimeOutObj: null, // 重连之后多久再次重连
 			// 测试
@@ -46,12 +47,20 @@
 		},
 		onShow: function() {
 			// App展示在前台
-			// console.log('App Show')、
+			console.log('+++++++++++++++++++App Show-------------------------------------')
+			// this.close() // 先关闭
+			// if (this.globalData.socketTask == null && this.globalData.token !== '') {
+			// 	this.msgInit();
+			// } else if (this.globalData.socketTask !== null) {
+			// 	this.close() // 先关闭
+			// 	this.msgInit(); // 再进行请求
+			// }
+			// console.log(this.globalData.socketTask)
+			
+			// this.msgInit(); // 再进行请求
 		},
 		onHide: function() {
 			// App不再再展示在前台
-			// console.log('App Hide')
-			this.close()
 		},
 		methods: {
 			// 实时通信 - 初始化
@@ -61,7 +70,7 @@
 				that.globalData.socketTask = uni.connectSocket({
 					url: this.globalData.urlData + "&token=" + that.globalData.token,
 					success(data) {
-						// console.log("websocket连接成功");
+						console.log("websocket连接中");
 					}
 				});
 
@@ -72,8 +81,10 @@
 					'data': {}
 				}
 				that.globalData.socketTask.onOpen((res) => {
+					console.log('websocket开启了')
 					// 清除重连定时器
-					clearInterval(that.globalData.reconnectTimeOutObj)
+					// clearInterval(that.globalData.reconnectTimeOutObj)
+					that.notReconnect()
 					// 开启检测
 					that.start()
 					that.globalData.socketTask.send({
@@ -91,6 +102,7 @@
 				that.globalData.socketTask.onMessage((res) => {
 					console.log("收到服务器内容:");
 					var val = JSON.parse(res.data)
+					console.log('这是返回的内容---------', val)
 					if (val.action == 'list') {
 						var obj1 = {
 							'action': 'list', // 动作标识,必填
@@ -103,46 +115,41 @@
 						that.globalData.socketTask.send({
 							data: JSON.stringify(obj1),
 							async success(res) {
-								// console.log("消息发送成功");
 							},
 						});
 					} else if (val.action == 'none') {
-						// console.log('进入了')
+						console.log('进入了none')
 						that.globalData.list = val.data
-						// console.log(that.globalData.list)
 						this.$store.state.list = val.data
-						// console.log(this.$store.state.list)
 					} else if (val.action == 'recv_video') {
-						// console.log(val.data)
 						that.globalData.video = val.data
 						this.$store.state.video = val.data
-						// console.log(this.$store.state.video)
 					}
 					
 					
 					this.reset();
 					console.log('消息可正常接收');
 				});
-				// console.log(that.socketTask)
 				
 				// 连接断开
 				// 如果希望websocket连接一直保持,在close或者error上绑定重新连接方法。
 				this.globalData.socketTask.onClose((res) => {
 					console.log(res, '连接关闭');
+					clearInterval(this.globalData.timeoutObj);
 					that.reconnect();
 				})
 				
 				// 连接失败
 				that.globalData.socketTask.onError((res) => {
 					console.log(res, '连接错误');
+					clearInterval(this.globalData.timeoutObj);
 					that.reconnect();
 				})
 			},
 
 			// 心跳机制
 			start() {
-				// console.log(this.globalData.timeoutObj)
-				// console.log('进入心跳机制了', this.globalData.timeout)
+				var that = this
 				this.globalData.timeoutObj = setInterval(() => {
 					//这里发送一个心跳,后端收到后,返回一个心跳消息,
 					//onmessage拿到返回的心跳就说明连接正常
@@ -151,8 +158,14 @@
 						'recv_user_id': '', // 接收人用户id, 非必填
 						'data': {}
 					}
-					this.globalData.socketTask.send(JSON.stringify(obj));
-					// console.log('进入心跳机制了', this.globalData.timeout)
+					that.globalData.socketTask.send({
+						data: JSON.stringify(obj),
+						async success(res) {
+							that.globalData.is_open_socket = true
+							console.log('消息发送成功1111')
+						}
+					});
+					console.log('进入心跳机制了', this.globalData.timeout)
 				}, this.globalData.timeout)
 			},
 			// 清除心跳机制
@@ -181,11 +194,19 @@
 					this.lockReconnect = false;
 				}, 4000);
 			},
+			
+			// 清除重连
+			notReconnect() {
+				clearInterval(this.globalData.reconnectTimeOutObj)
+			},
 
 			// 手动关闭
 			close() {
+				var that = this
 				console.log('已经手动关闭了')
-				this.globalData.socketTask.close()
+				that.globalData.socketTask.close()
+				clearInterval(that.globalData.timeoutObj);
+				clearInterval(that.globalData.reconnectTimeOutObj);
 			},
 		},
 	}

+ 3 - 3
MingGaoApp/manifest.json

@@ -56,9 +56,9 @@
                 "androidStyle" : "default",
                 "useOriginalMsgbox" : false,
                 "android" : {
-                    "hdpi" : "C:/Users/FC/Desktop/图片/智网/智云图片/statr.png",
-                    "xhdpi" : "C:/Users/FC/Desktop/图片/智网/智云图片/statr.png",
-                    "xxhdpi" : "C:/Users/FC/Desktop/图片/智网/智云图片/statr.png"
+                    "hdpi" : "F:/000-项目/软件/名高项目App/相关/7cd5130f449996835a12c93537623d1.png",
+                    "xhdpi" : "F:/000-项目/软件/名高项目App/相关/7cd5130f449996835a12c93537623d1.png",
+                    "xxhdpi" : "F:/000-项目/软件/名高项目App/相关/7cd5130f449996835a12c93537623d1.png"
                 }
             },
             "icons" : {

+ 3 - 2
MingGaoApp/pages/login/login.vue

@@ -57,6 +57,7 @@
 				})
 			},
 			async getlistinfo() {
+				var that = this
 				const res = await this.$myRequest({
 					url: '/api/api_gateway?method=sysmenage.usermanager.user_info',
 				})
@@ -118,8 +119,8 @@
 						})
 					}
 				}
-				
-
+				plus.runtime.restart(); // 重启App
+				console.log1p('重启App啦')
 			},
 			async login() {
 				this.isloading = true

+ 4 - 0
MingGaoApp/pages/my/myinfo.vue

@@ -62,6 +62,9 @@
 </template>
 
 <script>
+	import store from '@/store/index.js'; //需要引入store
+	let App = getApp();
+	var API = App.globalData.socketTask;
 	export default {
 		data() {
 			return {
@@ -93,6 +96,7 @@
 				})
 				console.log(res)
 				if(res){
+					App.close();
 					uni.removeStorage({
 						key: 'session_key',
 					})

+ 8 - 2
MingGaoApp/pages/response/details.vue

@@ -32,7 +32,7 @@
 			</view>
 		</scroll-view>
 		<!-- input输入框 -->
-		<u--input type="text" class="details_input" maxlength="200" confirm-type="send" @confirm="search()"
+		<u--input type="text" :adjust-position="true" class="details_input" maxlength="200" confirm-type="send" @confirm="search()"
 			placeholder="请输入内容" border="surround" v-model="value" @change="sendChange"></u--input>
 
 		<!-- 警告提示 -->
@@ -83,13 +83,17 @@
 			},
 
 			listData(news, old) {
+				console.log('有变化了啊-------------', news)
 				// console.log(news, old)
+				this.msg_list = []
 				for (var i = 0; i < news.length; i++) {
 					if (news[i].real_name == this.tltName) {
 						this.val = news[i]
 						this.msg_list = news[i].msg_list.reverse();
 					}
 				}
+				this.$forceUpdate()
+				console.log(this.msg_list, '新数组啊啊-------------')
 
 			}
 
@@ -103,6 +107,7 @@
 			console.log(store.state)
 			var that = this
 			var data = JSON.parse(options.data)
+			that.msg_list = []
 			that.tltName = data.real_name
 			var arrayData = App.globalData.list
 			for (var i = 0; i < arrayData.length; i++) {
@@ -111,6 +116,7 @@
 					that.msg_list = arrayData[i].msg_list.reverse();
 				}
 			}
+			console.log('---------------',that.msg_list)
 
 			uni.getSystemInfo({ //异步获取。
 				success(res) {
@@ -152,7 +158,6 @@
 				API.send({
 					data: JSON.stringify(obj),
 					async success(res) {
-						console.log("消息发送成功");
 						that.msg_list = [...that.msg_list, {
 							msg_info: that.value,
 							is_right: true
@@ -191,6 +196,7 @@
 		.details_ul {
 			height: 93%;
 			overflow-y: auto;
+			padding: 0 0 120rpx 0;
 
 			.details_list {
 				.list_msgBox1 {

+ 48 - 51
MingGaoApp/pages/response/index.vue

@@ -1,9 +1,10 @@
 <template>
-	<view class="response_box">
-		<view class="response_ul">
+	<view class="response_box" :style="'height:' +  phoneHeight + 'px'">
+		<view class="response_ul" v-if="list.length > 0">
 			<view class="response_list" v-for="item in list" @click="defail(item)">
 				<view class="response_left">
-					<u-badge numberType="overflow" shape="circle" :type="type" max="99" :value="item.unread"></u-badge>
+					<u-badge numberType="overflow" shape="circle" :type="type" max="99" :value="item.unread">
+					</u-badge>
 					<!-- <image :src="item.img" mode=""></image> -->
 					<image src="https://cdn.uviewui.com/uview/album/1.jpg" mode=""></image>
 				</view>
@@ -23,6 +24,11 @@
 			</view>
 		</view>
 
+		<view class="" style="padding: 20% 0 0 0;" v-else>
+			<image style="margin: 0 0 0 65rpx;" src="../../static/image/13.png" mode=""></image>
+			<view style="text-align: center; color: #83ccfd; font-size: 20px; line-height: 20rpx;">暂无数据</view>
+		</view>
+
 		<!-- 加载 -->
 		<u-loading-page :loading="loading"></u-loading-page>
 
@@ -65,25 +71,8 @@
 	import store from '@/store/index.js'; //需要引入store
 	let App = getApp();
 	var API = App.globalData.socketTask;
-	// import permision from "@/zego-express-video-uniapp/permission.js";
-	// // import ZegoExpressEngine from '@/zego-express-video-uniapp/lib/ZegoExpressEngine';
-	// import {
-	// 	ZegoScenario,
-	// 	ZegoRoomState,
-	// 	ZegoUpdateType,
-	// 	// ZegoViewMode
-	// } from '@/zego-express-video-uniapp/lib/ZegoExpressDefines'
-	// import {
-	// 	AppID,
-	// 	AppSign
-	// } from '@/zego-express-video-uniapp/KeyCenter.js'
-	// import ZegoLocalView from '@/zego-express-video-uniapp/zego-view/ZegoLocalView';
-	// import ZegoRemoteView from '@/zego-express-video-uniapp/zego-view/ZegoRemoteView';
 	export default {
-		components: {
-			// ZegoLocalView: ZegoLocalView,
-			// ZegoRemoteView: ZegoRemoteView
-		},
+		components: {},
 		// 过滤
 		filters: {
 			name: function(val) {
@@ -127,6 +116,8 @@
 				},
 
 				isPublishingStream: false,
+
+				phoneHeight: '', // 获取当前的屏幕高度
 			}
 		},
 		watch: {
@@ -138,11 +129,38 @@
 					this.show = true
 				}
 			},
+
+			list(val) {
+				console.log(val)
+				console.log(App.globalData.socketTask)
+				if (val.length == 0 && App.globalData.socketTask == null) {
+					App.msgInit(); // 请求重启初始化Websocket
+					// var obj = {}
+					// obj = {
+					// 	'action': 'list', // 动作标识,必填
+					// 	'recv_user_id': '', // 接收人用户id, 非必填
+					// 	'data': {}
+					// }
+					// API.send(JSON.stringify(obj))
+					// App.msgInit(); // 重新初始化websocket
+				}
+			},
+			msgList(news, old) {
+				this.list = news
+				console.log(news, '新数据')
+				console.log(old, '旧数据')
+			}
 		},
 		computed: {
+			// 视频消息
 			videoData() {
 				return store.state.video
 			},
+
+			// 用户列表消息
+			msgList() {
+				return store.state.list
+			}
 		},
 		methods: {
 			loadmoreAxios() {
@@ -186,35 +204,17 @@
 				this.show = false
 				console.log('close');
 			},
-
-			// 视频通话弹框
-			// videOpen() {
-			// 	console.log('open');
-			// },
-			// videClose() {
-			// 	console.log('close');
-			// },
-
-			// 推流 - 展示视图
-			// onPublish() {
-			// 	// 设置视频配置
-			// 	ZegoExpressEngine.instance().setVideoConfig(this.videoObj.room_id);
-
-			// 	if (this.isPublishingStream) {
-			// 		this.engine.stopPreview();
-			// 		this.engine.stopPublishingStream();
-			// 		this.publishBtnName = "Start Publishing";
-			// 	} else {
-			// 		this.engine.startPreview();
-			// 		this.engine.startPublishingStream(this.videoObj.room_id);
-			// 		this.publishBtnName = "Stop Publishing";
-			// 	}
-			// 	this.isPublishingStream = !this.isPublishingStream;
-			// },
 		},
 
 		async onLoad() {
+			var that = this
 			// uni.startPullDownRefresh(); // 开始刷新
+			uni.getSystemInfo({ //异步获取。
+				success(res) {
+					that.phoneHeight = res.windowHeight - 0; //窗口高度
+					// console.log(that.phoneHeight)
+				}
+			});
 		},
 
 		onShow() {
@@ -267,17 +267,14 @@
 	page {
 		background: #f7f7f7;
 		padding: 25rpx 0 25rpx 0;
-		overflow: hidden;
 	}
 
 	.response_box {
 		background: #f7f7f7;
 
 		.response_ul {
-			// border: 1px solid #000;
-			overflow-y: auto;
-			// height: 1550rpx;
-			height: 1450rpx;
+			background: #f7f7f7;
+			overflow: hidden;
 
 			.response_list {
 				position: relative;

+ 19 - 9
MingGaoApp/pages/response/video.nvue

@@ -1,17 +1,27 @@
 <template>
 	<view class="video_box" :style="'height:' +  phoneHeight + 'px'">
 		<!-- 本地预览视图 -->
-		<view class="video_me" :style="'height:' +  phoneHeight + 'px'">
-			<zego-local-view v-if="videoShow" :viewMode="publisherViewModeIndex"
+		<view class="video_me" v-if="allUserViewObjectList.length > 0" v-for="(item, index) in allUserViewObjectList" :key="item.userID" :style="'height:' +  phoneHeight + 'px'">
+			<!-- <zego-local-view v-if="videoShow" :viewMode="publisherViewModeIndex"
 				style="width: 100%; flex: 1; border: 1px solid #0000; z-index: 20">
-			</zego-local-view>
+			</zego-local-view> -->
+			
+			<!-- 服务器拉流的视图 -->
+			<zego-remote-view v-if="item.streamID" :streamID="item.streamID" :viewMode="item.viewMode"
+				style="width: 100%; flex: 1; border: 1px solid #0000; z-index: 20">
+			</zego-remote-view>
 		</view>
 
 		<!-- 服务器传来的预览图 -->
-		<view class="video_you" v-if="allUserViewObjectList.length > 0" v-for="(item, index) in allUserViewObjectList" :key="item.userID">
-			<zego-remote-view v-if="item.streamID" :streamID="item.streamID" :viewMode="item.viewMode"
+		<view class="video_you" v-if="allUserViewObjectList.length > 0">
+			<!-- <zego-remote-view v-if="item.streamID" :streamID="item.streamID" :viewMode="item.viewMode"
 				style="height: 403.84rpx; flex: 1;">
-			</zego-remote-view>
+			</zego-remote-view> -->
+			
+			<!-- 本地视图 -->
+			<zego-local-view v-if="videoShow" :viewMode="publisherViewModeIndex"
+				style="height: 403.84rpx; flex: 1; z-index: 200">
+			</zego-local-view>
 		</view>
 
 		<view class="video_btn">
@@ -75,7 +85,7 @@
 				userid: "Uni" + Math.floor(Math.random() * 1000000).toString(),
 				isPublishingStream: false,
 				shotShow: false, // 翻转镜头
-				videoShow: true, // 切换视频显示
+				videoShow: false, // 切换视频显示
 				
 				allStreamList: [],
 				allUserViewObjectList: [],
@@ -315,12 +325,12 @@
 					// 停止推流
 					this.engine.stopPreview();
 					this.engine.stopPublishingStream();
-					this.publishBtnName = "Start Publishing";
 				} else {
+					console.log('开始推流了啊', this.isPublishingStream)
 					// 开始推流
 					this.engine.startPreview();
 					this.engine.startPublishingStream(this.videoObj.room_id);
-					this.publishBtnName = "Stop Publishing";
+					this.videoShow = true
 				}
 				this.isPublishingStream = !this.isPublishingStream;
 			},

+ 5 - 0
MingGaoApp/pages/start/start.vue

@@ -15,6 +15,11 @@
 			async getlistinfo() {
 				const res = await this.$myRequest({
 					url: '/api/api_gateway?method=sysmenage.usermanager.user_info',
+				// 	fail: function () {
+				// 		uni.navigateTo({
+				// 			url: '../login/login'
+				// 		})
+				// 	}
 				})
 				console.log(res)
 				this.app = res.children.filter((item) => {

BIN
MingGaoApp/static/image/13.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
MingGaoApp/unpackage/dist/build/app-plus/app-config-service.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 3 - 3
MingGaoApp/unpackage/dist/build/app-plus/app-service.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
MingGaoApp/unpackage/dist/build/app-plus/app-view.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
MingGaoApp/unpackage/dist/build/app-plus/manifest.json


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
MingGaoApp/unpackage/dist/build/app-plus/pages/response/video.js


BIN
MingGaoApp/unpackage/dist/build/app-plus/static/image/11.png


BIN
MingGaoApp/unpackage/dist/build/app-plus/static/image/12.png


BIN
MingGaoApp/unpackage/dist/build/app-plus/static/image/13.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2 - 2
MingGaoApp/unpackage/dist/build/app-plus/view.umd.min.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
MingGaoApp/unpackage/dist/dev/app-plus/app-config-service.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2690 - 2663
MingGaoApp/unpackage/dist/dev/app-plus/app-service.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2436 - 2411
MingGaoApp/unpackage/dist/dev/app-plus/app-view.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
MingGaoApp/unpackage/dist/dev/app-plus/manifest.json


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 640 - 545
MingGaoApp/unpackage/dist/dev/app-plus/pages/response/video.js


BIN
MingGaoApp/unpackage/dist/dev/app-plus/static/image/13.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2 - 2
MingGaoApp/unpackage/dist/dev/app-plus/view.umd.min.js