Harley 6 жил өмнө
parent
commit
0bd472c46d

+ 1 - 0
service/package.json

@@ -11,6 +11,7 @@
   },
   "dependencies": {
     "axios": "^0.19.0",
+    "clipboard": "^2.0.4",
     "element-ui": "^2.11.1",
     "js-md5": "^0.7.3",
     "less": "^3.9.0",

+ 1 - 1
service/src/components/hader.vue

@@ -96,7 +96,7 @@
 			/************************************************/
 			//退出系统
 			isExit() {
-				this.$store.dispatch("SET_STATEVALUE", '隐身');
+				this.$store.dispatch("SET_STATEVALUE", '在线');
 				this.$store.dispatch("SET_SESSION",[]);//会话列表
 				this.$store.dispatch("SET_OFFLINE",[]);//离线列表
 		  		this.$store.dispatch("SET_TYPE",1);//选择类型(会话/离线)

+ 3 - 3
service/src/main.js

@@ -9,9 +9,9 @@ import frce from '../static/frce';
 // import publicMethods from '../static/publicMethods';
 import 'element-ui/lib/theme-chalk/index.css';
 import axios from 'axios'; //引入axios
-import ports from './api/ports.js' //api接口文档
-import publicMethods from '../static/publicMethods.js'
-import md5 from 'js-md5'
+import ports from './api/ports.js'; //api接口文档
+import publicMethods from '../static/publicMethods.js';
+import md5 from 'js-md5';
 Vue.use(ElementUI);
 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
 Vue.config.productionTip = false;

+ 2 - 1
service/src/pages/SessionHistory.vue

@@ -147,7 +147,7 @@
 
 			// 关键字查询
 			searchText(value){
-				console.log(value);
+				// console.log(value);
 				this.keyText = value;
 				this.getSessionHistory();
 			},
@@ -200,6 +200,7 @@
 				var date = rDate.getDate();
 				if (date < 10) date = "0" + date;
 				this.endTime = (year + "-" + month + "-" + date);
+				console.log(this.endTime);
 			},
 
 			// 获取会话记录

+ 72 - 45
service/src/pages/TheCurrentSession.vue

@@ -141,8 +141,6 @@
 							</el-dialog>
 						</div>
 					</div>
-
-
 					<div class="key column allAlignment">
 						<div class="frce row item-center allAlignment">
 							<div class="row ">
@@ -242,7 +240,7 @@
 					<div style="color:#666;font-weight:bold;font-size:14px;">访问信息</div>
 					<div style="margin-top:10px;color:#999;font-size:14px;" class="userData wrap">
 						<!-- <p>来源:{{session_user_info.website}}</p>  -->
-						<p>IP地址:{{session_user_info.ip}}</p>
+						<p @dblclick="get_ip_Info" class="get_ip" :data-clipboard-text="session_user_info.ip" >IP地址:{{session_user_info.ip}}</p>
 						<p>来源终端:{{session_user_info.system}}-{{session_user_info.browse}}</p>
 					</div>
 
@@ -316,7 +314,7 @@
 
 <script>
 	import "@/css/index.css";
-	// import "../../static/paste.js";
+	import Clipboard from 'clipboard';
 	import {mapState, mapGetters} from 'vuex'; //先要引入
 	import leftNav from "@/components/leftNav";
 	import hader from "@/components/hader";
@@ -364,7 +362,7 @@
 				dialogImageUrl: '', // 放大的图片
 				dialogUrl: false,
 				pasteUrl:'',//截屏图片
-				fit:'contain',//
+				// fit:'contain',//
 			}
 		},
 		/**
@@ -1008,53 +1006,57 @@
 
 			},
 
-			/***qq截图粘贴************/
-			paste(){
-				let _this = this;
-				var imgReader = function( item ){
-					var blob = item.getAsFile(),reader = new FileReader();
-					// 读取文件后将其显示在网页中
-					reader.onload = function( e ){
-						var img = new Image();
-				
-						img.src = e.target.result;
-						_this.dialogPaste =true;
-						_this.pasteUrl = e.target.result;
-						// console.log(img.src)
-						//document.body.appendChild( img );
-					};
-					// 读取文件
-					reader.readAsDataURL( blob );
-				};
-				document.getElementById( 'input' ).addEventListener( 'paste', function( e ){
-					// 添加到事件对象中的访问系统剪贴板的接口
-					let clipboardData = e.clipboardData,
-						i = 0,
-						items, item, types;
-				
-					if( clipboardData ){
-						items = clipboardData.items;
-						if( !items ){
+			/******************qq截图粘贴---获取剪切板数据*****************/
+			getClipboardData( e ){
+				// 添加到事件对象中的访问系统剪贴板的接口
+				let clipboardData = e.clipboardData,
+					i = 0,
+					items, item, types;
+			
+				if( clipboardData ){
+					items = clipboardData.items;
+					if( !items ){
 						return;
-						}
-						item = items[0];
-						// 保存在剪贴板中的数据类型
-						types = clipboardData.types || [];
-						for( ; i < types.length; i++ ){
+					}
+					item = items[0];
+					// 保存在剪贴板中的数据类型
+					types = clipboardData.types || [];
+					for( ; i < types.length; i++ ){
 						if( types[i] === 'Files' ){
 							item = items[i];
 							break;
 						}
-						}
-						// 判断是否为图片数据
-						if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
-						imgReader( item );
-						}
 					}
-				});
+					// 判断是否为图片数据
+					if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
+						this.imgReader( item );
+					}
+				}
+			},
+
+			/**********qq截图粘贴---获取剪切板图片信息进行转换blob***********/
+			imgReader( item ){
+				let _this = this;
+				var blob = item.getAsFile(),reader = new FileReader();
+				// 读取文件后将其显示在网页中
+				reader.onload = function( e ){
+					var img = new Image();
+					img.src = e.target.result;
+					_this.dialogPaste =true;
+					_this.pasteUrl = e.target.result;
+					// console.log(img.src)
+					//document.body.appendChild( img );
+				};
+				// 读取文件
+				reader.readAsDataURL( blob );
+			},
+
+			/*******************qq截图粘贴---监听时间捆绑*****************/
+			paste(){
+				document.getElementById( 'input' ).addEventListener( 'paste',this.getClipboardData);
 			},
 
-			/*****发送截图******/
+			/**********************qq截图粘贴---发送截图*****************/
 			handleClose(done) {
 				this.dialogPaste = false; 
 				let blob = this.$public.dataURItoBlob(this.pasteUrl)
@@ -1062,6 +1064,29 @@
 				var formData = new FormData();
                     formData.append("file", blob);
 				self.upImg(formData);
+			},
+
+			/****************双击获取ip*******************/
+			get_ip_Info(){
+				var clipboard = new Clipboard(".get_ip")
+				clipboard.on('success', e => {
+					// console.log('复制成功')
+					this.$message({
+						message: '复制成功',
+						type: 'success'
+					});
+				// 释放内存
+				clipboard.destroy()
+				})
+				clipboard.on('error', e => {
+				// 不支持复制
+					this.$message({
+				    	message: '该浏览器不支持自动复制',
+						type: 'warning'
+					});
+				// 释放内存
+				clipboard.destroy()
+				})
 			}
 		},
 		/**
@@ -1092,12 +1117,14 @@
 			this.quickReplyInfo();
 			//获取敏感词
 			this.getSensitive();
+			//获取
 			this.frceArr = this.$frce;
+			//调用截图粘贴捆绑方法
 			this.paste();
 			
 		},
 		beforeDestroy(){
-			document.getElementById( 'input' ).removeEventListener('paste')
+			document.getElementById( 'input' ).removeEventListener('paste',this.getClipboardData)
 		},
 
 		/**