From 47d4935166fdd8cac158c4b054ecd312a63b2270 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 26 Aug 2021 17:32:55 +0800
Subject: [PATCH] 智慧保安app相关调整

---
 pages/home/home.vue                          |   65 
 static/images/people.jfif                    |    0 
 vue.config.js                                |    2 
 pages/groupChat/chatingQZ.vue                |  529 ++++-----
 static/tabbar/business.png                   |    0 
 static/tabbar/workbenchH.png                 |    0 
 api/mock/home.js                             |    2 
 static/images/manage/g10.png                 |    0 
 static/tabbar/articleH.png                   |    0 
 static/tabbar/patrol-blue.png                |    0 
 common/css/mycss.scss                        |   78 +
 pages/videoCall/videoCall.nvue               |  203 +-
 pages/groupChat/addFriend.vue                |   32 
 pages/groupChat/modify/modify.vue            |  223 ++++
 static/tabbar/map.png                        |    0 
 static/workbench/task4.png                   |    0 
 static/images/group/create.png               |    0 
 mapWz/xcxmap.html                            |   16 
 static/workbench/bracket.png                 |    0 
 static/tabbar/investigation.png              |    0 
 static/workbench/feedback01.png              |    0 
 static/workbench/task.png                    |    0 
 static/workbench/user01.png                  |    0 
 static/images/manage/g11.png                 |    0 
 static/images/group/manager.png              |    0 
 static/tabbar/index01.png                    |    0 
 pages/groupChat/newGroup/newGroup.vue        |  223 ++-
 static/tabbar/workbench.png                  |    0 
 static/images/people.png                     |    0 
 pages.json                                   |   35 
 static/tabbar/article.png                    |    0 
 static/images/tabbar/call.png                |    0 
 .project                                     |   17 
 static/tabbar/investigationH22.png           |    0 
 static/images/group/addimage.png             |    0 
 static/images/manage/g8.png                  |    0 
 pages/user/center.vue                        |   12 
 static/tabbar/investigationH.png             |    0 
 static/tabbar/index-03.png                   |    0 
 static/workbench/policeDerails/xiangji.png   |    0 
 static/tabbar/user.png                       |    0 
 static/workbench/myself.png                  |    0 
 static/workbench/update.png                  |    0 
 pages/securityStaff/exhibition - f.vue       |    0 
 static/tabbar/home.png                       |    0 
 store/mutations.js                           |   79 +
 static/tabbar/homeHL.png                     |    0 
 pages/manage/manage.vue                      |   96 -
 static/images/manage/g9.png                  |    0 
 store/actions.js                             |  107 -
 static/workbench/addressbook.png             |    0 
 static/tabbar/index04.png                    |    0 
 static/tabbar/my.png                         |    0 
 static/workbench/task1.png                   |    0 
 pages/videoCall/mylyg.vue                    |    0 
 static/tabbar/mapHL.png                      |    0 
 pages/groupChat/groupChat.vue                |  221 ++-
 mapWz/js/vueMain.js                          |   14 
 store/index.js                               |   48 
 static/tabbar/patrol.png                     |    0 
 static/tabbar/index02.png                    |    0 
 components/contacts/contacts.vue             |    2 
 static/images/group/Group.png                |    0 
 pages/map/map.vue                            |    8 
 static/tabbar/my-blue.png                    |    0 
 pages/groupChat/chatMessage.vue              |  334 ++++++
 static/images/tabbar/job.png                 |    0 
 static/images/tabbar/select-call.png         |    0 
 pages/groupChat/chating.vue                  |  523 ++++-----
 static/images/group/close.png                |    0 
 static/images/manage/g7.png                  |    0 
 static/workbench/daka.png                    |    0 
 pages/groupChat/friendrequest.vue            |   32 
 static/tabbar/userHL.png                     |    0 
 static/workbench/system.png                  |    0 
 static/workbench/task3.png                   |    0 
 static/images/group/groupchat.png            |    0 
 static/workbench/policeDerails/shiping11.png |    0 
 static/images/tabbar/select-job.png          |    0 
 static/workbench/policeDerails/guanbiimg.png |    0 
 pages/videoCall/videoCall - f.vue            |    0 
 static/images/manage/g12.png                 |    0 
 static/workbench/report.png                  |    0 
 /dev/null                                    |  239 ----
 pages/securityStaff/exhibition.vue           |   10 
 manifest.json                                |    3 
 static/tabbar/investigation22.png            |    0 
 static/workbench/huojian.png                 |    0 
 pages/home/home - f.vue                      |    0 
 static/tabbar/businessH.png                  |    0 
 pages/company/company.vue                    |   16 
 static/workbench/task2.png                   |    0 
 static/workbench/luxian.png                  |    0 
 93 files changed, 1,821 insertions(+), 1,348 deletions(-)

diff --git a/.project b/.project
new file mode 100644
index 0000000..64e13ad
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>exam-app</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.aptana.ide.core.unifiedBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.aptana.projects.webnature</nature>
+	</natures>
+</projectDescription>
diff --git a/api/mock/home.js b/api/mock/home.js
index e4b428e..a02821d 100644
--- a/api/mock/home.js
+++ b/api/mock/home.js
@@ -103,7 +103,7 @@
 	return new Promise((resolute, reject) => {
 		try {
 			const list = [{
-					name: '服务单位',
+					name: '保安单位',
 					img: '/static/images/home/s1.png',
 					url: '../company/company'
 				},
diff --git a/common/css/mycss.scss b/common/css/mycss.scss
new file mode 100644
index 0000000..967cc3d
--- /dev/null
+++ b/common/css/mycss.scss
@@ -0,0 +1,78 @@
+//页面撑开头部样式
+.content {
+	padding-top: var(--status-bar-height);
+}
+.tb_solt {
+	display: inline-block;
+	font-weight: normal;
+	height: 88rpx;
+	line-height: 88rpx;
+	box-sizing: border-box;
+	padding-left: 30rpx;
+}
+
+.main {
+	padding-top: 104rpx;
+	padding-bottom: $uni-spacing-col-base;
+	//border: 1px solid red;
+}
+.top-bar{
+	position: fixed;
+	z-index: 1001;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 88rpx;
+	background: rgba(255, 255, 255, 1);
+}
+.tb_solt {
+	height: 88rpx;
+	line-height: 88rpx;
+	padding-left: 26rpx;
+}
+//底部样式
+.bottom-bar {
+	position: fixed;
+	bottom: 0;
+	width: 100%;
+	height: 90rpx;
+	padding-top: 10rpx;
+	padding-bottom: var(--status-bar-height);
+	//background-color: rgba(255,255,255,0.96);
+}
+
+//btn1样式
+.btn1 {
+	text-align: center;
+	line-height: 80rpx;
+	font-size: $uni-font-size-lg;
+	color: $uni-text-color;
+	height: 80rpx;
+	border-radius: $uni-border-radius-sm;
+}
+.comtarbar{
+	position: fixed;
+	top: var(--status-bar-height);
+	right: 0;
+	left: 0;
+	height: 88rpx;
+	z-index: 1001;
+	.title {
+		line-height: 88rpx;
+		padding: 0rpx 20rpx;
+		view{
+			display: inline-block;
+		}
+	}
+	.info {
+		width: 60rpx;
+		height: 88rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		image {
+			width: 100%;
+			height: auto;
+		}
+	}
+}
\ No newline at end of file
diff --git a/components/contacts/contacts.vue b/components/contacts/contacts.vue
index b9dafa2..e49ab03 100644
--- a/components/contacts/contacts.vue
+++ b/components/contacts/contacts.vue
@@ -84,7 +84,7 @@
 			QZchating() {
 				//发起聊天
 				var datas = this.Pdata;
-				//alert(datas.name)
+				console.log(datas)
 				uni.navigateTo({
 					url: '/pages/groupChat/chatingQZ?chatID=' + datas.id.toString()+ '&data=' + JSON.stringify(
 						datas)
diff --git a/manifest.json b/manifest.json
index caaf07d..5ca46f2 100644
--- a/manifest.json
+++ b/manifest.json
@@ -23,7 +23,8 @@
         },
         /* 模块配置 */
         "modules" : {
-            "Geolocation" : {}
+            "Geolocation" : {},
+            "Maps" : {}
         },
         /* 应用发布信息 */
         "distribute" : {
diff --git a/mapWz/js/vueMain.js b/mapWz/js/vueMain.js
index cd1940a..ab33475 100644
--- a/mapWz/js/vueMain.js
+++ b/mapWz/js/vueMain.js
@@ -1,3 +1,9 @@
+/*
+ * @Author: Morpheus 
+ * @Date: 2021-08-26 16:22:11 
+ * @Last Modified by:   Morpheus 
+ * @Last Modified time: 2021-08-26 16:22:11 
+ */
 var me = new Vue({
     el: '#mapVue',
     data: {
@@ -34,13 +40,14 @@
             //url解码
 
             var jurisdictionId = this.GetQueryString('id')
+
             this.userId = this.GetQueryString('userid')
 
-            axios.get(this.$store.state.piAPI + '/blade-user/page?size=99999&jurisdiction=' + jurisdictionId).then((res) => {
+            axios.get('http://223.82.109.183:2080/api/blade-user/pages?dispatch=0&jurisdiction=' + jurisdictionId + '&current=1&size=999999').then((res) => {
 
                 if (res.data.data.records.length > 0) {
                     res.data.data.records.forEach(item => {
-                        if (item.longitude && item.latitude) {
+                        if (item.longitude && item.latitude && item.roleId != this.userId) {
                             resultData.push(item)
                         }
                     })
@@ -329,6 +336,7 @@
             };
 
             function showPosition(position) {
+
                 var adCode = position.adCode; //邮政编码
                 var nation = position.nation; //中国
                 var city = position.city; //城市
@@ -365,6 +373,7 @@
                 //TODO 如果出错了调用此方法 
             };
 
+
             geolocation.getLocation(showPosition, showErr, options);
 
         },
@@ -383,6 +392,7 @@
             that.getLocationData(that.geolocation);
 
         }, 30000);
+
     },
     wacth: {}
 })
\ No newline at end of file
diff --git a/mapWz/xcxmap.html b/mapWz/xcxmap.html
index eda3f8a..a1f9e63 100644
--- a/mapWz/xcxmap.html
+++ b/mapWz/xcxmap.html
@@ -23,7 +23,8 @@
     <!-- <script src="../map/lib/layui/layui.js" charset="utf-8"></script> -->
 
     <!-- 百度地图api -->
-    <script type="text/javascript" src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js"></script>
+    <script type="text/javascript"
+        src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js"></script>
 
     <!-- axios支持 -->
     <script src="../map/lib/axios.js"></script>
@@ -51,14 +52,14 @@
     <script src="./js/move.js"></script>
     <!-- sha1加密 -->
     <!-- <script src="./js/sha1.js"></script> -->
-    <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
+    <script src="https://pv.sohu.com/cityjson?ie=utf-8"></script>
 
     <style>
         #seedata {
             position: relative;
 
         }
-         
+
         .clear {
             position: absolute;
             right: 6px;
@@ -96,7 +97,7 @@
         }
     </style>
 
-    
+
 </head>
 
 <body>
@@ -105,19 +106,22 @@
             <img style="width: 80%;height: 80%;" src="./img/dingwei.png" alt="">
         </div>
         <div id="map">
-           
+
         </div>
         <div id="seedata" style='display: none'>
             <div class="clear">
                 <img style="width: 100%;height: 100%;" src="./img/gaunbi.png" alt="">
             </div>
             <div class="content">
-                
+
             </div>
         </div>
     </div>
     <!-- vue渲染 -->
     <script src="./js/vueMain.js"></script>
+    <!-- 引入高德地图所需秘钥 -->
+    <script type="text/javascript"
+        src='https://webapi.amap.com/maps?v=1.4.11&key=7ab53b28352e55dc5754699add0ad862&plugin=AMap.PlaceSearch'></script>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/pages.json b/pages.json
index cae1ad4..ce4f522 100644
--- a/pages.json
+++ b/pages.json
@@ -42,7 +42,7 @@
 		{
 			"path": "pages/manage/manage",
 			"style": {
-				"navigationBarTitleText": "管理",
+				"navigationBarTitleText": "工作台",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
@@ -67,7 +67,7 @@
 			"path": "pages/groupChat/groupChat",
 			"style": {
 				"navigationBarTitleText": "聊天室",
-				"enablePullDownRefresh": true,
+				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 		},
@@ -119,7 +119,7 @@
 		{
 			"path": "pages/company/company",
 			"style": {
-				"navigationBarTitleText": "服务单位",
+				"navigationBarTitleText": "保安单位",
 				"navigationBarBackgroundColor": "#0BB9C8",
 				"navigationBarTextStyle": "white",
 				"enablePullDownRefresh": true
@@ -128,7 +128,7 @@
 		{
 			"path": "pages/company/companyDetail",
 			"style": {
-				"navigationBarTitleText": "服务单位管理",
+				"navigationBarTitleText": "保安单位管理",
 				"enablePullDownRefresh": false,
 				"navigationBarBackgroundColor": "#0BB9C8",
 				"navigationBarTextStyle": "white"
@@ -398,6 +398,15 @@
 				"navigationBarTextStyle": "white"
 			}
 
+		}, {
+			"path": "pages/groupChat/chatMessage",
+			"style": {
+				"navigationBarTitleText": "聊天信息",
+				"navigationBarBackgroundColor": "#0BB9C8",
+				"navigationBarTextStyle": "white",
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": false
+			}
 		}
 	],
 	"globalStyle": {
@@ -423,15 +432,15 @@
 			},
 			{
 				"pagePath": "pages/groupChat/groupChat",
-				"iconPath": "static/images/tabbar/demo.png",
-				"selectedIconPath": "static/images/tabbar/demo_selected.png",
+				"iconPath": "static/images/tabbar/call.png",
+				"selectedIconPath": "static/images/tabbar/select-call.png",
 				"text": "聊天"
 			},
 			{
 				"pagePath": "pages/manage/manage",
-				"iconPath": "static/images/tabbar/manage.png",
-				"selectedIconPath": "static/images/tabbar/manage_selected.png",
-				"text": "工具"
+				"text": "工作台",
+				"iconPath": "static/images/tabbar/job.png",
+				"selectedIconPath": "static/images/tabbar/select-job.png"
 			},
 			{
 				"pagePath": "pages/user/center",
@@ -440,5 +449,13 @@
 				"text": "我的"
 			}
 		]
+	},
+	"condition": { //模式配置,仅开发期间生效
+		"current": 0, //当前激活的模式(list 的索引项)
+		"list": [{
+			"name": "", //模式名称
+			"path": "", //启动页面,必选
+			"query": "" //启动参数,在页面的onLoad函数里面得到
+		}]
 	}
 }
diff --git a/pages/company/company.vue b/pages/company/company.vue
index 4070ef3..6060302 100644
--- a/pages/company/company.vue
+++ b/pages/company/company.vue
@@ -42,7 +42,7 @@
 				pagelist: 0,
 				pages: 0,
 				flag: true,
-				
+
 				pullDown: false
 			};
 		},
@@ -75,8 +75,10 @@
 			this.newsList = [];
 			this.status = 'loading';
 			this.keyValue = '';
-			setTimeout(() => {this.getCompany();}, 1000)
-			
+			setTimeout(() => {
+				this.getCompany();
+			}, 1000)
+
 		},
 
 		mounted() {
@@ -99,13 +101,15 @@
 					method: "get",
 					data: {
 						current: that.pagelist,
+						jurisdiction: this.$store.state
+							.UserData.jurisdiction,
 						size: 10
 					},
 					success: (res) => {
 						that.pages = res.data.data.pages;
 
 						var resdata = res.data.data.records;
-						
+
 						if (this.pullDown == true) {
 							this.pullDown = false;
 							uni.stopPullDownRefresh();
@@ -127,7 +131,7 @@
 							that.status = 'nomore';
 							return
 						}
-						
+
 					}
 				});
 			},
@@ -150,6 +154,8 @@
 						data: {
 							current: 1,
 							size: 999999,
+							jurisdiction: this.$store.state
+								.UserData.jurisdiction,
 							enterprisename: str
 						},
 						success: (res) => {
diff --git a/pages/company/companyDetail111.vue b/pages/company/companyDetail111.vue
deleted file mode 100644
index 0e416d0..0000000
--- a/pages/company/companyDetail111.vue
+++ /dev/null
@@ -1,239 +0,0 @@
-<template>
-	<view class="container">
-		<view class="tab">
-			<u-tabs :list="list" :is-scroll="false" :current="current" active-color="#14B9C8" inactive-color="#595959"
-				height="100" @change="change"></u-tabs>
-
-			<view v-show="current == 0">
-
-				<u-form label-style="width:200rpx" :model="detailData" ref="uForm" class="companyForm">
-
-					<u-form-item label-width='186' label="单位名称">
-						<span> {{ detailData.enterprisename }} </span>
-
-					</u-form-item>
-
-					<u-form-item label-width='186' label="成立日期">
-						<span> {{ detailData.establishtime }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="注册资本">
-						<span> {{ detailData.registeredcapital }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="实缴资本">
-						<span> {{ detailData.capital }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="注册地址">
-						<span> {{ detailData.address }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="经营范围">
-						<span> {{ detailData.business }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="所属地区">
-						<span> {{ detailData.region }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="登记机关">
-						<span> {{ detailData.registration }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="所属行业">
-						<span> {{ detailData.industry }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="法定代表人">
-						<span> {{ detailData.representative }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="工商注册号">
-						<span> {{ detailData.registrationnumber }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="组织机构代码">
-						<span> {{ detailData.organizationcode }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='186' label="纳税人识别号">
-						<span> {{ detailData.identificationnumber }} </span>
-					</u-form-item>
-
-					<u-form-item label-width='240' label="统一社会信用代码">
-						<span> {{ detailData.creditcode }} </span>
-					</u-form-item>
-
-				</u-form>
-
-			</view>
-
-			<view v-show="current == 1">
-				<view style="position: fixed;
-			top: 0;
-			left: 0;
-			bottom: 0;
-			right: 0;
-			margin: auto;
-			width: 100%; height:500rpx">
-					<l-echart ref="chart"></l-echart>
-				</view>
-			</view>
-
-		</view>
-	</view>
-</template>
-
-<script>
-	import * as echarts from '@/uni_modules/lime-echart/components/l-echart/echarts';
-
-	export default {
-		data() {
-			return {
-				list: [{
-						name: '注册信息'
-					},
-					{
-						name: '保安员管理'
-					}
-				],
-				current: 0,
-				detailData: {},
-				seriesData: [{
-					name: '男',
-					value: 356
-				}, {
-					name: '女',
-					value: 87
-				}],
-			};
-		},
-		onLoad(event) {
-			var that = this;
-			this.detailData = JSON.parse(decodeURIComponent(event.detailData));
-		},
-		mounted() {
-			console.log(ecahrts, 213)
-			var option = this.getOption()
-			this.$refs.chart.init(config => {
-				const {
-					canvas
-				} = config;
-				const chart = echarts.init(canvas, null, config);
-				canvas.setChart(chart);
-				chart.setOption(option);
-				// 需要把 chart 返回
-				return chart;
-			});
-		},
-		methods: {
-			change(index) {
-				if (this.current == index) return;
-
-				this.current = index;
-
-			},
-			getOption() {
-				return {
-					tooltip: {
-						trigger: 'axis',
-						axisPointer: {
-							// 坐标轴指示器,坐标轴触发有效
-							type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
-						},
-						confine: true
-					},
-					legend: {
-						orient: 'vertical',
-						top: 'center',
-						right: 40,
-						textStyle: {
-							align: 'left',
-							verticalAlign: 'middle',
-							rich: {
-								name: {
-									color: 'rgba(255,255,255,0.5)',
-									fontSize: 10,
-								},
-								value: {
-									color: 'rgba(255,255,255,0.5)',
-									fontSize: 10,
-								},
-								rate: {
-									color: 'rgba(255,255,255,0.9)',
-									fontSize: 10,
-								},
-							},
-						},
-						data: ['男', '女'],
-						formatter: (name) => {
-							if (this.seriesData.length) {
-								const item = this.seriesData.filter((item) => item.name === name)[0];
-								console.log(item)
-								return `${item.name}: ${item.value}`;
-							}
-						},
-					},
-					grid: {
-						left: 20,
-						right: 20,
-						bottom: 15,
-						top: 40,
-						containLabel: true
-					},
-					series: [{
-						name: '保安男女占比',
-						type: 'pie',
-						center: ['40%', '50%'],
-						radius: ['45%', '65%'],
-						label: {
-							normal: {
-								show: false,
-								position: 'center',
-								formatter: '{value|{c}}\n{label|{b}}',
-								rich: {
-									value: {
-										padding: 5,
-										align: 'center',
-										verticalAlign: 'middle',
-										fontSize: 32,
-									},
-									label: {
-										align: 'center',
-										verticalAlign: 'middle',
-										fontSize: 16,
-									},
-								},
-							},
-							emphasis: {
-								show: true,
-								textStyle: {
-									fontSize: '12',
-								},
-							},
-						},
-						labelLine: {
-							show: false,
-							length: 0,
-							length2: 0,
-						},
-						data: this.seriesData
-					}]
-				}
-			}
-
-
-		}
-	};
-</script>
-
-<style lang="scss">
-	.companyForm {
-		padding: 30rpx;
-
-		span {
-			color: #999;
-		}
-	}
-</style>
diff --git a/pages/groupChat/addFriend.vue b/pages/groupChat/addFriend.vue
index 1b3d5fd..e24980c 100644
--- a/pages/groupChat/addFriend.vue
+++ b/pages/groupChat/addFriend.vue
@@ -1,19 +1,11 @@
 <template>
-	<view class="content">
-
-		<view class="top-bar">
-			<view class="top-bar-left" @tap="backOne">
-				<view class="back-img">
-					<image src="../../static/images/common/back.png" />
-				</view>
-			</view>
-			<view class="top-bar-center">
-				<text class="title">添加好友</text>
-			</view>
-			<view class="top-bar-right">
-				<view class="pice"></view>
-			</view>
-		</view>
+	<view class="container">
+		
+		<u-navbar style="position: relative;" :is-fixed="false" :border-bottom="true" :is-back="true"
+			title="添加好友" back-icon-color="#fff" :background="{ background: '#0BB9C8' }" title-color="#fff">
+		
+		</u-navbar>
+		
 		<view class="main">
 			<u-search style="z-index: 9999;" :show-action="true" @custom="search" @search="search" :clearabled="true" placeholder="请输入姓名或手机号" action-text="搜索" :animation="true"></u-search>
 			<!-- <image class="friendEmpty" src="../../static/wjg.png"></image> -->
@@ -113,7 +105,7 @@
 						var resdata = res.data.data.records;
 						for (var i = 0; i < resdata.length; i++) {
 							if (resdata[i].avatar == null || resdata[i].avatar == "") {
-								resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/img-logo.png";
+								resdata[i].avatar = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c";
 							}
 						}
 						that.requestList = resdata;
@@ -138,12 +130,6 @@
 <style lang="scss">
 	@import '../../common/style/common.scss';
 
-	.top-bar {
-		background-color: #0BB9C8;
-		// background-color: #42B983;
-		box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, .1);
-	}
-
 	.friendEmpty {
 		width: 200upx;
 		height: 200upx;
@@ -156,7 +142,7 @@
 	}
 
 	.main {
-		padding: 108rpx 32upx;
+		padding: 16rpx 32upx;
 		background: rgba(255, 255, 255, .6);
 
 		.requestr {
diff --git a/pages/groupChat/chatMessage.vue b/pages/groupChat/chatMessage.vue
new file mode 100644
index 0000000..d0767be
--- /dev/null
+++ b/pages/groupChat/chatMessage.vue
@@ -0,0 +1,334 @@
+<template>
+	<view class="container">
+		<u-navbar style="position: relative;" :is-fixed="false" :border-bottom="true" :is-back="true"
+			 :title="recName" back-icon-color="#fff"
+			:background="{ background: '#0BB9C8' }" title-color="#fff">
+		</u-navbar>
+		
+		<view class="groupmain">
+			<scroll-view scroll-y="true">
+				
+				<view class="memberbox">
+					<view class="member-item" v-for="item in getGroupInfo.user_list" :key="item.user._id" @tap="goInfo(item.user._id)">
+						<image :src="item.user.avatars" mode="aspectFill"></image>
+						<view class="manager" v-if="item.user._id == getGroupInfo.manager"><image src="../../static/images/group/manager.png" mode="widthFix"></image></view>
+						<view class="m_name">{{ item.nickName }}</view>
+					</view>
+					<view class="member-item">
+						<view class="m_imgbox" @tap="goAdd"><image src="../../static/images/group/Group.png" mode="widthFix"></image></view>
+					</view>
+					<view class="more" @tap="more">查看全部群成员</view>
+				</view>
+				<view class="info">
+					<view class="info_item">
+						<view class="info_title">群名称</view>
+						<view class="info_content">{{ getGroupInfo.name }}</view>
+						<view class="info_oprea"><view v-show="isManager">></view></view>
+					</view>
+					<view class="info_item">
+						<view class="info_title">群公告</view>
+						<view class="info_content">{{ getGroupInfo.notice }}</view>
+						<view class="info_oprea">></view>
+					</view>
+					<view class="info_item">
+						<view class="info_title">群内昵称</view>
+						<view class="info_content">{{ getG_nickName }}</view>
+						<view class="info_oprea">></view>
+					</view>
+				</view>
+				<view class="operation">
+					<view class="op_item">
+						<view class="op_type">消息免打扰</view>
+						<view class="op_opera"><switch class="switch" color="#FFE431" :checked="false" @change="switch1" /></view>
+					</view>
+				</view>
+				<view class="dissolve" v-if="isManager" @tap="dissolve">解散该群</view>
+				<view class="dissolve" v-if="isManager" @tap="management">移除群成员</view>
+				<view class="btn" @tap="exitGroup">退出群聊</view>
+			</scroll-view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			recName: '聊天信息',
+			id: null,
+			nickName: null,
+			isScroll: false,
+			isManager: false,
+			type: '',
+			getGroupInfo: {},
+			getG_nickName: ''
+		};
+	},
+	onLoad(option) {
+		this.id = option.id;
+		
+	},
+	methods: {
+		// 消息免打扰按钮
+		switch1(e) {
+			console.log('switch1 发生 change 事件,携带值为', e.target.value);
+		},
+		
+		// 查看群成员信息
+		goInfo(id) {
+			uni.navigateTo({
+				url: '../information/information?id=' + id
+			});
+		},
+		// 跳转到添加群成员界面
+		goAdd() {
+			uni.navigateTo({
+				url: 'add/add?id=' + this.id
+			});
+		},
+		//查看所有群成员
+		more(){
+			uni.navigateTo({
+				url: 'members/members'
+			});
+		},
+		// 移除群成员
+		management(){
+			uni.navigateTo({
+				url: 'members/members?id=' + this.id +"&&type=management"
+			});
+		},
+		// 退出群聊
+		exitGroup() {
+			console.log("退群提醒")
+		},
+		// 解散群聊
+		async dissolve(){
+			console.log("解散群聊")
+		},
+		// 群聊天页面
+		goGroupChat(){
+			uni.navigateTo({
+				url:"../chat/chat?id="+this.id+"&&type=group"
+			})
+		},
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+@import '../../common/css/mycss.scss';
+.groupinfo {
+	padding-top: var(--status-bar-height);
+}
+.comtarbar {
+	background: white;
+	.info{
+		margin-left: 30rpx;
+	}
+}
+.groupmain {
+	padding-bottom: 0rpx;
+	height: calc(100vh - 88rpx);
+	scroll-view {
+		height: 100%;
+	}
+	.g_avatar {
+		background: white;
+		height: 35vh;
+		position: relative;
+		overflow: hidden;
+		.g_imgbox {
+			position: absolute;
+			z-index: 3;
+			top: 50%;
+			left: 50%;
+			transform: translateX(-50%) translateY(-50%);
+			.g_box {
+				display: flex;
+				justify-content: center;
+				.g_img {
+					border-radius: 50%;
+					width: 200rpx;
+					height: 200rpx;
+					overflow: hidden;
+					margin: 10rpx;
+					border: 4rpx solid white;
+					position: relative;
+					image {
+						width: 100%;
+						height: 100%;
+						position: absolute;
+						top: 50%;
+						left: 50%;
+						transform: translateX(-50%) translateY(-50%);
+					}
+				}
+			}
+
+			.g_info {
+				color: white;
+				text-align: center;
+				margin-top: 20rpx;
+			}
+		}
+
+		.bg-img {
+			position: absolute;
+			z-index: 0;
+			top: 0;
+			left: 0;
+			bottom: 0;
+			right: 0;
+			image {
+				width: 100%;
+				height: auto;
+				position: absolute;
+				top: 50%;
+				left: 50%;
+				transform: translateX(-50%) translateY(-50%);
+			}
+		}
+		.mask {
+			position: absolute;
+			z-index: 1;
+			top: 0;
+			left: 0;
+			bottom: 0;
+			right: 0;
+			background: rgba(0, 0, 0, 0.3);
+		}
+	}
+
+	.memberbox {
+		padding-top: 20rpx;
+		margin: 20rpx;
+		display: flex;
+		flex-direction: row;
+		flex-wrap: wrap;
+		.member-item {
+			width: 20%;
+			display: flex;
+			justify-content: center;
+			flex-wrap: wrap;
+			margin-bottom: 20rpx;
+			position: relative;
+			.manager {
+				position: absolute;
+				top: -20rpx;
+				right: 4rpx;
+				image {
+					width: 40rpx;
+					height: auto;
+				}
+			}
+			image {
+				width: 100rpx;
+				height: 100rpx;
+				border-radius: 10rpx;
+			}
+			.m_name {
+				margin-top: 10rpx;
+				width: 100rpx;
+				text-align: center;
+				font-size: 26rpx;
+				color: rgba(25, 29, 35, 0.5);
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+			}
+			.m_imgbox {
+				width: 100rpx;
+				height: 100rpx;
+				background: #ffe431;
+				border-radius: 10%;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				image {
+					height: 60rpx;
+					width: 60rpx;
+				}
+			}
+		}
+		.more {
+			margin: 30rpx 0rpx;
+			width: 100%;
+			font-size: 30rpx;
+			color: #ccc;
+			text-align: center;
+		}
+	}
+	.info {
+		border-top: 10rpx solid #dfdfdf;
+		border-bottom: 10rpx solid #dfdfdf;
+		.info_item {
+			margin: 0rpx 20rpx;
+			display: flex;
+			height: 100rpx;
+			view {
+				height: 100rpx;
+				line-height: 100rpx;
+			}
+			.info_title {
+				color: rgba(39, 40, 50, 1);
+				font-size: 32rpx;
+				flex: 3;
+			}
+			.info_content {
+				color: rgba(39, 40, 50, 0.6);
+				font-size: 32rpx;
+				flex: 6;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+			}
+			.info_oprea {
+				text-align: right;
+				color: rgba(39, 40, 50, 0.6);
+				font-size: 38rpx;
+				flex: 1;
+			}
+		}
+	}
+	.info .info_item:not(:last-child) {
+		border-bottom: 2rpx solid #e2e2e2;
+	}
+	.operation {
+		border-bottom: 10rpx solid #dfdfdf;
+		.op_item {
+			margin: 0rpx 20rpx;
+			display: flex;
+			height: 100rpx;
+			.op_type {
+				flex: 4;
+				color: rgba(39, 40, 50, 1);
+				font-size: 32rpx;
+				height: 100rpx;
+				line-height: 100rpx;
+			}
+			.op_opera {
+				flex: 1;
+				text-align: right;
+				.switch {
+					margin-top: 16rpx;
+					transform: scale(0.8);
+				}
+			}
+		}
+	}
+	.dissolve {
+		height: 100rpx;
+		line-height: 100rpx;
+		text-align: center;
+		color: red;
+		border-bottom: 10rpx solid #dfdfdf;
+	}
+	.btn {
+		height: 100rpx;
+		line-height: 100rpx;
+		text-align: center;
+		color: red;
+	}
+}
+</style>
diff --git a/pages/groupChat/chating.vue b/pages/groupChat/chating.vue
index fa54702..922af94 100644
--- a/pages/groupChat/chating.vue
+++ b/pages/groupChat/chating.vue
@@ -1,167 +1,131 @@
 <template>
-	<view class="content">
-	
-	<!-- 头部 -->
-	<view class="top-bar">
-		<view class="top-bar-left" @tap="backOne()">
-			<view class="back-img">
-				<image src="@/static/images/common/back.png" />
+	<view class="container">
+		
+		<!-- 头部 -->
+		<u-navbar style="position: relative;" :is-fixed="false" :border-bottom="true" :is-back="true"
+			:title="recName" back-icon-color="#fff" :background="{ background: '#0BB9C8' }" title-color="#fff">
+
+			<view slot='right'>
+				<u-icon @click="chatMessageDetail" class="set-icon" name="more-dot-fill" color="#fff" size="28"></u-icon>
 			</view>
-		</view>
-		<view class="top-bar-center title">
-			<text>{{ recName }}</text>
-		</view>
-		<view class="top-bar-right search pice">
-			<view class="group-img">
-				<image :src=recAvatar
-							 mode=""/>
-			</view>
-		</view>
-	</view>
-	
-	<scroll-view scroll-y="true"
-							 class="chat"
-							 scroll-with-animation="isanimation"
-							 :scroll-into-view="scrollToView"
-							 @scrolltoupper="nextPage">
-		<view class="chat-main"
-					:style="{paddingBottom:inputh + 'px'}">
-			<view class="loading"
-						:class="{displaynone:isload}">
-				<image src="@/static/images/chatroom/load.png" 
-							 mode=""
-							 class="loading-img"
-							 :animation="animationData"/>
-			</view>
-			<view class="chat-ls" v-for="(item, index) in msgs"
-													  :key="index"
-														:id="'msg' + item.id">
-				<view class="chat-time" v-if="item.postTime != ''">{{ item.postTime | Msgdate }}</view>
-				
-				<view class="msg-m msg-left" v-if="item.senderId != senId">
-					<image :src= recAvatar 
-								 mode=""
-								 class="user-img" />
-					<!-- text -->
-					<view class="message" v-if="item.messageType == 0">
-						<view class="msg-text">{{ item.postMessage }}</view>
-					</view>
-					<!-- image -->
-					<view class="message" v-if="item.messageType == 1">
-						<image :src="item.postMessage" 
-									 class="msg-img"
-									 mode="widthFix"
-									 @tap="previewImage(item.postMessage)"/>
-					</view>
-					<!-- voice -->
-					<view class="message" v-if="item.messageType == 2">
-						<view class="msg-text voice"
-									:style="{width:item.postMessage.time * 4 + 'px'}"
-									@tap="playVoice(item.postMessage.voice)">
-							<image src="../../static/images/chatroom/sound.png" 
-										 mode=""
-										 class="voice-img"/>
-							{{ item.postMessage.time }} "
-						</view>
-					</view>
-					<!-- location -->
-					<view class="message" v-if="item.messageType == 3">
-						<view class="msg-map"
-									@tap="openLocation(item.postMessage)">
-							<view class="map-name">{{ item.postMessage.name }}</view>
-							<view class="map-address">{{ item.postMessage.address }}</view>
-							<image src="../../static/images/chatroom/map.jpg" 
-										 mode="aspectFit" 
-										 class="map-img"/>
-						</view>
-					</view>
-					
+		</u-navbar>
+
+
+
+		<scroll-view id="chatingBox" :style="{ height: swiperHeight + 'px' }" scroll-y="true" class="chat" scroll-with-animation="isanimation" :scroll-into-view="scrollToView"
+			@scrolltoupper="nextPage">
+			<view class="chat-main" :style="{paddingBottom:inputh + 'px'}">
+				<view class="loading" :class="{displaynone:isload}">
+					<image src="@/static/images/chatroom/load.png" mode="" class="loading-img"
+						:animation="animationData" />
 				</view>
-				
-				<view class="msg-m msg-right" v-if="item.senderId == senId">
-					<image :src= senAvatar 
-								 mode=""
-								 class="user-img" />
-					<view class="message" v-if="item.messageType == 0">
-						<view class="msg-text">{{ item.postMessage }}</view>
-					</view>
-					<view class="message" v-if="item.messageType == 1">
-						<image :src="item.postMessage" 
-									 class="msg-img"
-									 mode="widthFix"
-									 @tap="previewImage(item.postMessage)"/>
-					</view>
-					<!-- voice -->
-					<view class="message" v-if="item.messageType == 2">
-						<view class="msg-text voice"
-									:style="{width:item.postMessage.time * 4 + 'px'}"
-									@tap="playVoice(item.postMessage.voice)">
-							{{ item.postMessage.time }} "
-							<image src="@/static/images/chatroom/sound.png"
-										 mode=""
-										 class="voice-img"/>
+				<view class="chat-ls" v-for="(item, index) in msgs" :key="index" :id="'msg' + item.id">
+					<view class="chat-time" v-if="item.postTime != ''">{{ item.postTime | Msgdate }}</view>
+
+					<view class="msg-m msg-left" v-if="item.senderId != senId">
+						<image :src=recAvatar mode="" class="user-img" />
+						<!-- text -->
+						<view class="message" v-if="item.messageType == 0">
+							<view class="msg-text">{{ item.postMessage }}</view>
 						</view>
+						<!-- image -->
+						<view class="message" v-if="item.messageType == 1">
+							<image :src="item.postMessage" class="msg-img" mode="widthFix"
+								@tap="previewImage(item.postMessage)" />
+						</view>
+						<!-- voice -->
+						<view class="message" v-if="item.messageType == 2">
+							<view class="msg-text voice" :style="{width:item.postMessage.time * 4 + 'px'}"
+								@tap="playVoice(item.postMessage.voice)">
+								<image src="../../static/images/chatroom/sound.png" mode="" class="voice-img" />
+								{{ item.postMessage.time }} "
+							</view>
+						</view>
+						<!-- location -->
+						<view class="message" v-if="item.messageType == 3">
+							<view class="msg-map" @tap="openLocation(item.postMessage)">
+								<view class="map-name">{{ item.postMessage.name }}</view>
+								<view class="map-address">{{ item.postMessage.address }}</view>
+								<image src="../../static/images/chatroom/map.jpg" mode="aspectFit" class="map-img" />
+							</view>
+						</view>
+
 					</view>
-					<!-- location -->
-					<view class="message" v-if="item.messageType == 3">
-						<view class="msg-map"
-									@tap="openLocation(item.postMessage)">
-							<view class="map-name">{{ item.postMessage.name }}</view>
-							<view class="map-address">{{ item.postMessage.address }}</view>
-							<!-- <map class="map"
+
+					<view class="msg-m msg-right" v-if="item.senderId == senId">
+						<image :src=senAvatar mode="" class="user-img" />
+						<view class="message" v-if="item.messageType == 0">
+							<view class="msg-text">{{ item.postMessage }}</view>
+						</view>
+						<view class="message" v-if="item.messageType == 1">
+							<image :src="item.postMessage" class="msg-img" mode="widthFix"
+								@tap="previewImage(item.postMessage)" />
+						</view>
+						<!-- voice -->
+						<view class="message" v-if="item.messageType == 2">
+							<view class="msg-text voice" :style="{width:item.postMessage.time * 4 + 'px'}"
+								@tap="playVoice(item.postMessage.voice)">
+								{{ item.postMessage.time }} "
+								<image src="@/static/images/chatroom/sound.png" mode="" class="voice-img" />
+							</view>
+						</view>
+						<!-- location -->
+						<view class="message" v-if="item.messageType == 3">
+							<view class="msg-map" @tap="openLocation(item.postMessage)">
+								<view class="map-name">{{ item.postMessage.name }}</view>
+								<view class="map-address">{{ item.postMessage.address }}</view>
+								<!-- <map class="map"
 									 :latitude="item.postMessage.latitude"
 									 :longitude="item.postMessage.longitude"
 									 :markers="covers(item.postMessage)"/> -->
-							<image src="../../static/images/chatroom/map.jpg"
-										 mode="aspectFit" 
-										 class="map-img"/>
+								<image src="../../static/images/chatroom/map.jpg" mode="aspectFit" class="map-img" />
+							</view>
 						</view>
 					</view>
+
+
 				</view>
-				
-				
+
 			</view>
-			
-		</view>
-		<!-- <view class="padbt"></view> -->
-	</scroll-view>
-	<submit @inputs="inputs"  :names="name" :callname="callName"
-					@heights="heights"/>
+
+		</scroll-view>
+		<submit @inputs="inputs" :names="name" :callname="callName" @heights="heights" />
 	</view>
 </template>
 
 <script>
-	import datas from  '@/debugdate/debugdate.js'
+	import datas from '@/debugdate/debugdate.js'
 	import filter from '@/config/filter.js'
 	import submit from '@/components/submit/submit.vue'
 	import WxStorage from "../../static/lib/wxStorage.js"
 	const innerAudioContext = uni.createInnerAudioContext()
-	
+
 	export default {
 		data() {
 			return {
+				swiperHeight: 0,
 				msgs: [],
 				imgMsg: [],
 				oldTime: new Date(),
 				scrollToView: '',
-				inputh: '72',   
-				recipientId: null,//接收者id
-				recAvatar: null,//接收者头像
-				recName: null,//接收者姓名
-				senAvatar:null,//发送者头像
-				senId: null,//接收者id
+				inputh: '72',
+				recipientId: null, //接收者id
+				recAvatar: null, //接收者头像
+				recName: null, //接收者姓名
+				senAvatar: null, //发送者头像
+				senId: null, //接收者id
 				getData: null,
-				animationData: {},            // 动画
-				nowpage: 0,                   // 页码
-				loading: '',                  // 滚动事件
+				animationData: {}, // 动画
+				nowpage: 0, // 页码
+				loading: '', // 滚动事件
 				isload: true,
 				isanimation: true,
 				begainloading: true,
-				
-				name: []//视频 双方id
+
+				name: [] //视频 双方id
 			};
 		},
-		components:{
+		components: {
 			submit,
 		},
 		onLoad(option) {
@@ -169,16 +133,40 @@
 			this._getMsg(this.nowpage)
 			// this.nextPage()
 			var data = JSON.parse(option.data)
-			console.log(data,55555555555555555555555)
-			this.name = ['wo',option.chatID];
+			console.log(data, 55555555555555555555555)
+			this.name = ['wo', option.chatID];
 			// console.log(data)
-			if(typeof data.recipientName == "undefined"){
+			if (typeof data.recipientName == "undefined") {
 				this.callName = data.realName;
-			}else{
+			} else {
 				this.callName = data.recipientName;
 			}
 		},
-		methods:{
+		
+		onReady() {
+			let that = this;
+			uni.getSystemInfo({
+				success(e) {
+					console.log(e);
+					let {
+						windowWidth,
+						windowHeight,
+						safeArea
+					} = e;
+					const query = uni.createSelectorQuery().in(that);
+					query
+						.select('#chatingBox')
+						.boundingClientRect(data => {
+		
+							that.swiperHeight = (safeArea.bottom - data.top);
+		
+						})
+						.exec();
+				}
+			});
+		},
+		
+		methods: {
 			// 返回键
 			backOne() {
 				uni.navigateBack({
@@ -191,15 +179,15 @@
 				// 	// 出现loading icon
 				// 	this.isload = false
 				// 	this.begainloading = false
-					
+
 				// 	var animation = uni.createAnimation({
 				// 		duration: 1000,
 				// 		timingFunction: 'step-start'
 				// 	})
-					
+
 				// 	this.animation = animation
-					
-					
+
+
 				// 	let i = 1
 				// 	this.loading = setInterval(function() {
 				// 		animation.rotate(i * 30).step()
@@ -209,36 +197,36 @@
 				// 		if(i > 40) {
 				// 			this._getMsg(this.nowpage)
 				// 		}
-						
+
 				// 	}.bind(this), 100)
 				// }
-				
-				
+
+
 			},
 			// 获取聊天数据
 			_getMsg(page) {
 				var that = this;
 				that.senId = WxStorage.get("ids");
 				uni.request({
-					url:this.$store.state.piAPI + "/chat-records/getSingleMessagePage",
-					method:"get",
-					data:{
+					url: this.$store.state.piAPI + "/chat-records/getSingleMessagePage",
+					method: "get",
+					data: {
 						senderId: that.senId,
 						recipientId: that.recipientId
 						// recipientId: "1370571848600920066"
 					},
-					success:(res)=> {
+					success: (res) => {
 						// recAvatar: null,//接收者头像
 						// senAvatar:null,//发送者头像
 						var resdata = res.data.data.user;
 						for (var i = 0; i < resdata.length; i++) {
-							if(resdata[i].avatar == null || resdata[i].avatar == ""){
-								resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/img-logo.png";
+							if (resdata[i].avatar == null || resdata[i].avatar == "") {
+								resdata[i].avatar = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c";
 							}
-							
-							if(resdata[i].id == that.senId){
+
+							if (resdata[i].id == that.senId) {
 								that.senAvatar = resdata[i].avatar;
-							}else{
+							} else {
 								that.recAvatar = resdata[i].avatar;
 								that.recName = resdata[i].realName;
 							}
@@ -248,38 +236,38 @@
 						// 页数加1
 						//let msg = datas.message()			
 						let maxpages = msg.length
-						if(msg.length > (page + 1) * 10) {
+						if (msg.length > (page + 1) * 10) {
 							maxpages = (page + 1) * 10
 							that.nowpage++
-						}else {
+						} else {
 							// 数据获取完毕
 							that.nowpage = -1
 						}
 						// 数据分页加载 每十条为一页
-						for(var i = 0; i < msg.length; i++){
-							msg[i].imgUrl = '../../static/images/index/friend-list/'+msg[i].imgUrl
+						for (var i = 0; i < msg.length; i++) {
+							msg[i].imgUrl = '../../static/images/index/friend-list/' + msg[i].imgUrl
 							// 时间间隔
-							if(i < msg.length-1){
+							if (i < msg.length - 1) {
 								let t = filter.spaceTime(that.oldTime, msg[i].postTime)
-								if(t){
+								if (t) {
 									that.oldTime = t
 								}
 								msg[i].postTime = t
 							}
 							// 补充图片地址
-							if(msg[i].types == 1){
-								msg[i].message = '../../static/images/index/friend-list/'+msg[i].message
+							if (msg[i].types == 1) {
+								msg[i].message = '../../static/images/index/friend-list/' + msg[i].message
 								that.imgMsg.unshift(msg[i].message)
 							}
 							that.msgs.unshift(msg[i])
 						}
-						
+
 						that.$nextTick(() => {
 							that.isanimation = false
-							if(that.getData.length != 0){
+							if (that.getData.length != 0) {
 								that.scrollToView = 'msg' + that.getData[0].id
 							}
-							
+
 						})
 						// 数据加载完毕关闭动画,停止数据加载
 						clearInterval(this.loading)
@@ -287,17 +275,17 @@
 						this.isload = true
 						// 开启加载
 						this.begainloading = true
-						
+
 					}
 				})
-				
+
 			},
 			// 预览图片
 			previewImage(e) {
-				
+
 				let index = 0
-				for(var i =0; i < this.imgMsg.length; i++){
-					if(this.imgMsg[i] == e) {
+				for (var i = 0; i < this.imgMsg.length; i++) {
+					if (this.imgMsg[i] == e) {
 						index = i
 					}
 				}
@@ -325,11 +313,11 @@
 			inputs(e) {
 				var that = this;
 				this.isanimation = true
-				let len = this.msgs.length -1				
-				let nowTime = new Date();	
+				let len = this.msgs.length - 1
+				let nowTime = new Date();
 				var sentTime = that.dateFormat("YYYY-mm-dd HH:MM:SS", nowTime);
 				let t = filter.spaceTime(this.oldTime, nowTime)
-				if(t){
+				if (t) {
 					this.oldTime = t
 				}
 				nowTime = t
@@ -341,11 +329,11 @@
 					status: 0,
 					postTime: nowTime,
 				}
-				
+
 				uni.request({
-					url:this.$store.state.piAPI + "/chat-records/insertSingleChat",
-					method:"post",
-					data:{
+					url: this.$store.state.piAPI + "/chat-records/insertSingleChat",
+					method: "post",
+					data: {
 						senderId: that.senId,
 						recipientId: that.recipientId,
 						postMessage: e.message,
@@ -353,16 +341,16 @@
 						status: 0,
 						postTime: sentTime,
 					},
-					success:(res)=> {
-						
+					success: (res) => {
+
 					}
 				});
-				
+
 				this.msgs.push(sendMsg)
 				this.$nextTick(() => {
 					this.scrollToView = 'msg' + len
 				})
-				if(e.types == 1) {
+				if (e.types == 1) {
 					this.imgMsg.push(e.message)
 				}
 			},
@@ -377,22 +365,20 @@
 				this.isanimation = true
 				this.scrollToView = ''
 				this.$nextTick(() => {
-					let len = this.getData.length -1
-					if(this.getData.length != 0){
+					let len = this.getData.length - 1
+					if (this.getData.length != 0) {
 						this.scrollToView = 'msg' + this.getData[0].id
 					}
-					
+
 				})
 			},
 			// 地图定位
 			covers(e) {
-				let map = [
-					{
-						latitude: e.latitude,
-						longitude: e.longitude,
-						iconPath: '../../static/images/chatroom/placeholder-r.png'
-					}
-				]
+				let map = [{
+					latitude: e.latitude,
+					longitude: e.longitude,
+					iconPath: '../../static/images/chatroom/placeholder-r.png'
+				}]
 				return (map)
 			},
 			// 导航
@@ -409,90 +395,72 @@
 			},
 			//时间格式化
 			dateFormat(fmt, date) {
-			    let ret;
-			    const opt = {
-			        "Y+": date.getFullYear().toString(),        // 年
-			        "m+": (date.getMonth() + 1).toString(),     // 月
-			        "d+": date.getDate().toString(),            // 日
-			        "H+": date.getHours().toString(),           // 时
-			        "M+": date.getMinutes().toString(),         // 分
-			        "S+": date.getSeconds().toString()          // 秒
-			        // 有其他格式化字符需求可以继续添加,必须转化成字符串
-			    };
-			    for (let k in opt) {
-			        ret = new RegExp("(" + k + ")").exec(fmt);
-			        if (ret) {
-			            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
-			        };
-			    };
-			    return fmt;
+				let ret;
+				const opt = {
+					"Y+": date.getFullYear().toString(), // 年
+					"m+": (date.getMonth() + 1).toString(), // 月
+					"d+": date.getDate().toString(), // 日
+					"H+": date.getHours().toString(), // 时
+					"M+": date.getMinutes().toString(), // 分
+					"S+": date.getSeconds().toString() // 秒
+					// 有其他格式化字符需求可以继续添加,必须转化成字符串
+				};
+				for (let k in opt) {
+					ret = new RegExp("(" + k + ")").exec(fmt);
+					if (ret) {
+						fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
+					};
+				};
+				return fmt;
 			}
 		},
-		filters:{
+		filters: {
 			Msgdate(time) {
-			 return	filter.Msgdate(time)
+				return filter.Msgdate(time)
 			}
 		}
 	}
-	
 </script>
 
-<style lang="scss">	
+<style lang="scss">
 	@import '../../static/scss/index.scss';
-	.padbt {
-		height: var(--status-bar-height);
-		width: 100%;
-	}
-	page {
-		height: 100%;
-	}
+
 	.content {
 		height: 100%;
 		background: rgba(244, 244, 244, 1);
 		// background: #2C405A;
 	}
-	
-	.top-bar {
-		background: rgba(244, 244, 244, .96);
-		// box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, .1);
-		border-bottom: 1px solid $uni-border-color;
-		
-		.group-img {
-			image{
-				position: absolute;
-				bottom: 10rpx;
-				right: $uni-spacing-col-base;
-				width: 68rpx;
-				height: 68rpx;
-				border-radius: 16rpx;
-				// justify-content: center;
-			}
-		}
-	}
 
+	.set-icon {
+		vertical-align: middle;
+		width: 41rpx;
+		height: auto;
+		margin-right: 35rpx;
+	}
+	
 	.chat {
 		height: 100%;
-		
+
 		.chat-main {
 			padding-left: $uni-spacing-col-base;
 			padding-right: $uni-spacing-col-base;
-			padding-top: 100rpx;
+			padding-top: 16rpx;
 			// padding-bottom: 120rpx;
 			display: flex;
 			flex-direction: column;
-			
+
 			.loading {
 				text-align: center;
-				
+
 				.loading-img {
 					width: 60rpx;
 					height: 60rpx;
 				}
 			}
 		}
-		
+
 		.chat-ls {
-			
+
 			.chat-time {
 				font-size: $uni-font-size-base;
 				color: rgba(39, 40, 50, .6);
@@ -500,56 +468,59 @@
 				padding: 20rpx 0;
 				text-align: center;
 			}
-			
+
 			.msg-m {
 				display: flex;
 				padding: 20rpx 0;
-				
+
 				.user-img {
 					flex: none;
-					width: 88upx;;
-					height: 88upx;;
+					width: 88upx;
+					;
+					height: 88upx;
+					;
 					border-radius: $uni-border-radius-base;
 				}
-				
+
 				.message {
 					flex: none;
 					max-width: 480rpx;
-					
+
 				}
-				
+
 				.msg-text {
 					font-size: $uni-font-size-lg;
 					color: $uni-text-color;
 					line-height: 44rpx;
 					padding: 18rpx 34rpx;
 				}
-				
+
 				.msg-img {
 					border-radius: $uni-border-radius-base;
 					max-width: 400rpx;
 				}
-				
+
 				.voice {
 					width: 200rpx;
 					min-width: 110rpx;
 					max-width: 400rpx;
-					
+
 					.voice-img {
 						width: 20px;
 						height: 40rpx;
 						top: 2rpx;
 						// padding-top: -8rpx;
 					}
-					
+
 				}
+
 				// 陶 我想你
 				.msg-map {
 					background: #fff;
 					width: 464rpx;
 					height: 284rpx;
 					overflow: hidden;
-					
+
 					.map-name {
 						font-size: $uni-font-size-lg;
 						color: $uni-text-color;
@@ -560,7 +531,7 @@
 						-webkit-line-clamp: 1;
 						overflow: hidden;
 					}
-					
+
 					.map-address {
 						font-size: $uni-font-size-sm;
 						color: $uni-text-color-disable;
@@ -570,14 +541,14 @@
 						-webkit-line-clamp: 1;
 						overflow: hidden;
 					}
-					
+
 					// .map {
 					// 	padding-top: 8rpx;
 					// 	width: 464rpx;
 					// 	height: 190rpx;
 					// 	overflow: hidden;
 					// }
-					
+
 					.map-img {
 						width: 464rpx;
 						// padding-top: 8rpx;
@@ -585,67 +556,71 @@
 						// top: -70rpx;
 					}
 				}
-				
+
 			}
+
 			.msg-left {
 				flex-direction: row;
+
 				.msg-text {
 					margin-left: 16rpx;
-					background-color: #fff;
 					border-radius: 0 20rpx 20rpx 20rpx;
+					background-color: rgba(255, 170, 0, 0.8);
 				}
-				
+
 				.msg-img {
 					padding-left: 16rpx;
 				}
-				
+
 				.msg-map {
 					margin-left: 16rpx;
 					border-radius: 0 20rpx 20rpx 20rpx;
 				}
-				
+
 				.voice {
 					text-align: right;
-					
+
 					.voice-img {
-						float: left;			
+						float: left;
 					}
-					
+
 				}
-				
+
 			}
-			
+
 			.msg-right {
 				flex-direction: row-reverse;
+
 				.msg-text {
 					margin-right: 16rpx;
 					background-color: rgba(255, 228, 49, .8);
 					border-radius: 20rpx 0rpx 20rpx 20rpx;
 				}
-				
+
 				.msg-img {
 					padding-right: 16rpx;
 				}
-				
+
 				.msg-map {
 					margin-right: 16rpx;
 					border-radius: 20rpx 0rpx 20rpx 20rpx;
 				}
-				
+
 				.voice {
 					text-align: left;
-					
+
 					.voice-img {
 						float: right;
-						transform: rotate(180deg);					
+						transform: rotate(180deg);
 					}
-					
+
 				}
-				
+
 			}
 		}
-		
+
 	}
+
 	.displaynone {
 		display: none;
 	}
diff --git a/pages/groupChat/chatingQZ.vue b/pages/groupChat/chatingQZ.vue
index 00d3742..1aef314 100644
--- a/pages/groupChat/chatingQZ.vue
+++ b/pages/groupChat/chatingQZ.vue
@@ -1,180 +1,167 @@
 <template>
-	<view class="content">
-	
-	<!-- 头部 -->
-	<view class="top-bar">
-		<view class="top-bar-left" @tap="backOne()">
-			<view class="back-img">
-				<image src="@/static/images/common/back.png" />
+	<view class="container">
+
+		<u-navbar style="position: relative;" :is-fixed="false" :border-bottom="true" :is-back="true"
+			 :title="recName" back-icon-color="#fff"
+			:background="{ background: '#0BB9C8' }" title-color="#fff">
+			<view slot='right'>
+				<u-icon @click="chatMessageDetail" class="set-icon" name="more-dot-fill" color="#fff" size="28"></u-icon>
 			</view>
-		</view>
-		<view class="top-bar-center title">
-			<text>{{ recName }}</text>
-		</view>
-		<view class="top-bar-right search pice">
-			<view class="group-img">
-				<image :src=recAvatar
-							 mode=""/>
-			</view>
-		</view>
-	</view>
-	
-	<scroll-view scroll-y="true"
-							 class="chat"
-							 scroll-with-animation="isanimation"
-							 :scroll-into-view="scrollToView"
-							 @scrolltoupper="nextPage">
-		<view class="chat-main"
-					:style="{paddingBottom:inputh + 'px'}">
-			<view class="loading"
-						:class="{displaynone:isload}">
-				<image src="@/static/images/chatroom/load.png" 
-							 mode=""
-							 class="loading-img"
-							 :animation="animationData"/>
-			</view>
-			<view class="chat-ls" v-for="(item, index) in msgs"
-													  :key="index"
-														:id="'msg' + item.id">
-				<view class="chat-time" v-if="item.post_time != ''">{{ item.post_time | Msgdate }}</view>
-				
-				<view class="msg-m msg-left" v-if="item.sender_id != senId">
-					
-					<image :src= item.avatar 
-								 mode=""
-								 class="user-img" />
-					<view>
-					<view  class="sent_name">
-						{{item.real_name}}
-					</view>
-					<!-- text -->
-					<view class="message" v-if="item.message_type == 0">
-						<view class="msg-text">{{ item.post_message }}</view>
-					</view>
-					<!-- image -->
-					<view class="message" v-if="item.message_type == 1">
-						<image :src="item.post_message" 
-									 class="msg-img"
-									 mode="widthFix"
-									 @tap="previewImage(item.post_message)"/>
-					</view>
-					<!-- voice -->
-					<view class="message" v-if="item.message_type == 2">
-						<view class="msg-text voice"
-									:style="{width:item.post_message.time * 4 + 'px'}"
-									@tap="playVoice(item.post_message.voice)">
-							<image src="../../static/images/chatroom/sound.png" 
-										 mode=""
-										 class="voice-img"/>
-							{{ item.post_message.time }} "
-						</view>
-					</view>
-					<!-- location -->
-					<view class="message" v-if="item.message_type == 3">
-						<view class="msg-map"
-									@tap="openLocation(item.post_message)">
-							<view class="map-name">{{ item.post_message.name }}</view>
-							<view class="map-address">{{ item.post_message.address }}</view>
-							<image src="../../static/images/chatroom/map.jpg" 
-										 mode="aspectFit" 
-										 class="map-img"/>
-						</view>
-					</view>
-					</view>
+		</u-navbar>
+
+		<scroll-view id="chatingQzBox" :style="{ height: swiperHeight + 'px' }" scroll-y="true" class="chat"
+			scroll-with-animation="isanimation" :scroll-into-view="scrollToView" @scrolltoupper="nextPage">
+			<view class="chat-main" :style="{paddingBottom:inputh + 'px'}">
+				<view class="loading" :class="{displaynone:isload}">
+					<image src="@/static/images/chatroom/load.png" mode="" class="loading-img"
+						:animation="animationData" />
 				</view>
-				
-				<view class="msg-m msg-right" v-if="item.sender_id == senId">
-					<image :src= item.avatar  
-								 mode=""
-								 class="user-img" />
-					<view class="message" v-if="item.message_type == 0">
-						<view class="msg-text">{{ item.post_message }}</view>
-					</view>
-					<view class="message" v-if="item.message_type == 1">
-						<image :src="item.post_message" 
-									 class="msg-img"
-									 mode="widthFix"
-									 @tap="previewImage(item.post_message)"/>
-					</view>
-					<!-- voice -->
-					<view class="message" v-if="item.message_type == 2">
-						<view class="msg-text voice"
-									:style="{width:item.post_message.time * 4 + 'px'}"
+				<view class="chat-ls" v-for="(item, index) in msgs" :key="index" :id="'msg' + item.id">
+					<view class="chat-time" v-if="item.post_time != ''">{{ item.post_time | Msgdate }}</view>
+
+					<view class="msg-m msg-left" v-if="item.sender_id != senId">
+
+						<image :src="item.avatar == '' ? 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c' : item.avatar" mode="" class="user-img" />
+						<view>
+							<view class="sent_name">
+								{{item.real_name}}
+							</view>
+							<!-- text -->
+							<view class="message" v-if="item.message_type == 0">
+								<view class="msg-text">{{ item.post_message }}</view>
+							</view>
+							<!-- image -->
+							<view class="message" v-if="item.message_type == 1">
+								<image :src="item.post_message" class="msg-img" mode="widthFix"
+									@tap="previewImage(item.post_message)" />
+							</view>
+							<!-- voice -->
+							<view class="message" v-if="item.message_type == 2">
+								<view class="msg-text voice" :style="{width:item.post_message.time * 4 + 'px'}"
 									@tap="playVoice(item.post_message.voice)">
-							{{ item.post_message.time }} "
-							<image src="@/static/images/chatroom/sound.png"
-										 mode=""
-										 class="voice-img"/>
+									<image src="../../static/images/chatroom/sound.png" mode="" class="voice-img" />
+									{{ item.post_message.time }} "
+								</view>
+							</view>
+							<!-- location -->
+							<view class="message" v-if="item.message_type == 3">
+								<view class="msg-map" @tap="openLocation(item.post_message)">
+									<view class="map-name">{{ item.post_message.name }}</view>
+									<view class="map-address">{{ item.post_message.address }}</view>
+									<image src="../../static/images/chatroom/map.jpg" mode="aspectFit"
+										class="map-img" />
+								</view>
+							</view>
 						</view>
 					</view>
-					<!-- location -->
-					<view class="message" v-if="item.message_type == 3">
-						<view class="msg-map"
-									@tap="openLocation(item.post_message)">
-							<view class="map-name">{{ item.post_message.name }}</view>
-							<view class="map-address">{{ item.post_message.address }}</view>
-							<!-- <map class="map"
+
+					<view class="msg-m msg-right" v-if="item.sender_id == senId">
+						<image :src="item.avatar == '' ? 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c' : item.avatar" mode="" class="user-img" />
+						<view class="message" v-if="item.message_type == 0">
+							<view class="msg-text">{{ item.post_message }}</view>
+						</view>
+						<view class="message" v-if="item.message_type == 1">
+							<image :src="item.post_message" class="msg-img" mode="widthFix"
+								@tap="previewImage(item.post_message)" />
+						</view>
+						<!-- voice -->
+						<view class="message" v-if="item.message_type == 2">
+							<view class="msg-text voice" :style="{width:item.post_message.time * 4 + 'px'}"
+								@tap="playVoice(item.post_message.voice)">
+								{{ item.post_message.time }} "
+								<image src="@/static/images/chatroom/sound.png" mode="" class="voice-img" />
+							</view>
+						</view>
+						<!-- location -->
+						<view class="message" v-if="item.message_type == 3">
+							<view class="msg-map" @tap="openLocation(item.post_message)">
+								<view class="map-name">{{ item.post_message.name }}</view>
+								<view class="map-address">{{ item.post_message.address }}</view>
+								<!-- <map class="map"
 									 :latitude="item.post_message.latitude"
 									 :longitude="item.post_message.longitude"
 									 :markers="covers(item.post_message)"/> -->
-							<image src="../../static/images/chatroom/map.jpg"
-										 mode="aspectFit" 
-										 class="map-img"/>
+								<image src="../../static/images/chatroom/map.jpg" mode="aspectFit" class="map-img" />
+							</view>
 						</view>
 					</view>
+
+
 				</view>
-				
-				
+
 			</view>
-			
-		</view>
-		<!-- <view class="padbt"></view> -->
-	</scroll-view>
-	<submit @inputs="inputs" 
-					@heights="heights"/>
+		</scroll-view>
+
+		<submit @inputs="inputs" @heights="heights" />
 	</view>
 </template>
 
 <script>
-	import datas from  '@/debugdate/debugdate.js'
+	import datas from '@/debugdate/debugdate.js'
 	import filter from '@/config/filter.js'
 	import submit from '@/components/submit/submit.vue'
 	import WxStorage from "../../static/lib/wxStorage.js"
 	const innerAudioContext = uni.createInnerAudioContext()
-	
+
 	export default {
 		data() {
 			return {
+				swiperHeight: 0,
 				msgs: [],
 				imgMsg: [],
 				oldTime: new Date(),
 				scrollToView: '',
-				inputh: '72',   
-				recipientId: null,//接收者id
-				recAvatar: null,//接收者头像
-				recName: null,//接收者姓名
-				senAvatar:null,//发送者头像
-				senId: null,//接收者id
+				inputh: '72',
+				recipientId: null, //接收者id
+				recAvatar: null, //接收者头像
+				recName: null, //接收者姓名
+				senAvatar: null, //发送者头像
+				senId: null, //接收者id
 				getData: null,
-				animationData: {},            // 动画
-				nowpage: 0,                   // 页码
-				loading: '',                  // 滚动事件
+				animationData: {}, // 动画
+				nowpage: 0, // 页码
+				loading: '', // 滚动事件
 				isload: true,
 				isanimation: true,
 				begainloading: true
 			};
 		},
-		components:{
+		components: {
 			submit,
 		},
 		onLoad(option) {
+			console.log(option)
 			this.recipientId = option.chatID;
 			var data = JSON.parse(option.data)
 			this.recName = data.GroupName;
 			this._getMsg(this.nowpage)
 			// this.nextPage()
 		},
-		methods:{
+
+		onReady() {
+			let that = this;
+			uni.getSystemInfo({
+				success(e) {
+					console.log(e);
+					let {
+						windowWidth,
+						windowHeight,
+						safeArea
+					} = e;
+					const query = uni.createSelectorQuery().in(that);
+					query
+						.select('#chatingQzBox')
+						.boundingClientRect(data => {
+
+							that.swiperHeight = (safeArea.bottom - data.top);
+
+						})
+						.exec();
+				}
+			});
+		},
+
+		methods: {
 			// 返回键
 			backOne() {
 				uni.navigateBack({
@@ -187,15 +174,15 @@
 				// 	// 出现loading icon
 				// 	this.isload = false
 				// 	this.begainloading = false
-					
+
 				// 	var animation = uni.createAnimation({
 				// 		duration: 1000,
 				// 		timingFunction: 'step-start'
 				// 	})
-					
+
 				// 	this.animation = animation
-					
-					
+
+
 				// 	let i = 1
 				// 	this.loading = setInterval(function() {
 				// 		animation.rotate(i * 30).step()
@@ -205,73 +192,73 @@
 				// 		if(i > 40) {
 				// 			this._getMsg(this.nowpage)
 				// 		}
-						
+
 				// 	}.bind(this), 100)
 				// }
-				
-				
+
+
 			},
 			// 获取聊天数据
 			_getMsg(page) {
-				
+
 				var that = this;
 				that.senId = WxStorage.get("ids");
 				uni.request({
-					url:this.$store.state.piAPI + "/chatgroupc/selectList",
-					method:"post",
+					url: this.$store.state.piAPI + "/chatgroupc/selectList",
+					method: "post",
 					header: {
-						'content-type': 'application/x-www-form-urlencoded', 
+						'content-type': 'application/x-www-form-urlencoded',
 					},
-					data:{
+					data: {
 						gid: that.recipientId
 						//gid: "1"
 					},
-					success:(res)=> {
+					success: (res) => {
 						// recAvatar: null,//接收者头像
 						// senAvatar:null,//发送者头像
 						var resdata = res.data.data;
 						for (var i = 0; i < resdata.length; i++) {
-							if(resdata[i].avatar == null || resdata[i].avatar == ""){
-								resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/img-logo.png";
-							}else{
+							if (resdata[i].avatar == null || resdata[i].avatar == "") {
+								resdata[i].avatar = "";
+							} else {
 								resdata[i].avatar = resdata[i].avatar;
 							}
-							if(resdata[i].sender_id == that.senId){
+							if (resdata[i].sender_id == that.senId) {
 								that.senAvatar = resdata[i].avatar;
 							}
-							
+
 						}
 						let msg = res.data.data;
 						that.getData = msg;
 						// 页数加1
 						//let msg = datas.message()			
 						let maxpages = msg.length
-						if(msg.length > (page + 1) * 10) {
+						if (msg.length > (page + 1) * 10) {
 							maxpages = (page + 1) * 10
 							that.nowpage++
-						}else {
+						} else {
 							// 数据获取完毕
 							that.nowpage = -1
 						}
 						// 数据分页加载 每十条为一页
-						for(var i = 0; i < msg.length; i++){
-							msg[i].imgUrl = '../../static/images/index/friend-list/'+msg[i].imgUrl
+						for (var i = 0; i < msg.length; i++) {
+							msg[i].imgUrl = '../../static/images/index/friend-list/' + msg[i].imgUrl
 							// 时间间隔
-							if(i < msg.length-1){
+							if (i < msg.length - 1) {
 								let t = filter.spaceTime(that.oldTime, msg[i].post_time)
-								if(t){
+								if (t) {
 									that.oldTime = t
 								}
 								msg[i].post_time = t
 							}
 							// 补充图片地址
-							if(msg[i].types == 1){
-								msg[i].message = '../../static/images/index/friend-list/'+msg[i].message
+							if (msg[i].types == 1) {
+								msg[i].message = '../../static/images/index/friend-list/' + msg[i].message
 								that.imgMsg.unshift(msg[i].message)
 							}
 							that.msgs.unshift(msg[i])
 						}
-						
+
 						that.$nextTick(() => {
 							that.isanimation = false
 							that.scrollToView = 'msg' + that.getData[0].id
@@ -282,17 +269,17 @@
 						this.isload = true
 						// 开启加载
 						this.begainloading = true
-						
+
 					}
 				})
-				
+
 			},
 			// 预览图片
 			previewImage(e) {
-				
+
 				let index = 0
-				for(var i =0; i < this.imgMsg.length; i++){
-					if(this.imgMsg[i] == e) {
+				for (var i = 0; i < this.imgMsg.length; i++) {
+					if (this.imgMsg[i] == e) {
 						index = i
 					}
 				}
@@ -320,11 +307,11 @@
 			inputs(e) {
 				var that = this;
 				this.isanimation = true
-				let len = this.msgs.length -1				
-				let nowTime = new Date();	
+				let len = this.msgs.length - 1
+				let nowTime = new Date();
 				var sentTime = that.dateFormat("YYYY-mm-dd HH:MM:SS", nowTime);
 				let t = filter.spaceTime(this.oldTime, nowTime)
-				if(t){
+				if (t) {
 					this.oldTime = t
 				}
 				nowTime = t
@@ -334,29 +321,28 @@
 					message_type: 0,
 					status: 0,
 					post_time: nowTime,
-					avatar:that.senAvatar
+					avatar: that.senAvatar
 				}
-				
+
 				uni.request({
-					url:this.$store.state.piAPI + "/chatgroupc/submit",
-					method:"post",
-					data:{
+					url: this.$store.state.piAPI + "/chatgroupc/submit",
+					method: "post",
+					data: {
 						senderId: that.senId,
 						postMessage: e.message,
 						messageType: 0,
 						status: 0,
 						postTime: sentTime,
-						gid:that.recipientId
+						gid: that.recipientId
 					},
-					success:(res)=> {
-					}
+					success: (res) => {}
 				});
-				
+
 				this.msgs.push(sendMsg)
 				this.$nextTick(() => {
 					this.scrollToView = 'msg' + len
 				})
-				if(e.types == 1) {
+				if (e.types == 1) {
 					this.imgMsg.push(e.message)
 				}
 			},
@@ -371,19 +357,17 @@
 				this.isanimation = true
 				this.scrollToView = ''
 				this.$nextTick(() => {
-					let len = this.getData.length -1
+					let len = this.getData.length - 1
 					this.scrollToView = 'msg' + this.getData[0].id
 				})
 			},
 			// 地图定位
 			covers(e) {
-				let map = [
-					{
-						latitude: e.latitude,
-						longitude: e.longitude,
-						iconPath: '../../static/images/chatroom/placeholder-r.png'
-					}
-				]
+				let map = [{
+					latitude: e.latitude,
+					longitude: e.longitude,
+					iconPath: '../../static/images/chatroom/placeholder-r.png'
+				}]
 				return (map)
 			},
 			// 导航
@@ -400,90 +384,81 @@
 			},
 			//时间格式化
 			dateFormat(fmt, date) {
-			    let ret;
-			    const opt = {
-			        "Y+": date.getFullYear().toString(),        // 年
-			        "m+": (date.getMonth() + 1).toString(),     // 月
-			        "d+": date.getDate().toString(),            // 日
-			        "H+": date.getHours().toString(),           // 时
-			        "M+": date.getMinutes().toString(),         // 分
-			        "S+": date.getSeconds().toString()          // 秒
-			        // 有其他格式化字符需求可以继续添加,必须转化成字符串
-			    };
-			    for (let k in opt) {
-			        ret = new RegExp("(" + k + ")").exec(fmt);
-			        if (ret) {
-			            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
-			        };
-			    };
-			    return fmt;
+				let ret;
+				const opt = {
+					"Y+": date.getFullYear().toString(), // 年
+					"m+": (date.getMonth() + 1).toString(), // 月
+					"d+": date.getDate().toString(), // 日
+					"H+": date.getHours().toString(), // 时
+					"M+": date.getMinutes().toString(), // 分
+					"S+": date.getSeconds().toString() // 秒
+					// 有其他格式化字符需求可以继续添加,必须转化成字符串
+				};
+				for (let k in opt) {
+					ret = new RegExp("(" + k + ")").exec(fmt);
+					if (ret) {
+						fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
+					};
+				};
+				return fmt;
+			},
+			chatMessageDetail() {
+				uni.navigateTo({
+					url: './chatMessage?'
+				});
 			}
 		},
-		filters:{
+		filters: {
 			Msgdate(time) {
-			 return	filter.Msgdate(time)
+				return filter.Msgdate(time)
 			}
 		}
 	}
-	
 </script>
 
-<style lang="scss">	
+<style lang="scss">
 	@import '../../static/scss/index.scss';
-	.padbt {
-		height: var(--status-bar-height);
-		width: 100%;
-	}
+
 	page {
 		height: 100%;
 	}
+
 	.content {
 		height: 100%;
 		background: rgba(244, 244, 244, 1);
 		// background: #2C405A;
 	}
-	
-	.top-bar {
-		background: rgba(244, 244, 244, .96);
-		// box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, .1);
-		border-bottom: 1px solid $uni-border-color;
-		
-		.group-img {
-			image{
-				position: absolute;
-				bottom: 10rpx;
-				right: $uni-spacing-col-base;
-				width: 68rpx;
-				height: 68rpx;
-				border-radius: 16rpx;
-				// justify-content: center;
-			}
-		}
+
+	.set-icon {
+		vertical-align: middle;
+		width: 41rpx;
+		height: auto;
+		margin-right: 35rpx;
 	}
 
 	.chat {
 		height: 100%;
-		
+
 		.chat-main {
 			padding-left: $uni-spacing-col-base;
 			padding-right: $uni-spacing-col-base;
-			padding-top: 100rpx;
+			padding-top: 16rpx;
 			// padding-bottom: 120rpx;
 			display: flex;
 			flex-direction: column;
-			
+
 			.loading {
 				text-align: center;
-				
+
 				.loading-img {
 					width: 60rpx;
 					height: 60rpx;
 				}
 			}
 		}
-		
+
 		.chat-ls {
-			
+
 			.chat-time {
 				font-size: $uni-font-size-base;
 				color: rgba(39, 40, 50, .6);
@@ -491,56 +466,59 @@
 				padding: 20rpx 0;
 				text-align: center;
 			}
-			
+
 			.msg-m {
 				display: flex;
 				padding: 20rpx 0;
-				
+
 				.user-img {
 					flex: none;
-					width: 88upx;;
-					height: 88upx;;
+					width: 88upx;
+					;
+					height: 88upx;
+					;
 					border-radius: $uni-border-radius-base;
 				}
-				
+
 				.message {
 					flex: none;
 					max-width: 480rpx;
-					
+
 				}
-				
+
 				.msg-text {
 					font-size: $uni-font-size-lg;
 					color: $uni-text-color;
 					line-height: 44rpx;
 					padding: 18rpx 34rpx;
 				}
-				
+
 				.msg-img {
 					border-radius: $uni-border-radius-base;
 					max-width: 400rpx;
 				}
-				
+
 				.voice {
 					width: 200rpx;
 					min-width: 110rpx;
 					max-width: 400rpx;
-					
+
 					.voice-img {
 						width: 20px;
 						height: 40rpx;
 						top: 2rpx;
 						// padding-top: -8rpx;
 					}
-					
+
 				}
+
 				// 陶 我想你
 				.msg-map {
 					background: #fff;
 					width: 464rpx;
 					height: 284rpx;
 					overflow: hidden;
-					
+
 					.map-name {
 						font-size: $uni-font-size-lg;
 						color: $uni-text-color;
@@ -551,7 +529,7 @@
 						-webkit-line-clamp: 1;
 						overflow: hidden;
 					}
-					
+
 					.map-address {
 						font-size: $uni-font-size-sm;
 						color: $uni-text-color-disable;
@@ -561,14 +539,14 @@
 						-webkit-line-clamp: 1;
 						overflow: hidden;
 					}
-					
+
 					// .map {
 					// 	padding-top: 8rpx;
 					// 	width: 464rpx;
 					// 	height: 190rpx;
 					// 	overflow: hidden;
 					// }
-					
+
 					.map-img {
 						width: 464rpx;
 						// padding-top: 8rpx;
@@ -576,74 +554,79 @@
 						// top: -70rpx;
 					}
 				}
-				
+
 			}
+
 			.msg-left {
 				flex-direction: row;
+
 				.msg-text {
 					margin-left: 16rpx;
-					background-color: #fff;
 					border-radius: 0 20rpx 20rpx 20rpx;
+					background-color: rgba(255, 170, 0, 0.8);
+
 				}
-				
+
 				.msg-img {
 					padding-left: 16rpx;
 				}
-				
+
 				.msg-map {
 					margin-left: 16rpx;
 					border-radius: 0 20rpx 20rpx 20rpx;
 				}
-				
+
 				.voice {
 					text-align: right;
-					
+
 					.voice-img {
-						float: left;			
+						float: left;
 					}
-					
+
 				}
-				
+
 			}
-			
+
 			.msg-right {
 				flex-direction: row-reverse;
+
 				.msg-text {
 					margin-right: 16rpx;
 					background-color: rgba(255, 228, 49, .8);
 					border-radius: 20rpx 0rpx 20rpx 20rpx;
 				}
-				
+
 				.msg-img {
 					padding-right: 16rpx;
 				}
-				
+
 				.msg-map {
 					margin-right: 16rpx;
 					border-radius: 20rpx 0rpx 20rpx 20rpx;
 				}
-				
+
 				.voice {
 					text-align: left;
-					
+
 					.voice-img {
 						float: right;
-						transform: rotate(180deg);					
+						transform: rotate(180deg);
 					}
-					
+
 				}
-				
+
 			}
 		}
-		
+
 	}
+
 	.displaynone {
 		display: none;
 	}
-	
-	.sent_name{
-		    margin-left: 8px;
-		    font-size: 8px;
-		    padding-bottom: 5px;
+
+	.sent_name {
+		margin-left: 8px;
+		font-size: 8px;
+		padding-bottom: 5px;
 	}
 </style>
diff --git a/pages/groupChat/friendrequest.vue b/pages/groupChat/friendrequest.vue
index b895a6b..ac26ffc 100644
--- a/pages/groupChat/friendrequest.vue
+++ b/pages/groupChat/friendrequest.vue
@@ -1,19 +1,11 @@
 <template>
-	<view class="content">
-
-		<view class="top-bar">
-			<view class="top-bar-left" @tap="backOne">
-				<view class="back-img">
-					<image src="../../static/images/common/back.png" />
-				</view>
-			</view>
-			<view class="top-bar-center">
-				<text class="title">好友申请</text>
-			</view>
-			<view class="top-bar-right">
-				<view class="pice"></view>
-			</view>
-		</view>
+	<view class="container">
+		
+		<u-navbar style="position: relative;" :is-fixed="false" :border-bottom="true" :is-back="true"
+			title="好友申请" back-icon-color="#fff" :background="{ background: '#0BB9C8' }" title-color="#fff">
+		
+		</u-navbar>
+		
 		<view class="main">
 			<u-empty class="friendEmpty" v-if="requestList.length == 0" text="暂无好友申请" mode="list"></u-empty>
 			<view class="requestr" v-for="(item, index) in requestList" :key="index">
@@ -77,7 +69,7 @@
 						var resdata = res.data.data.records;
 						for (var i = 0; i < resdata.length; i++) {
 							if (resdata[i].avatar == null || resdata[i].avatar == "") {
-								resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/img-logo.png";
+								resdata[i].avatar = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c";
 							}
 						}
 						this.requestList = resdata;
@@ -134,12 +126,6 @@
 <style lang="scss">
 	@import '../../common/style/common.scss';
 
-	.top-bar {
-		background-color: #0BB9C8;
-		// background-color: #42B983;
-		box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, .1);
-	}
-
 	.friendEmpty {
 		position: absolute;
 		margin: auto;
@@ -150,7 +136,7 @@
 	}
 
 	.main {
-		padding: 108rpx 32upx;
+		padding: 16rpx 32upx;
 		background: rgba(255, 255, 255, .6);
 
 		.requestr {
diff --git a/pages/groupChat/groupChat.vue b/pages/groupChat/groupChat.vue
index b3696b3..194e6f7 100644
--- a/pages/groupChat/groupChat.vue
+++ b/pages/groupChat/groupChat.vue
@@ -4,82 +4,92 @@
 		<!-- 自定义顶部导航栏 -->
 		<!-- <navBarTop :title="'聊天室'"></navBarTop> -->
 
-		<view style="height:205rpx;"></view>
-		<view class="tab" style="position: fixed;top: 0;width: 100%;height: 205rpx;z-index: 100;">
-			<u-navbar style="position: relative;" :is-fixed="false" :border-bottom="false" :is-back="false" title="好友"
-				:background="{ background: '#0BB9C8' }" title-color="#fff">
-				<u-icon @click="addFriend" slot="right" class="message-icon" mode="widthFix" name="plus" color="#fff">
-				</u-icon>
-				<!-- <image  src="../../static/add.png" ></image> -->
-			</u-navbar>
+		<u-navbar style="position: relative;" :is-fixed="false" :border-bottom="false" :is-back="false" title="好友"
+			:background="{ background: '#0BB9C8' }" title-color="#fff">
+			<u-icon @click="addFriend" slot="right" class="message-icon" mode="widthFix" name="plus" color="#fff">
+			</u-icon>
+		</u-navbar>
+
+		<view class="tab">
 			<u-tabs :list="list" :is-scroll="false" :current="current" active-color="#14B9C8" inactive-color="#595959"
-				height="100" @change="change" style="background-color:rgba(255,255,255,0.8); "></u-tabs>
+				height="100" @change="change"></u-tabs>
 		</view>
 
 		<swiper id="swiperBoxPeo" :style="{ height: swiperHeight + 'px' }" :current="current" @change="tabsChange">
+
 			<swiper-item class="swiper-item" v-for="(item, indexs) in list" :key="indexs">
-				<view v-if="indexs == 0" class="main">
-					<div>
-						<div class="m-main">
-							<!-- <view class="inTitle">{{Task}}</view> -->
-							<view class="inTmain">
-								<contacts v-for="(item,index) in dataListP" :key="index" :Pdata="item" :fromW="indexs"
-									@refreshTask="refreshTask"></contacts>
-							</view>
-						</div>
-					</div>
-				</view>
-				<view v-if="indexs == 1" class="main">
-					<div>
-						<div class="m-main">
-							<!-- <view class="inTitle">{{Task}}</view> -->
-							<view class="applys" @click="toFriendRequest">
-								<view class="head-wrap">
-									<image src="../../static/apply.png" class="head" />
-									<view v-if=false class="tip">233</view>
-								</view>
-								<view class="content-wrap">
-									<text class="name">好友申请</text>
-									<text class="mess">若人生只如初见</text>
-								</view>
-								<view class="data-wrap">
-									<text class="data"></text>
-								</view>
-							</view>
-							<view class="inTmain">
-								<contacts v-for="(item,index) in dataListTXL" :key="index" :Pdata="item" :fromW="indexs"
-									@refreshTask="refreshTask"></contacts>
-							</view>
-						</div>
-					</div>
-				</view>
-				<view v-if="indexs == 2" class="main">
-					<div>
-						<div class="m-main">
 
-							<view class="applys" @click="newGroup">
-								<view class="head-wraps">
-									<image src="../../static/qunzhu.png" class="head" />
-									<view v-if=false class="tip">233</view>
-								</view>
-								<view class="content-wrap">
-									<text class="name">群组创建</text>
-									<text class="mess">何事秋风悲画扇</text>
-								</view>
-								<view class="data-wrap">
-									<text class="data"></text>
-								</view>
-							</view>
+				<scroll-view scroll-y :scroll-top="scrollTop" style="width: 100%;height: 100%;"
+					:refresher-enabled="refresherFlag" :refresher-threshold="threshold" :refresher-triggered="triggered"
+					@refresherrefresh="refreshing" @refresherrestore="refresherrestore">
 
-							<!-- <view class="inTitle">{{Task}}</view> -->
-							<view class="inTmain">
-								<contacts v-for="(item,index) in dataListQZ" :key="index" :Pdata="item" :fromW="indexs"
-									@refreshTask="refreshTask"></contacts>
-							</view>
+					<view v-if="indexs == 0" class="main">
+
+						<div>
+							<div class="m-main">
+								<!-- <view class="inTitle">{{Task}}</view> -->
+								<view class="inTmain">
+									<contacts v-for="(item,index) in dataListP" :key="index" :Pdata="item"
+										:fromW="indexs" @refreshTask="refreshTask"></contacts>
+								</view>
+							</div>
 						</div>
-					</div>
-				</view>
+					</view>
+					<view v-if="indexs == 1" class="main">
+						<div>
+							<div class="m-main">
+								<!-- <view class="inTitle">{{Task}}</view> -->
+								<view class="applys" @click="toFriendRequest">
+									<view class="head-wrap">
+										<image src="../../static/apply.png" class="head" />
+										<view v-if=false class="tip">233</view>
+									</view>
+									<view class="content-wrap">
+										<text class="name">好友申请</text>
+										<text class="mess">若人生只如初见</text>
+									</view>
+									<view class="data-wrap">
+										<text class="data"></text>
+									</view>
+								</view>
+								<view class="inTmain">
+									<contacts v-for="(item,index) in dataListTXL" :key="index" :Pdata="item"
+										:fromW="indexs" @refreshTask="refreshTask"></contacts>
+								</view>
+							</div>
+						</div>
+					</view>
+					<view v-if="indexs == 2" class="main">
+						<div>
+							<div class="m-main">
+
+								<view class="applys" @click="newGroup">
+									<view class="head-wraps">
+										<image src="../../static/qunzhu.png" class="head" />
+										<view v-if=false class="tip">233</view>
+									</view>
+									<view class="content-wrap">
+										<text class="name">群组创建</text>
+										<text class="mess">何事秋风悲画扇</text>
+									</view>
+									<view class="data-wrap">
+										<text class="data"></text>
+									</view>
+								</view>
+
+								<!-- <view class="inTitle">{{Task}}</view> -->
+								<view class="inTmain">
+									<contacts v-for="(item,index) in dataListQZ" :key="index" :Pdata="item"
+										:fromW="indexs" @refreshTask="refreshTask"></contacts>
+								</view>
+							</div>
+						</div>
+					</view>
+
+				</scroll-view>
+
 			</swiper-item>
+
 		</swiper>
 
 	</view>
@@ -121,6 +131,11 @@
 				titleTop: '', //
 				hello: false,
 				userName: '',
+				scrollTop: 0,
+				threshold: 50,
+				triggered: false,
+				isRefreshing: false, // 是否在刷新中
+				refresherFlag: true,
 			}
 		},
 		activated() {
@@ -131,6 +146,7 @@
 			let that = this;
 			uni.getSystemInfo({
 				success(e) {
+					console.log(e);
 					let {
 						windowWidth,
 						windowHeight,
@@ -141,23 +157,40 @@
 						.select('#swiperBoxPeo')
 						.boundingClientRect(data => {
 
-							that.swiperHeight = safeArea.bottom - data.top;
+							that.swiperHeight = (safeArea.bottom - data.top);
 
 						})
 						.exec();
 				}
 			});
 		},
-
-		onPullDownRefresh: function() {
-
-			setTimeout(() => {
-				this.getdataList()
-			}, 1000)
-
-		},
-
 		methods: {
+
+			
+			refreshing() {
+				
+				if (this.isRefreshing) {
+					return;
+				}
+				this.isRefreshing = true;
+				//界面下拉触发,triggered可能不是true,要设为true
+				if (!this.triggered) {
+					this.triggered = true;
+				}
+				
+				this.dataListP = [];
+				this.dataListQZ = [];
+				this.dataListTXL = [];
+				
+				this.getdataList()
+			},
+
+			refresherrestore() {
+		
+			
+				
+			},
+
 			change(index) {
 				this.current = index;
 			},
@@ -190,12 +223,18 @@
 							var resdata = res.data.data;
 							for (var i = 0; i < resdata.length; i++) {
 								if (resdata[i].avatar == null || resdata[i].avatar == "") {
-									resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/img-logo.png";
+									resdata[i].avatar = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c";
 								}
 							}
 							that.dataListP = resdata;
 
-							uni.stopPullDownRefresh();
+							that.scrollTop = 0;
+
+							setTimeout(() => {
+								that.triggered = false; //触发onRestore,并关闭刷新图标 正常应该放在请求成功得接口里
+								that.isRefreshing = false;
+							}, 1000)
+
 						}
 					});
 				} else if (this.current == 1) {
@@ -210,13 +249,19 @@
 							for (var i = 0; i < resdata.length; i++) {
 
 								if (resdata[i].avatar == null || resdata[i].avatar == "") {
-									resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/img-logo.png";
+									resdata[i].avatar = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c";
 								}
 							}
 
 							that.dataListTXL = resdata;
 
-							uni.stopPullDownRefresh();
+							that.scrollTop = 0;
+							
+							setTimeout(() => {
+								that.triggered = false; //触发onRestore,并关闭刷新图标 正常应该放在请求成功得接口里
+								that.isRefreshing = false;
+							}, 1000)
+
 						}
 					})
 				} else if (this.current == 2) {
@@ -232,12 +277,18 @@
 							var resdata = res.data.data;
 							for (var i = 0; i < resdata.length; i++) {
 								if (resdata[i].avatar == null || resdata[i].avatar == "") {
-									resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/qunz.png";
+									resdata[i].avatar = "../../static/images/people.png";
 								}
 							}
 							that.dataListQZ = resdata;
 
-							uni.stopPullDownRefresh();
+							that.scrollTop = 0;
+							
+							setTimeout(() => {
+								that.triggered = false; //触发onRestore,并关闭刷新图标 正常应该放在请求成功得接口里
+								that.isRefreshing = false;
+							}, 1000)
+
 						}
 					});
 				}
@@ -499,4 +550,8 @@
 	.swiper-item {
 		overflow-y: auto !important;
 	}
+
+	.tab {
+		margin-bottom: 10rpx;
+	}
 </style>
diff --git a/pages/groupChat/modify/modify.vue b/pages/groupChat/modify/modify.vue
new file mode 100644
index 0000000..da9a71d
--- /dev/null
+++ b/pages/groupChat/modify/modify.vue
@@ -0,0 +1,223 @@
+<template>
+	<view class="modifybox" :animation="animationData">
+		<view class="mask" :animation="animationData2"></view>
+		<view class="content">
+			<view class="m_title">{{ type }}</view>
+			<view class="close" @tap="show"><image src="../../../static/images/group/close.png" mode="widthFix"></image></view>
+			<view class="name" v-if="type == '群名'">
+				<view class="namebox"><input type="text" v-model="name" /></view>
+				<view class="notice-btn"><view class="modify-btn" @tap="modifyInfo('name')">修改</view></view>
+			</view>
+			<view class="notice" v-if="type == '公告'">
+				<view class="notice-content" v-show="!isModify">{{ notice }}</view>
+				<view class="notice-text" v-show="isModify"><textarea auto-height="true" v-model="notice" placeholder="" /></view>
+				<view class="notice-btn">
+					<view class="modify-btn" @tap="modifyNotice" v-show="!isModify && isManager">修改</view>
+					<view class="confirm-btn" @tap="modifyInfo('notice')" v-show="isModify">确定</view>
+				</view>
+			</view>
+			<view class="nickName" v-if="type == '昵称'">
+				<view class="nickbox"><input type="text" v-model="nickName" /></view>
+				<view class="notice-btn"><view class="modify-btn" @tap="modifyInfo('nickName')">修改</view></view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			isModify: false,
+			animationData: {},
+			animationData2: {},
+			isShow: false,
+			name: '',
+			notice: '',
+			nickName: ''
+		};
+	},
+	props: ['isManager', 'groupInfo', 'n_Name', 'type'],
+	created() {
+		setTimeout(() => {
+			this.name = this.groupInfo.name;
+			this.notice = this.groupInfo.notice;
+			this.nickName = this.n_Name;
+		}, 100);
+	},
+	methods: {
+		show() {
+			this.isShow = !this.isShow;
+			var animation = uni.createAnimation({
+				duration: 600,
+				timingFunction: 'ease'
+			});
+			var animation2 = uni.createAnimation({
+				duration: 400,
+				timingFunction: 'ease'
+			});
+			if (this.isShow) {
+				animation.bottom(0).step();
+				this.animationData = animation.export();
+				setTimeout(
+					function() {
+						animation2.opacity(1).step();
+						this.animationData2 = animation2.export();
+					}.bind(this),
+					600
+				);
+			} else {
+				animation2.opacity(0).step();
+				this.animationData2 = animation2.export();
+				setTimeout(
+					function() {
+						animation.bottom('-100vh').step();
+						this.animationData = animation.export();
+						setTimeout(() => {
+							this.isModify = false;
+						}, 500);
+					}.bind(this),
+					400
+				);
+			}
+		},
+		modifyNotice() {
+			this.isModify = !this.isModify;
+		},
+		modifyInfo(type) {
+			let key = null;
+			let value = null;
+			if (type == 'name') {
+				key = 'name';
+				value = this.name;
+			} else if (type == 'notice') {
+				key = 'notice';
+				value = this.notice;
+				this.isModify = !this.isModify;
+			} else if(type =="nickName"){
+				key = 'nickName';
+				value = this.nickName;
+			}
+			this.$emit('modify', { [key]: value });
+			this.show()
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.modifybox {
+	position: fixed;
+	bottom: -100vh;
+	left: 0rpx;
+	right: 0rpx;
+	height: 100vh;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	z-index: 1000;
+	.mask {
+		position: absolute;
+		bottom: 0rpx;
+		left: 0rpx;
+		right: 0rpx;
+		height: 100vh;
+		background: rgba(0, 0, 0, 0.5);
+		opacity: 0;
+	}
+	.content {
+		background: white;
+		width: 80vw;
+		height: auto;
+		padding-bottom: 20rpx;
+		box-sizing: border-box;
+		position: relative;
+		display: block;
+		.m_title {
+			height: 80rpx;
+			line-height: 80rpx;
+			width: 100%;
+			border-bottom: 2rpx solid #ccc;
+			text-align: center;
+			// background: red;
+		}
+		.close {
+			position: absolute;
+			top: 0rpx;
+			right: 0;
+			width: 80rpx;
+			height: 80rpx;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			image {
+				height: 50rpx;
+				width: 50rpx;
+			}
+		}
+	}
+	.name {
+		margin: 30rpx;
+		margin-top: 40rpx;
+		width: calc(100% - 60rpx);
+		font-size: 32rpx;
+		.namebox {
+			border: 2rpx solid #ccc;
+			input {
+				padding: 10rpx 5%;
+				text-align: center;
+			}
+		}
+	}
+	.notice-btn {
+		margin-top: 30rpx;
+		display: flex;
+		justify-content: center;
+		.modify-btn {
+			padding: 10rpx;
+			background: red;
+			color: white;
+			width: 100rpx;
+			text-align: center;
+		}
+		.confirm-btn {
+			padding: 10rpx;
+			background: #5a9bec;
+			color: white;
+			width: 100rpx;
+			text-align: center;
+		}
+	}
+	.notice {
+		margin: 0rpx 30rpx;
+		width: calc(100% - 60rpx);
+		font-size: 32rpx;
+		.notice-content {
+			margin-top: 40rpx;
+		}
+		.notice-text {
+			margin-top: 40rpx;
+			// height: 80rpx;
+			border: 2rpx solid #ccc;
+			textarea {
+				max-height: 300rpx;
+				width: 90%;
+				padding: 10rpx 5%;
+			}
+		}
+	}
+	.nickName {
+		margin: 30rpx;
+		margin-top: 40rpx;
+		width: calc(100% - 60rpx);
+		font-size: 32rpx;
+		.nickbox {
+			border: 2rpx solid #ccc;
+			input {
+				padding: 10rpx 5%;
+				text-align: center;
+			}
+		}
+	}
+}
+</style>
diff --git a/pages/groupChat/newGroup/newGroup.vue b/pages/groupChat/newGroup/newGroup.vue
index fbdc103..c104a85 100644
--- a/pages/groupChat/newGroup/newGroup.vue
+++ b/pages/groupChat/newGroup/newGroup.vue
@@ -1,21 +1,41 @@
 <template>
 	<view class="registerUser">
-		<u-form :model="form" ref="uForm">
-			<u-form-item :label="item.title" :prop="item.froms" label-width="200" :left-icon="item.img"
-				:required="item.requireds" v-for="(item, index) in list" :key="index">
-				<u-input v-model="form[item.froms]" :placeholder="item.placeholder" />
-			</u-form-item>
-			<u-form-item label="群成员" prop="role" left-icon="man-add" label-width="200" :required="true">
-				<u-checkbox-group @change="checkboxGroupChange">
+
+		<view class="group-chat-box">
+
+			<u-form :model="form" ref="uForm">
+
+				<u-checkbox-group @change="checkboxGroupChange" :wrap='true' :size="40">
+
 					<u-checkbox v-model="item.checked" v-for="(item, index) in friend" :key="index"
-						:name="item.friendid">
-						{{item.realName}}
+						:name="item.friendid" shape="circle"
+						style="padding: 16rpx 0; height: 92rpx; position: relative; box-sizing: border-box;">
+
+						<view class="head-wrap">
+							<image
+								:src="item.avatar == '' ? 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c' : item.avatar" />
+						</view>
+
+						<view style="margin-left: 106rpx">
+							{{item.realName}}
+						</view>
+
 					</u-checkbox>
 				</u-checkbox-group>
-			</u-form-item>
-		</u-form>
-		<u-button class="submit" @click="submit">
-			创建</u-button>
+
+			</u-form>
+
+		</view>
+
+
+		<view class="establish-box">
+
+			<u-button class="submit" type='primary' @click="submit">
+				立即创建
+			</u-button>
+
+		</view>
+
 	</view>
 </template>
 
@@ -25,53 +45,11 @@
 		data() {
 			return {
 				friend: [],
-				list: [{
-						title: '群名称',
-						img: 'chat',
-						froms: 'groupname',
-						requireds: true,
-						placeholder: '请输入群名称'
-					},
-					{
-						title: '群介绍',
-						img: 'order',
-						froms: 'groupcontent',
-						requireds: true,
-						placeholder: '请输入群介绍'
-					},
-					{
-						title: '群公告',
-						img: 'bell',
-						froms: 'groupnotice',
-						requireds: true,
-						placeholder: '请输入群公告'
-					},
-				],
 				form: {
 					groupname: '',
 					groupcontent: '',
 					groupnotice: '',
 					groupmember: '',
-				},
-				rules: {
-					groupname: [{
-						required: true,
-						message: '请输入群名称',
-						// 可以单个或者同时写两个触发验证方式 
-						trigger: ['change', 'blur'],
-					}],
-					groupcontent: [{
-						required: true,
-						message: '请输入群介绍',
-						// 可以单个或者同时写两个触发验证方式 
-						trigger: ['change', 'blur'],
-					}],
-					groupnotice: [{
-						required: true,
-						message: '请输入群公告',
-						// 可以单个或者同时写两个触发验证方式 
-						trigger: ['change', 'blur'],
-					}]
 				},
 			}
 		},
@@ -84,34 +62,30 @@
 		methods: {
 			submit() {
 				var that = this;
-				this.$refs.uForm.validate(valid => {
-					if (valid) {
-						var d = that.form;
-						if (d.groupmember == "") {
-							uni.showToast({
-								title: '请至少选择一个群成员',
-								icon: "none",
-								duration: 1000
-							});
-							return;
-						}
-						d.time = that.currTime();
-						d.groupid = WxStorage.get("ids");
-						uni.request({
-							url: that.$store.state.piAPI + "/chatgroup/submit",
-							method: "POST",
-							data: d,
-							success: (res) => {
-								uni.showToast({
-									title: '创建成功',
-									icon: "none",
-									duration: 1000
-								});
+				var d = that.form;
+				if (d.groupmember == "") {
+					uni.showToast({
+						title: '请至少选择一个群成员',
+						icon: "none",
+						duration: 1000
+					});
+					return;
+				}
+				d.time = that.currTime();
+				d.groupid = WxStorage.get("ids");
+				uni.request({
+					url: that.$store.state.piAPI + "/chatgroup/submit",
+					method: "POST",
+					data: d,
+					success: (res) => {
+						uni.showToast({
+							title: '创建成功',
+							icon: "none",
+							duration: 1000
+						});
 
-								uni.switchTab({
-									url: '/pages/groupChat/groupChat?'
-								});
-							}
+						uni.switchTab({
+							url: '/pages/groupChat/groupChat?'
 						});
 					}
 				});
@@ -144,7 +118,19 @@
 					},
 					success: (res) => {
 						var resdata = res.data.data.records;
+
 						that.friend = resdata;
+
+						var str = '';
+						resdata.forEach((item, index) => {
+
+							if (index > 2) return;
+
+							str += item.realName + '、';
+
+						})
+
+						this.form.groupname = (str.substr(0, str.length - 1) + '···')
 					}
 				})
 			}
@@ -152,7 +138,9 @@
 	}
 </script>
 
-<style>
+<style lang="scss">
+	@import '../../../common/style/common.scss';
+	
 	.warp {
 		display: flex;
 		align-items: center;
@@ -167,34 +155,65 @@
 	}
 
 	.submit {
-		margin: 30rpx 50rpx 50rpx;
 		border: none;
-		width: 572rpx;
+		width: 94%;
 		height: 86rpx;
 		line-height: 86rpx;
 		box-sizing: border-box;
 		border-radius: 15rpx;
-		background-color: #14b9c8;
 		color: #ffffff;
+		font-size: 38rpx;
 
-		&::after {
-			content: none;
-		}
-
-		&::before {
-			content: none;
-		}
-
-		&[disabled='true'] {
-			background: #e4e4e4;
-			font-size: 36rpx;
-			font-family: Source Han Sans CN;
-			font-weight: 500;
-			color: #ffffff;
-		}
 	}
 
 	.registerUser {
-		padding: 0 1.2rem;
+		height: 100%;
+		background: #f7f7f7;
+
+		.group-chat-box {
+			height: calc(100% - 116rpx);
+			padding: 0 1.2rem;
+			box-sizing: border-box;
+			overflow-y: auto;
+		}
+
+		.establish-box {
+			position: relative;
+			height: 116rpx;
+			background: #fff;
+			text-align: center;
+
+			uni-button {
+				margin: 0;
+				position: absolute;
+				top: 0;
+				left: 0;
+				right: 0;
+				bottom: 0;
+				margin: auto;
+			}
+
+		}
+	}
+
+	.head-wrap {
+		position: absolute;
+		top: 0;
+		left: 66rpx;
+		bottom: 0;
+		right: auto;
+		margin: auto;
+		width: 66rpx;
+		height: 66rpx;
+		border-radius: 50%;
+		background: #e7e7e7;
+
+		uni-image {
+			width: 66rpx;
+			height: 66rpx;
+			border-radius: 50%;
+
+			vertical-align: middle;
+		}
 	}
 </style>
diff --git "a/pages/home/home - \345\211\257\346\234\254.vue" b/pages/home/home - f.vue
similarity index 100%
rename from "pages/home/home - \345\211\257\346\234\254.vue"
rename to pages/home/home - f.vue
diff --git a/pages/home/home.vue b/pages/home/home.vue
index fb6a7dd..e3d008b 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -2,26 +2,27 @@
 	<view class="container">
 		<!-- 头部 start -->
 		<view class="head">
-			<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title=""
-				:background="{ background: '#0BB9C8' }">
+			<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title="智慧保安"
+				:background="{ background: '#0BB9C8' }" title-color="#fff" title-size='32rpx' title-bold>
 				<view class="nav-wrap">
-					<picker mode="selector" :range="positionArr" range-key="name" @change="changePicker"
+					<!-- <picker mode="selector" :range="positionArr" range-key="name" @change="changePicker"
 						class="picker-box">
 						{{ position }}
 						<u-icon name="arrow-down" class="arrow" size="18" color="#C9C9C9"></u-icon>
-					</picker>
-					<image src="/static/images/rider.png" class="rider" mode="widthFix" v-if="!focus"></image>
+					</picker> -->
+					
+					<!-- <image src="/static/images/rider.png" class="rider" mode="widthFix" v-if="!focus"></image>
 
 					<view class="search-input" v-else>
 						<u-search height="50" placeholder="关键字" @blur="handleSearchBlur" :show-action="false"
 							v-model="keyword"></u-search>
-					</view>
+					</view> -->
 
 					<view class="tool">
-						<image src="/static/images/home/search.png" class="icon search-icon" mode="widthFix"
-							@click="handleFocus" v-if="!focus"></image>
+					<!-- 	<image src="/static/images/home/search.png" class="icon search-icon" mode="widthFix"
+							@click="handleFocus" v-if="!focus"></image> -->
 						<image src="/static/images/home/message.png" class="icon message-icon" mode="widthFix"></image>
-						<image src="/static/images/home/qr.png" class="icon qr-icon" mode="widthFix"></image>
+						<!-- <image src="/static/images/home/qr.png" class="icon qr-icon" mode="widthFix"></image> -->
 					</view>
 				</view>
 			</u-navbar>
@@ -224,29 +225,29 @@
 			//页面跳转
 			goBusinessPage(url, index, name) {
 				// console.log(url,index)
-				if (name == "位置查看") {
-					uni.request({
-						url: this.$store.state.piAPI + "/blade-user/page",
-						method: "get",
-						data: {
-							size: 99999
-						},
-						success: (res) => {
-							var re = res.data.data.records;
-							var d = [];
-							for (var k in re) {
-								if (re[k].latitude != '' && re[k].longitude != '') {
-									d.push(re[k]);
-								}
-							}
-							console.log(d);
-							uni.navigateTo({
-								url: `${url}?data=${JSON.stringify(d)}`
-							})
-						}
-					})
-					return;
-				}
+				// if (name == "位置查看") {
+				// 	uni.request({
+				// 		url: this.$store.state.piAPI + "/blade-user/page",
+				// 		method: "get",
+				// 		data: {
+				// 			size: 99999
+				// 		},
+				// 		success: (res) => {
+				// 			var re = res.data.data.records;
+				// 			var d = [];
+				// 			for (var k in re) {
+				// 				if (re[k].latitude != '' && re[k].longitude != '') {
+				// 					d.push(re[k]);
+				// 				}
+				// 			}
+				// 			console.log(d);
+				// 			uni.navigateTo({
+				// 				url: `${url}?data=${JSON.stringify(d)}`
+				// 			})
+				// 		}
+				// 	})
+				// 	return;
+				// }
 
 				uni.navigateTo({
 					url: url
diff --git a/pages/manage/manage.vue b/pages/manage/manage.vue
index b2fb72a..6a5152c 100644
--- a/pages/manage/manage.vue
+++ b/pages/manage/manage.vue
@@ -1,31 +1,22 @@
 <template>
 	<view class="container">
-		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title="管理"
+		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title="工作台"
 			:background="{ background: '#0BB9C8' }" title-color="#fff">
-			<image slot="right" src="/static/images/home/message.png" class="message-icon" mode="widthFix"></image>
 		</u-navbar>
 
-		<view class="tab">
-			<u-tabs :list="list" :is-scroll="false" :current="current" active-color="#14B9C8" inactive-color="#595959"
-				height="100" @change="change"></u-tabs>
-		</view>
+		<scroll-view id="swiperBox" :style="{ height: swiperHeight + 'px' }" scroll-y>
+			<view class="content">
+				<u-grid :col="3">
+					<u-grid-item v-for="(_item, _index) in gridList" :key="_index">
+						<navigator :url="_item.url" hover-class="none" class="gitem">
+							<image :src="_item.img" class="img" mode="widthFix"></image>
+							<view class="name">{{ _item.name }}</view>
+						</navigator>
+					</u-grid-item>
+				</u-grid>
+			</view>
+		</scroll-view>
 
-		<swiper id="swiperBox" :style="{ height: swiperHeight + 'px' }" :current="current" @change="tabsChange">
-			<swiper-item class="swiper-item" v-for="(item, index) in list" :key="index">
-				<scroll-view scroll-y style="width: 100%;height: 100%;" @scrolltolower="onreachBottom">
-					<view class="content">
-						<u-grid :col="3">
-							<u-grid-item v-for="(_item, _index) in gridList" :key="_index">
-								<navigator url="" hover-class="none" class="gitem">
-									<image :src="_item.img" class="img" mode="widthFix"></image>
-									<view class="name">{{ _item.name }}</view>
-								</navigator>
-							</u-grid-item>
-						</u-grid>
-					</view>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
 	</view>
 </template>
 
@@ -34,41 +25,37 @@
 		data() {
 			return {
 				swiperHeight: 0,
-				list: [{
-						name: '常用'
-					},
-					{
-						name: '系统'
-					},
-					{
-						name: '部门'
-					}
-				],
-				current: 0,
+
 				gridList: [{
-						name: '常规',
-						img: '/static/images/manage/g1.png'
+						name: '通知通告',
+						img: '/static/images/manage/g8.png',
+						url: '/pages/message/addMessage'
 					},
 					{
-						name: '权限',
-						img: '/static/images/manage/g2.png'
+						name: '人员检查',
+						img: '/static/images/manage/g7.png',
+						url: '/pages/examine/addpeople'
 					},
 					{
-						name: '角色',
-						img: '/static/images/manage/g3.png'
+						name: '单位检查',
+						img: '/static/images/manage/g9.png',
+						url: '/pages/examine/addunit'
 					},
 					{
-						name: '用户',
-						img: '/static/images/manage/g4.png'
+						name: '指令下发',
+						img: '/static/images/manage/g10.png',
+						url: '/pages/dispatch/dispatch'
 					},
 					{
-						name: '分类',
-						img: '/static/images/manage/g5.png'
+						name: '工作汇报',
+						img: '/static/images/manage/g11.png',
+						url: '/pages/report/initiate'
 					},
 					{
-						name: '公告',
-						img: '/static/images/manage/g6.png'
-					}
+						name: '位置查看',
+						img: '/static/images/manage/g12.png',
+						url: '/pages/map/map'
+					},
 				]
 			};
 		},
@@ -93,12 +80,7 @@
 			});
 		},
 		methods: {
-			tabsChange(e) {
-				this.current = e.detail.current;
-			},
-			change(index) {
-				this.current = index;
-			}
+
 		}
 	};
 </script>
@@ -106,16 +88,6 @@
 <style lang="scss">
 	.swiper-box {
 		height: 100vh;
-	}
-
-	.message-icon {
-		width: 32rpx;
-		height: auto;
-		margin-right: 27rpx;
-	}
-
-	.tab {
-		margin-bottom: 10rpx;
 	}
 
 	.gitem {
diff --git a/pages/map/map.vue b/pages/map/map.vue
index 51d5a86..b3e1c8a 100644
--- a/pages/map/map.vue
+++ b/pages/map/map.vue
@@ -15,10 +15,12 @@
 		methods: {},
 		mounted() {},
 		onLoad: function(options) {
-			
+
+						
 			this.urls = "http://web.byisf.com/mapWz/xcxmap.html?id="+ this.$store.state.UserData.jurisdiction + "&userid="+ this.$store.state.UserData.role_id;
-			// this.urls = "http://127.0.0.1:5500/mapWz/xcxmap.html?id="+ this.$store.state.UserData.jurisdiction + "&userid="+ this.$store.state.UserData.role_id;
-			
+			// this.urls = "http://127.0.0.1:5500/mapWz/xcxmap.html?id=" + this.$store.state.UserData.jurisdiction +
+			// 	"&userid=" + this.$store.state.UserData.role_id;
+
 		},
 	}
 </script>
diff --git "a/pages/securityStaff/exhibition - \345\211\257\346\234\254.vue" b/pages/securityStaff/exhibition - f.vue
similarity index 100%
rename from "pages/securityStaff/exhibition - \345\211\257\346\234\254.vue"
rename to pages/securityStaff/exhibition - f.vue
diff --git a/pages/securityStaff/exhibition.vue b/pages/securityStaff/exhibition.vue
index 60944eb..0190213 100644
--- a/pages/securityStaff/exhibition.vue
+++ b/pages/securityStaff/exhibition.vue
@@ -100,6 +100,9 @@
 					url: that.$store.state.piAPI + "/blade-user/pages",
 					method: "get",
 					data: {
+						dispatch: 0,
+						jurisdiction: this.$store.state
+							.UserData.jurisdiction,
 						current: that.pagelist,
 						size: 10
 					},
@@ -107,7 +110,7 @@
 						that.pages = res.data.data.pages;
 
 						var resdata = res.data.data.records;
-						
+
 						if (this.pullDown == true) {
 							this.pullDown = false;
 							uni.stopPullDownRefresh();
@@ -152,7 +155,10 @@
 						data: {
 							current: 1,
 							size: 999999,
-							realName: str
+							realName: str,
+							dispatch: 0,
+							jurisdiction: this.$store.state
+								.UserData.jurisdiction,
 						},
 						success: (res) => {
 
diff --git a/pages/user/center.vue b/pages/user/center.vue
index 762848d..018273c 100644
--- a/pages/user/center.vue
+++ b/pages/user/center.vue
@@ -23,22 +23,22 @@
 			</view>
 			<!-- 操作按钮 -->
 			<view class="nav">
-				<navigator url="" hover-class="none" class="nav-item">
+	<!-- 			<navigator url="" hover-class="none" class="nav-item">
 					<image src="/static/images/user/n1.png" class="icon" mode=""></image>
 					<view class="name">我的消息</view>
 				</navigator>
 				<navigator url="" hover-class="none" class="nav-item">
 					<image src="/static/images/user/n2.png" class="icon" mode=""></image>
 					<view class="name">我的待办</view>
-				</navigator>
+				</navigator> -->
 				<navigator url="" hover-class="none" class="nav-item">
 					<image src="/static/images/user/n3.png" class="icon" mode=""></image>
 					<view class="name">我的地址</view>
 				</navigator>
-				<navigator url="" hover-class="none" class="nav-item">
+				<!-- <navigator url="" hover-class="none" class="nav-item">
 					<image src="/static/images/user/n4.png" class="icon" mode=""></image>
 					<view class="name">我的收藏</view>
-				</navigator>
+				</navigator> -->
 			</view>
 		</view>
 		<!-- 功能列表 -->
@@ -60,9 +60,9 @@
 				<!-- <u-cell-item title="推荐">
 					<image slot="icon" src="/static/images/user/c4.png" class="icon" mode=""></image>
 				</u-cell-item> -->
-				<u-cell-item title="评分">
+				<!-- <u-cell-item title="评分">
 					<image slot="icon" src="/static/images/user/c5.png" class="icon" mode=""></image>
-				</u-cell-item>
+				</u-cell-item> -->
 				<u-cell-item title="隐私">
 					<image slot="icon" src="/static/images/user/c6.png" class="icon" mode=""></image>
 				</u-cell-item>
diff --git "a/pages/videoCall/\350\207\252\345\267\261\345\206\231\345\205\250.vue" b/pages/videoCall/mylyg.vue
similarity index 100%
rename from "pages/videoCall/\350\207\252\345\267\261\345\206\231\345\205\250.vue"
rename to pages/videoCall/mylyg.vue
diff --git "a/pages/videoCall/videoCall - \345\211\257\346\234\254.vue" b/pages/videoCall/videoCall - f.vue
similarity index 100%
rename from "pages/videoCall/videoCall - \345\211\257\346\234\254.vue"
rename to pages/videoCall/videoCall - f.vue
diff --git a/pages/videoCall/videoCall.nvue b/pages/videoCall/videoCall.nvue
index 4b6805a..142a707 100644
--- a/pages/videoCall/videoCall.nvue
+++ b/pages/videoCall/videoCall.nvue
@@ -225,6 +225,7 @@
 			// this.init();
 		},
 		onLoad(option) {
+
 			var that = this;
 			that.toName = option.toname;
 			that.callname = option.callname;
@@ -235,6 +236,9 @@
 				return
 			}
 			console.log(option.state);
+			
+		
+
 			if (option.state == "Mains") {
 
 				that.jieshouid = option.toname;
@@ -270,8 +274,17 @@
 								icon: 'none'
 							});
 							setTimeout(res => {
-								uni.navigateBack();
-								// console.log(111)
+								
+								let routes = getCurrentPages();
+								
+								let curRoute = routes[routes.length - 1].route;
+								
+								if(curRoute.indexOf('/videoCall/videoCall') != -1) {
+									
+									uni.navigateBack();
+									
+								}
+								
 							}, 2000)
 
 						} else if (d.res == 1) {
@@ -279,7 +292,6 @@
 							console.log('对方在线-- 等待对方接受', d);
 							// call = true;
 							setTimeout(res => {
-								// uni.navigateBack();
 								// console.log(111)
 								that.join();
 								console.log('成功进入')
@@ -288,57 +300,6 @@
 					}
 				})
 
-
-				uni.onSocketMessage(function(res) {
-					console.log(res.data);
-					var data = JSON.parse(res.data)
-					// if (call && ) {
-
-					// }
-					// console.log(that,1111111111111)
-					if (data.type == 'close') {
-
-						console.log('对方已挂断');
-						// RtcModule.leaveChannel((res) => {});
-						// that.closeAll();
-					
-						
-						
-						RtcModule.leaveChannel((res) => {
-							console.log('成功退出房间');
-							// uni.navigateBack();
-						})
-						// await RtcModule.destroyRtc((res) => {});
-						that.videoShow = false; //视频展示
-						// this.videoShowBg = true; //背景展示
-						that.promptText = "loading...";
-						
-						that.PeerVideoUser = []; //远端用户加入存储
-						// 本地
-						that.audioSwitch = "open"; //音频开关 
-						that.vedioSwitch = "open"; //视频开关
-						// 重新创建实例
-						that.init();
-						// 如果需要跳转其它页面请按下边步骤
-						// await uni.redirectTo({
-						// url: '..',
-						// uni.showToast({
-						// 	title: '正在退出视频',
-						// 	duration: 2000,
-						// 	icon: 'none'
-						// });
-						// success: () => {
-						
-						// uni.navigateBack();
-						RtcModule.destroyRtc((res) => {
-							console.log("页面销毁", res.code);
-							console.log('成功销毁')
-							// uni.navigateBack();
-						});
-							uni.navigateBack();
-						
-					}
-				});
 
 
 				// }, 5000)
@@ -351,7 +312,57 @@
 				that.jieshouid = that.$store.state.puserID;
 				that.init();
 				that.isMain = false;
+
+
+
+
 			}
+
+
+
+			uni.onSocketMessage(function(res) {
+				console.log(res.data);
+				var data = JSON.parse(res.data)
+				// if (call && ) {
+
+				// }
+				// console.log(that,1111111111111)
+
+
+				if (data.type == 'close') {
+
+					// await RtcModule.destroyRtc((res) => {});
+					that.videoShow = false; //视频展示
+					// this.videoShowBg = true; //背景展示
+					that.promptText = "loading...";
+
+					that.PeerVideoUser = []; //远端用户加入存储
+					// 本地
+					that.audioSwitch = "open"; //音频开关 
+					that.vedioSwitch = "open"; //视频开关
+
+					RtcModule.leaveChannel((res) => {
+					})
+
+					RtcModule.destroyRtc((res) => {
+					});
+					
+					let routes = getCurrentPages();
+					
+					let curRoute = routes[routes.length - 1].route;
+					
+					if(curRoute.indexOf('/videoCall/videoCall') != -1) {
+						
+						uni.navigateBack();
+						
+					}
+
+				}
+
+			});
+
+
+
 		},
 
 		watch: {
@@ -474,19 +485,22 @@
 			},
 			// 等待时候挂断
 			phoneFnMain() {
-				// RtcModule.leaveChannel((res) => {});
-				console.log("等待时候挂断");
-				uni.navigateBack();
-				// this.closeAll();
+
+				var data = {
+					sentId: this.faqiid,
+					acceptId: this.jieshouid
+				}
+
 				uni.request({
 					url: this.$store.state.api + '/pushMsg/closeVideoCall',
 					data: data,
 					success: (res) => {
-						// RtcModule.leaveChannel((res) => {});
-						// this.closeAll();
-						console.log(res, '成功关闭');
+
+						this.closeAll();
+
 					}
 				})
+
 			},
 			joinit() { //接受进入视频
 				// 传输接受的值
@@ -497,50 +511,41 @@
 			//拒绝进入视频
 			comeBack() {
 
-
-				// 传输拒绝的值
-
-
-				console.log("拒绝进入视频");
-				uni.navigateBack();
 				var data = {
 					sentId: this.faqiid,
 					acceptId: this.jieshouid
 				}
-				// uni.navigateBack();
+
 				uni.request({
 					url: this.$store.state.api + '/pushMsg/closeVideoCall',
 					data: data,
 					success: (res) => {
-						// RtcModule.leaveChannel((res) => {});
-						// this.closeAll();
-						console.log(res, '成功关闭');
+
+						this.closeAll();
+
 					}
 				})
 
-				// RtcModule.leaveChannel((res) => {});
-				// this.closeAll();
 			},
 
 			// 挂断 离开
 			phoneFn() {
-				//离开频道
-				// RtcModule.leaveChannel((res) => {});
-				// this.closeAll();
+
 				var data = {
 					sentId: this.faqiid,
 					acceptId: this.jieshouid
 				}
-				uni.navigateBack();
+
 				uni.request({
 					url: this.$store.state.api + '/pushMsg/closeVideoCall',
 					data: data,
 					success: (res) => {
-						// RtcModule.leaveChannel((res) => {});
-						// this.closeAll();
-						console.log(res, '成功关闭');
+
+						this.closeAll();
+
 					}
 				})
+
 			},
 
 			//添加本地视频到页面
@@ -696,13 +701,7 @@
 				return this.userName;
 			},
 			// 离开清空
-			async closeAll() {
-				// 销毁实例
-				// uni.navigateBack();
-				await RtcModule.leaveChannel((res) => {
-					// uni.navigateBack();
-				})
-				// await RtcModule.destroyRtc((res) => {});
+			closeAll() {
 				this.videoShow = false; //视频展示
 				// this.videoShowBg = true; //背景展示
 				this.promptText = "loading...";
@@ -711,26 +710,26 @@
 				// 本地
 				this.audioSwitch = "open"; //音频开关 
 				this.vedioSwitch = "open"; //视频开关
-				// 重新创建实例
-				await this.init();
-				// 如果需要跳转其它页面请按下边步骤
-				// await uni.redirectTo({
-				// url: '..',
-				// uni.showToast({
-				// 	title: '正在退出视频',
-				// 	duration: 2000,
-				// 	icon: 'none'
-				// });
-				// success: () => {
+				
 
-				// uni.navigateBack();
+				RtcModule.leaveChannel((res) => {
+				})
+
 				RtcModule.destroyRtc((res) => {
 					console.log("页面销毁", res.code);
 					console.log('成功关闭')
-					// uni.navigateBack();
 				});
-				// }
-				// });
+				
+				
+				let routes = getCurrentPages();
+				
+				let curRoute = routes[routes.length - 1].route;
+				
+				if(curRoute.indexOf('/videoCall/videoCall') != -1) {
+					
+					uni.navigateBack();
+					
+				}
 
 			},
 			//查看授权
diff --git a/static/images/group/Group.png b/static/images/group/Group.png
new file mode 100644
index 0000000..ac09b13
--- /dev/null
+++ b/static/images/group/Group.png
Binary files differ
diff --git a/static/images/group/addimage.png b/static/images/group/addimage.png
new file mode 100644
index 0000000..1bddc15
--- /dev/null
+++ b/static/images/group/addimage.png
Binary files differ
diff --git a/static/images/group/close.png b/static/images/group/close.png
new file mode 100644
index 0000000..b00f3d2
--- /dev/null
+++ b/static/images/group/close.png
Binary files differ
diff --git a/static/images/group/create.png b/static/images/group/create.png
new file mode 100644
index 0000000..144b64f
--- /dev/null
+++ b/static/images/group/create.png
Binary files differ
diff --git a/static/images/group/groupchat.png b/static/images/group/groupchat.png
new file mode 100644
index 0000000..ff194b5
--- /dev/null
+++ b/static/images/group/groupchat.png
Binary files differ
diff --git a/static/images/group/manager.png b/static/images/group/manager.png
new file mode 100644
index 0000000..16edb9e
--- /dev/null
+++ b/static/images/group/manager.png
Binary files differ
diff --git a/static/images/manage/g10.png b/static/images/manage/g10.png
new file mode 100644
index 0000000..ba9daa4
--- /dev/null
+++ b/static/images/manage/g10.png
Binary files differ
diff --git a/static/images/manage/g11.png b/static/images/manage/g11.png
new file mode 100644
index 0000000..f3c52a0
--- /dev/null
+++ b/static/images/manage/g11.png
Binary files differ
diff --git a/static/images/manage/g12.png b/static/images/manage/g12.png
new file mode 100644
index 0000000..0b1df87
--- /dev/null
+++ b/static/images/manage/g12.png
Binary files differ
diff --git a/static/images/manage/g7.png b/static/images/manage/g7.png
new file mode 100644
index 0000000..2d2016d
--- /dev/null
+++ b/static/images/manage/g7.png
Binary files differ
diff --git a/static/images/manage/g8.png b/static/images/manage/g8.png
new file mode 100644
index 0000000..2bff2a8
--- /dev/null
+++ b/static/images/manage/g8.png
Binary files differ
diff --git a/static/images/manage/g9.png b/static/images/manage/g9.png
new file mode 100644
index 0000000..de5acc0
--- /dev/null
+++ b/static/images/manage/g9.png
Binary files differ
diff --git a/static/images/people.jfif b/static/images/people.jfif
new file mode 100644
index 0000000..b612055
--- /dev/null
+++ b/static/images/people.jfif
Binary files differ
diff --git a/static/images/people.png b/static/images/people.png
new file mode 100644
index 0000000..4f1ba0b
--- /dev/null
+++ b/static/images/people.png
Binary files differ
diff --git a/static/images/tabbar/call.png b/static/images/tabbar/call.png
new file mode 100644
index 0000000..9476cb3
--- /dev/null
+++ b/static/images/tabbar/call.png
Binary files differ
diff --git a/static/images/tabbar/job.png b/static/images/tabbar/job.png
new file mode 100644
index 0000000..e4f685d
--- /dev/null
+++ b/static/images/tabbar/job.png
Binary files differ
diff --git a/static/images/tabbar/select-call.png b/static/images/tabbar/select-call.png
new file mode 100644
index 0000000..e77cd4a
--- /dev/null
+++ b/static/images/tabbar/select-call.png
Binary files differ
diff --git a/static/images/tabbar/select-job.png b/static/images/tabbar/select-job.png
new file mode 100644
index 0000000..0674f58
--- /dev/null
+++ b/static/images/tabbar/select-job.png
Binary files differ
diff --git a/static/tabbar/article.png b/static/tabbar/article.png
new file mode 100644
index 0000000..d22eb75
--- /dev/null
+++ b/static/tabbar/article.png
Binary files differ
diff --git a/static/tabbar/articleH.png b/static/tabbar/articleH.png
new file mode 100644
index 0000000..84a8e7e
--- /dev/null
+++ b/static/tabbar/articleH.png
Binary files differ
diff --git a/static/tabbar/business.png b/static/tabbar/business.png
new file mode 100644
index 0000000..ae5ffe4
--- /dev/null
+++ b/static/tabbar/business.png
Binary files differ
diff --git a/static/tabbar/businessH.png b/static/tabbar/businessH.png
new file mode 100644
index 0000000..8d5759c
--- /dev/null
+++ b/static/tabbar/businessH.png
Binary files differ
diff --git a/static/tabbar/home.png b/static/tabbar/home.png
new file mode 100644
index 0000000..1016814
--- /dev/null
+++ b/static/tabbar/home.png
Binary files differ
diff --git a/static/tabbar/homeHL.png b/static/tabbar/homeHL.png
new file mode 100644
index 0000000..6ac3235
--- /dev/null
+++ b/static/tabbar/homeHL.png
Binary files differ
diff --git a/static/tabbar/index-03.png b/static/tabbar/index-03.png
new file mode 100644
index 0000000..0e920db
--- /dev/null
+++ b/static/tabbar/index-03.png
Binary files differ
diff --git a/static/tabbar/index01.png b/static/tabbar/index01.png
new file mode 100644
index 0000000..0942770
--- /dev/null
+++ b/static/tabbar/index01.png
Binary files differ
diff --git a/static/tabbar/index02.png b/static/tabbar/index02.png
new file mode 100644
index 0000000..9d6ae20
--- /dev/null
+++ b/static/tabbar/index02.png
Binary files differ
diff --git a/static/tabbar/index04.png b/static/tabbar/index04.png
new file mode 100644
index 0000000..95faffa
--- /dev/null
+++ b/static/tabbar/index04.png
Binary files differ
diff --git a/static/tabbar/investigation.png b/static/tabbar/investigation.png
new file mode 100644
index 0000000..d5e1102
--- /dev/null
+++ b/static/tabbar/investigation.png
Binary files differ
diff --git a/static/tabbar/investigation22.png b/static/tabbar/investigation22.png
new file mode 100644
index 0000000..e9dbcc0
--- /dev/null
+++ b/static/tabbar/investigation22.png
Binary files differ
diff --git a/static/tabbar/investigationH.png b/static/tabbar/investigationH.png
new file mode 100644
index 0000000..f983dfb
--- /dev/null
+++ b/static/tabbar/investigationH.png
Binary files differ
diff --git a/static/tabbar/investigationH22.png b/static/tabbar/investigationH22.png
new file mode 100644
index 0000000..9227478
--- /dev/null
+++ b/static/tabbar/investigationH22.png
Binary files differ
diff --git a/static/tabbar/map.png b/static/tabbar/map.png
new file mode 100644
index 0000000..c517c2c
--- /dev/null
+++ b/static/tabbar/map.png
Binary files differ
diff --git a/static/tabbar/mapHL.png b/static/tabbar/mapHL.png
new file mode 100644
index 0000000..2c1e0a2
--- /dev/null
+++ b/static/tabbar/mapHL.png
Binary files differ
diff --git a/static/tabbar/my-blue.png b/static/tabbar/my-blue.png
new file mode 100644
index 0000000..abb0434
--- /dev/null
+++ b/static/tabbar/my-blue.png
Binary files differ
diff --git a/static/tabbar/my.png b/static/tabbar/my.png
new file mode 100644
index 0000000..8c9cf5d
--- /dev/null
+++ b/static/tabbar/my.png
Binary files differ
diff --git a/static/tabbar/patrol-blue.png b/static/tabbar/patrol-blue.png
new file mode 100644
index 0000000..da3ef4b
--- /dev/null
+++ b/static/tabbar/patrol-blue.png
Binary files differ
diff --git a/static/tabbar/patrol.png b/static/tabbar/patrol.png
new file mode 100644
index 0000000..da1eb8a
--- /dev/null
+++ b/static/tabbar/patrol.png
Binary files differ
diff --git a/static/tabbar/user.png b/static/tabbar/user.png
new file mode 100644
index 0000000..609bb1a
--- /dev/null
+++ b/static/tabbar/user.png
Binary files differ
diff --git a/static/tabbar/userHL.png b/static/tabbar/userHL.png
new file mode 100644
index 0000000..907abb0
--- /dev/null
+++ b/static/tabbar/userHL.png
Binary files differ
diff --git a/static/tabbar/workbench.png b/static/tabbar/workbench.png
new file mode 100644
index 0000000..8676ea1
--- /dev/null
+++ b/static/tabbar/workbench.png
Binary files differ
diff --git a/static/tabbar/workbenchH.png b/static/tabbar/workbenchH.png
new file mode 100644
index 0000000..c52e750
--- /dev/null
+++ b/static/tabbar/workbenchH.png
Binary files differ
diff --git a/static/workbench/addressbook.png b/static/workbench/addressbook.png
new file mode 100644
index 0000000..e5e84ad
--- /dev/null
+++ b/static/workbench/addressbook.png
Binary files differ
diff --git a/static/workbench/bracket.png b/static/workbench/bracket.png
new file mode 100644
index 0000000..0a7375a
--- /dev/null
+++ b/static/workbench/bracket.png
Binary files differ
diff --git a/static/workbench/daka.png b/static/workbench/daka.png
new file mode 100644
index 0000000..41bc1ef
--- /dev/null
+++ b/static/workbench/daka.png
Binary files differ
diff --git a/static/workbench/feedback01.png b/static/workbench/feedback01.png
new file mode 100644
index 0000000..7f5d536
--- /dev/null
+++ b/static/workbench/feedback01.png
Binary files differ
diff --git a/static/workbench/huojian.png b/static/workbench/huojian.png
new file mode 100644
index 0000000..50b127e
--- /dev/null
+++ b/static/workbench/huojian.png
Binary files differ
diff --git a/static/workbench/luxian.png b/static/workbench/luxian.png
new file mode 100644
index 0000000..8f48f1a
--- /dev/null
+++ b/static/workbench/luxian.png
Binary files differ
diff --git a/static/workbench/myself.png b/static/workbench/myself.png
new file mode 100644
index 0000000..ac7b11a
--- /dev/null
+++ b/static/workbench/myself.png
Binary files differ
diff --git a/static/workbench/policeDerails/guanbiimg.png b/static/workbench/policeDerails/guanbiimg.png
new file mode 100644
index 0000000..360bca3
--- /dev/null
+++ b/static/workbench/policeDerails/guanbiimg.png
Binary files differ
diff --git a/static/workbench/policeDerails/shiping11.png b/static/workbench/policeDerails/shiping11.png
new file mode 100644
index 0000000..c94662f
--- /dev/null
+++ b/static/workbench/policeDerails/shiping11.png
Binary files differ
diff --git a/static/workbench/policeDerails/xiangji.png b/static/workbench/policeDerails/xiangji.png
new file mode 100644
index 0000000..6aa4b02
--- /dev/null
+++ b/static/workbench/policeDerails/xiangji.png
Binary files differ
diff --git a/static/workbench/report.png b/static/workbench/report.png
new file mode 100644
index 0000000..da5756a
--- /dev/null
+++ b/static/workbench/report.png
Binary files differ
diff --git a/static/workbench/system.png b/static/workbench/system.png
new file mode 100644
index 0000000..3eb53dd
--- /dev/null
+++ b/static/workbench/system.png
Binary files differ
diff --git a/static/workbench/task.png b/static/workbench/task.png
new file mode 100644
index 0000000..b040a78
--- /dev/null
+++ b/static/workbench/task.png
Binary files differ
diff --git a/static/workbench/task1.png b/static/workbench/task1.png
new file mode 100644
index 0000000..5499846
--- /dev/null
+++ b/static/workbench/task1.png
Binary files differ
diff --git a/static/workbench/task2.png b/static/workbench/task2.png
new file mode 100644
index 0000000..e4c43a7
--- /dev/null
+++ b/static/workbench/task2.png
Binary files differ
diff --git a/static/workbench/task3.png b/static/workbench/task3.png
new file mode 100644
index 0000000..1b63d85
--- /dev/null
+++ b/static/workbench/task3.png
Binary files differ
diff --git a/static/workbench/task4.png b/static/workbench/task4.png
new file mode 100644
index 0000000..4a5167f
--- /dev/null
+++ b/static/workbench/task4.png
Binary files differ
diff --git a/static/workbench/update.png b/static/workbench/update.png
new file mode 100644
index 0000000..3aa2c44
--- /dev/null
+++ b/static/workbench/update.png
Binary files differ
diff --git a/static/workbench/user01.png b/static/workbench/user01.png
new file mode 100644
index 0000000..b50786e
--- /dev/null
+++ b/static/workbench/user01.png
Binary files differ
diff --git a/store/actions.js b/store/actions.js
index 80b9bbd..f39f0a1 100644
--- a/store/actions.js
+++ b/store/actions.js
@@ -65,72 +65,57 @@
 					// data.userPhon = res.user_id;
 
 
-						
-						
+
+
 					// 实时定位获取得方法
+
+					uni.getLocation({
+						type: 'gcj02',
+						geocode: true,
+						success: function(wzres) {
+							uni.request({
+								url: "http://223.82.109.183:2080/api/liveLocation/saveLiveLocationAndLocus",
+								method: "post",
+								data: {
+									type: 1,
+									workerId: res.data.user_id,
+									longitude: wzres.longitude,
+									latitude: wzres.latitude,
+									location: wzres.address.country +
+										wzres.address.province + wzres
+										.address.city + wzres.address
+										.district + wzres.address
+										.street + wzres.address
+										.streetNum
+								}
+							})
+						}
+					});
+
 					setInterval(function() {
 
-						uni.request({
-							type: "get", //接口规定,只能用get
-							async: true, //异步
-							url: "https://apis.map.qq.com/ws/location/v1/ip?key=7WKBZ-QDY62-WEEUG-C7KUN-ADAF5-L5BKZ", //接口地址
-							data: {
-								output: "jsonp"
-							}, //参数格式必须用到output传参为jsonp,否则会报跨域问题
-							dataType: "jsonp",
+						uni.getLocation({
+							type: 'gcj02',
+							geocode: true,
 							success: function(wzres) {
-
-								if (wzres.data.result) {
-
-									uni.request({
-										url: "http://223.82.109.183:2080/api/liveLocation/saveLiveLocationAndLocus",
-										method: "post",
-										data: {
-											type: 1,
-											workerId: res.data.user_id,
-											longitude: wzres.data.result
-												.location.lng,
-											latitude: wzres.data.result
-												.location.lat,
-											location: wzres.data.result
-												.ad_info
-												.province + wzres.data
-												.result.ad_info
-												.city +
-												wzres.data
-												.result
-												.ad_info.district + '测试'
-										}
-									})
-
-								} else {
-									var wzdata = JSON.parse(wzres.data.substring(13,
-										wzres.data
-										.length - 1));
-
-									uni.request({
-										url: "http://223.82.109.183:2080/api/liveLocation/saveLiveLocationAndLocus",
-										method: "post",
-										data: {
-											type: 1,
-											workerId: res.data.user_id,
-											longitude: wzdata.result
-												.location.lng,
-											latitude: wzdata.result.location
-												.lat,
-											location: wzdata.result.ad_info
-												.province + wzdata.result
-												.ad_info.city +
-												wzdata
-												.result
-												.ad_info.district
-										}
-									})
-								}
-
+								uni.request({
+									url: "http://223.82.109.183:2080/api/liveLocation/saveLiveLocationAndLocus",
+									method: "post",
+									data: {
+										type: 1,
+										workerId: res.data.user_id,
+										longitude: wzres.longitude,
+										latitude: wzres.latitude,
+										location: wzres.address.country +
+											wzres.address.province + wzres
+											.address.city + wzres.address
+											.district + wzres.address
+											.street + wzres.address
+											.streetNum
+									}
+								})
 							}
-						})
-
+						});
 
 					}, 30000)
 
diff --git a/store/index.js b/store/index.js
index 23e1888..674c4be 100644
--- a/store/index.js
+++ b/store/index.js
@@ -17,7 +17,7 @@
 const store = new Vuex.Store({
 	// 下面这些值仅为示例,使用过程中请删除
 	state: {
-		
+
 		// 如果上面从本地获取的lifeData对象下有对应的属性,就赋值给state中对应的变量
 		userInfo: lifeData.userInfo ? lifeData.userInfo : {
 			avatar: '',
@@ -36,42 +36,40 @@
 		piAPI: 'http://223.82.109.183:2080/api',
 		api: 'http://223.82.109.183:2080/api',
 		// piAPI: 'http://localhost:81/',
-		// piAPI: 'http://192.168.0.108:81',
+		// piAPI: 'http://192.168.0.103:81',
 		puserName: '',
 		puserID: '',
-		puserIphone:'',
-		avatar:"../../static/logo.png",
+		puserIphone: '',
+		avatar: "../../static/logo.png",
 		UserData: {},
-		tabbar:[{
-				iconPath: "/static/tabbar/index01.png",
-				selectedIconPath: "/static/tabbar/index02.png",
-				text: '首页',
-				pagePath: "/pages/home/home"
+		tabbar: [{
+				pagePath: "pages/home/home",
+				iconPath: "static/images/tabbar/home.png",
+				selectedIconPath: "static/images/tabbar/home_selected.png",
+				text: "首页"
 			},
 			{
-				iconPath: "/static/tabbar/article.png",
-				selectedIconPath: "/static/tabbar/articleH.png",
-				text: '资讯',
-				pagePath: "/pages/article/article"
+				pagePath: "pages/groupChat/groupChat",
+				iconPath: "static/images/tabbar/demo.png",
+				selectedIconPath: "static/images/tabbar/demo_selected.png",
+				text: "聊天"
 			},
 			{
-				iconPath: "/static/tabbar/workbench.png",
-				selectedIconPath: "/static/tabbar/workbenchH.png",
-				text: '工作台',
-				count: 2,
-				isDot: false,
-				pagePath: "/pages/business/business"
+				pagePath: "pages/manage/manage",
+				text: "工作台",
+				iconPath: "static/tabbar/workbench.png",
+				selectedIconPath: "static/tabbar/workbenchH.png"
 			},
 			{
-				iconPath: "/static/tabbar/my.png",
-				selectedIconPath: "/static/tabbar/my-blue.png",
-				text: '我的',
-				pagePath: "/pages/myself/myself"
-			},
+				pagePath: "pages/user/center",
+				iconPath: "static/images/tabbar/user.png",
+				selectedIconPath: "static/images/tabbar/user_selected.png",
+				text: "我的"
+			}
 		]
 	},
 	mutations: mutations,
-	actions:actions
+	actions: actions
 })
 
 export default store
diff --git a/store/mutations.js b/store/mutations.js
index 3f6911d..469ee9b 100644
--- a/store/mutations.js
+++ b/store/mutations.js
@@ -47,44 +47,99 @@
 			state.avatar = data.avatar;
 		}
 		console.log('登入数据传输成功  开始进入连接')
-		
+
+		var url = 'ws://223.82.109.183:2086/websocket';
+
 		uni.connectSocket({
-			url: 'ws://223.82.109.183:2086/websocket'
+			url: url
 			// url: 'ws://192.168.0.111:2086/websocket'
 		});
+
 		var socketOpen = false;
+
+		var heartbeatInterval = null;
+		var reconnect = null;
+
+
+
 		uni.onSocketOpen(function(res) {
 			socketOpen = true;
 			console.log('持续连接成功')
+
+			if (reconnect && reconnect != null) {
+				clearInterval(reconnect)
+			}
+
 			sendSocketMessage();
+
+			// 5秒发送一次心跳
+			heartbeatInterval = setInterval(() => {
+
+				console.log('发送心跳中')
+
+				uni.sendSocketMessage({
+					data: 'ping'
+				});
+
+			}, 5000)
+
 		});
-		
+
+
+		// 监听连接失败
+		uni.onSocketError(function(res) {
+			console.log('WebSocket连接打开失败,请检查!');
+			//停止发送心跳
+
+			if (heartbeatInterval && heartbeatInterval != null) {
+				clearInterval(heartbeatInterval)
+			}
+			//如果不是人为关闭的话,进行重连
+			// if (!_this.isSocketClose) {}
+			reconnect = setInterval(() => { // 断线重连
+
+				console.log(`断线重连中...123`)
+				// 连接
+				uni.connectSocket({
+					url: url,
+				});
+
+			}, 3000)
+		});
+
+
+
+
 		function sendSocketMessage() {
 			var data = {
-						// type: state.puserName,
-						id: state.puserID,
-						type: 'login'
-					}
+				// type: state.puserName,
+
+				id: state.puserID,
+				type: 'login'
+			}
+
 			if (socketOpen) {
 				uni.sendSocketMessage({
 					data: JSON.stringify(data)
 				});
 			}
 		}
-		
+
 		uni.onSocketMessage(function(res) {
 			console.log(res.data);
-			var data  = JSON.parse(res.data)
+			var data = JSON.parse(res.data)
 			if (data.type == 'video') {
 				// this.receiveVideo('Receiver', );
-				console.log('进入接受 跳转',data.type)
+				console.log('进入接受 跳转', data.type)
 				uni.navigateTo({
-					url: '../videoCall/videoCall?state=Receiver&type=' + data.type +'&room=' + data.roomId + '&name=' + data.name + '&faqiid=' + data.faqiid
+					url: '../videoCall/videoCall?state=Receiver&type=' + data.type + '&room=' + data
+						.roomId + '&name=' + data.name + '&faqiid=' + data.faqiid
 				});
 			}
 			// console.log('收到服务器内容:' + res.data);
 		});
-		
+
+
 		//储存用户
 		WxStorage.set("init", "true");
 		WxStorage.set("name", data.userName);
diff --git a/vue.config.js b/vue.config.js
index 2721b03..6ce6dd9 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -12,7 +12,7 @@
 	//       '/api': {
 	//         //本地服务接口地址
 	//         // target: 'http://localhost',
-	//         // target: 'http://192.168.0.114:81',//钟W
+	        // target: 'http://192.168.0.114:81',//钟W
 	//         target: 'http://192.168.0.109:81',//tangW
 	//         // target: 'http://192.168.0.104:80',//唐N
 	//         //远程演示服务地址,可用于直接启动项目

--
Gitblit v1.9.3