From 5672f352d0ba114e2ae96c8cefad6c74ae6d2934 Mon Sep 17 00:00:00 2001
From: unknown <280848880@qq.com>
Date: 星期一, 23 十月 2023 10:38:28 +0800
Subject: [PATCH] 苏州-web:智能安全帽提交

---
 web/src/plugins/public.js |  363 ++++++++++++++++++++++++++++-----------------------
 1 files changed, 196 insertions(+), 167 deletions(-)

diff --git a/web/src/plugins/public.js b/web/src/plugins/public.js
index 10fb130..cd06262 100644
--- a/web/src/plugins/public.js
+++ b/web/src/plugins/public.js
@@ -1,167 +1,196 @@
-import axios from 'axios'
-import Vue from 'vue'
-/**
- * 防抖函数
- */
- export const debounce = (fun, time) => {
-	let timer = null
-	return function() {
-		if(timer) {
-			clearTimeout(timer)
-		}
-		let args = arguments
-		timer = setTimeout(() => {
-			fun.apply(this, args)
-		}, time)
-	}
-}
-
-/**
- * 节流函数
- */
-export const throttle = (fun, time) => {
-	let strTime = 0
-	return function() {
-		let endTime = new Date()
-		let args = arguments
-		if(endTime - strTime > time) {
-			strTime = endTime
-			fun.apply(this, args)
-		}
-	}
-}
-
-/**
- * 动态切换组件尺寸
-*/
-export const changeSize = () => {
-  // let size = ""
-  // let viewWidth = document.documentElement.clientWidth
-  // switch(true) {
-  //   case viewWidth <= 1024:
-  //     size = "mini"
-  //     break;
-  //   case viewWidth <= 1280:
-  //     size = "small"
-  //     break;
-  //   case viewWidth <= 1600:
-  //     size = "medium"
-  //     break;
-  //   default:
-  //     size = ""
-  // }
-  // return size
-	return 'small'
-}
-
-/**
- * 存入/更新cookie信息
- * name: cookie 名称
- * values: cookie 值
- * times: 过期时间
-*/
-export const setCookie = (name, values, times) => {
-	let date = new Date();
-	let params = JSON.stringify(values)
-	date.setTime(date.getTime() + (times * 24 * 60 * 60 * 1000));
-	document.cookie = `${name}=${params};expires=${date.toGMTString()}`;
-}
-
-/**
- * 获取cookie信息
- * name: 存入的cookie名
-*/
-export const getCookie = (name) => {
-	let data = "";
-	let list = document.cookie.split(';');
-	list.forEach(item => {
-		item = item.split('=')
-		if(item[0].replace(/^\s+|\s+$/g,"") === name) {
-			data = JSON.parse(item[item.length - 1])
-		}
-	})
-	return data
-}
-
-/**
- * 处理时间戳
-*/
-export const changeTime = (time) => {
-	const date = new Date(time);
-	console.log(date,'---');
-	let year = date.getFullYear();
-	let month = date.getMonth() + 1;
-	month = month > 9 ? month : `0${month}`;
-	let day = date.getDate() > 9 ? date.getDate() : `0${date.getDate()}`;
-	let hours = date.getHours() > 9 ? date.getHours() : `0${date.getHours()}`;
-	let min = date.getMinutes() > 9 ? date.getMinutes() : `0${date.getMinutes()}`;
-	let sec = date.getSeconds() > 9 ? date.getSeconds() : `0${date.getSeconds()}`;
-	return `${year}-${month}-${day} ${hours}:${min}:${sec}`
-}
-
-/**
- * 下载文件公共方法
-*/
-
-export const downLoadFile = (data, url) => {
-	let link = document.createElement("a")
-	link.style.display = "none";
-	link.href = `${process.env.VUE_APP_BASE_URL}${url}?authcode=${data}`;
-	document.body.appendChild(link)
-	link.click();
-	URL.revokeObjectURL(link.href) // 释放URL 对象
-}
-
-export const downFiles = (data, fileName = 'downLoad', fileType) => {
-	let url = URL.createObjectURL(new Blob([data]))
-	let link = document.createElement("a")
-	link.style.display = "none";
-	link.href = url;
-	link.setAttribute("download", `${fileName}.${fileType}`)
-	document.body.appendChild(link)
-	link.click();
-	URL.revokeObjectURL(link.href) // 释放URL 对象
-}
-
-/**
- * 转二维码(blob流转地址)
- */
-export const tranQr = (val) => {
-	let imageUrl = '';
-	Vue.prototype.$api.Print.getPrintPhone({num:val}).then(res=>{
-		imageUrl = URL.createObjectURL(new Blob([res.data]));
-	})
-	return imageUrl
-}
-
-
-export const downLoadQR = (data, url) => {
-	axios({
-		method: 'get',
-		url: `${process.env.VUE_APP_BASE_URL}${url}?num=${data}`,
-		responseType: 'blob'
-	}).then((res) => {
-		downFiles(res.data, '二维码图片','png')
-	})
-	// let link = document.createElement("a")
-	// link.style.display = "none";
-	// link.href = ;
-	// document.body.appendChild(link)
-	// link.click();
-	// URL.revokeObjectURL(link.href) // 释放URL 对象
-
-	// link.href = `${process.env.VUE_APP_BASE_URL}${url}?num=${data}`;
-	// link.setAttribute("download", '二维码图片.png')
-	// document.body.appendChild(link)
-	// link.click();
-}
-//通过扫描二维码跳转详情页面
-export const downLoadQRDetails = (data,id,typePage, url) => {
-	axios({
-		method: 'get',
-		url: `${process.env.VUE_APP_BASE_URL}${url}?num=${data}&bigDeviceId=${id}&type=${typePage}`,
-		responseType: 'blob'
-	}).then((res) => {
-		downFiles(res.data, '二维码图片','png')
-	})
-}
\ No newline at end of file
+import axios from 'axios'
+import Vue from 'vue'
+/**
+ * 防抖函数
+ */
+ export const debounce = (fun, time) => {
+	let timer = null
+	return function() {
+		if(timer) {
+			clearTimeout(timer)
+		}
+		let args = arguments
+		timer = setTimeout(() => {
+			fun.apply(this, args)
+		}, time)
+	}
+}
+
+/**
+ * 节流函数
+ */
+export const throttle = (fun, time) => {
+	let strTime = 0
+	return function() {
+		let endTime = new Date()
+		let args = arguments
+		if(endTime - strTime > time) {
+			strTime = endTime
+			fun.apply(this, args)
+		}
+	}
+}
+
+/**
+ * 动态切换组件尺寸
+*/
+export const changeSize = () => {
+  // let size = ""
+  // let viewWidth = document.documentElement.clientWidth
+  // switch(true) {
+  //   case viewWidth <= 1024:
+  //     size = "mini"
+  //     break;
+  //   case viewWidth <= 1280:
+  //     size = "small"
+  //     break;
+  //   case viewWidth <= 1600:
+  //     size = "medium"
+  //     break;
+  //   default:
+  //     size = ""
+  // }
+  // return size
+	return 'small'
+}
+
+/**
+ * 存入/更新cookie信息
+ * name: cookie 名称
+ * values: cookie 值
+ * times: 过期时间
+*/
+export const setCookie = (name, values, times) => {
+	let date = new Date();
+	let params = JSON.stringify(values)
+	date.setTime(date.getTime() + (times * 24 * 60 * 60 * 1000));
+	document.cookie = `${name}=${params};expires=${date.toGMTString()}`;
+}
+
+/**
+ * 获取cookie信息
+ * name: 存入的cookie名
+*/
+export const getCookie = (name) => {
+	let data = "";
+	let list = document.cookie.split(';');
+	list.forEach(item => {
+		item = item.split('=')
+		if(item[0].replace(/^\s+|\s+$/g,"") === name) {
+			data = JSON.parse(item[item.length - 1])
+		}
+	})
+	return data
+}
+
+/**
+ * 处理时间戳
+*/
+export const changeTime = (time) => {
+	const date = new Date(time);
+	console.log(date,'---');
+	let year = date.getFullYear();
+	let month = date.getMonth() + 1;
+	month = month > 9 ? month : `0${month}`;
+	let day = date.getDate() > 9 ? date.getDate() : `0${date.getDate()}`;
+	let hours = date.getHours() > 9 ? date.getHours() : `0${date.getHours()}`;
+	let min = date.getMinutes() > 9 ? date.getMinutes() : `0${date.getMinutes()}`;
+	let sec = date.getSeconds() > 9 ? date.getSeconds() : `0${date.getSeconds()}`;
+	return `${year}-${month}-${day} ${hours}:${min}:${sec}`
+}
+
+/**
+ * 下载文件公共方法
+*/
+
+export const downLoadFile = (data, url) => {
+	let link = document.createElement("a")
+	link.style.display = "none";
+	link.href = `${process.env.VUE_APP_BASE_URL}${url}?authcode=${data}`;
+	document.body.appendChild(link)
+	link.click();
+	URL.revokeObjectURL(link.href) // 释放URL 对象
+}
+
+export const downFiles = (data, fileName = 'downLoad', fileType) => {
+	let url = URL.createObjectURL(new Blob([data]))
+	let link = document.createElement("a")
+	link.style.display = "none";
+	link.href = url;
+	link.setAttribute("download", `${fileName}.${fileType}`)
+	document.body.appendChild(link)
+	link.click();
+	URL.revokeObjectURL(link.href) // 释放URL 对象
+}
+
+/**
+ * 转二维码(blob流转地址)
+ */
+export const tranQr = (val) => {
+	let imageUrl = '';
+	Vue.prototype.$api.Print.getPrintPhone({num:val}).then(res=>{
+		imageUrl = URL.createObjectURL(new Blob([res.data]));
+	})
+	return imageUrl
+}
+
+
+export const downLoadQR = (data, url) => {
+	axios({
+		method: 'get',
+		url: `${process.env.VUE_APP_BASE_URL}${url}?num=${data}`,
+		responseType: 'blob'
+	}).then((res) => {
+		downFiles(res.data, '二维码图片','png')
+	})
+	// let link = document.createElement("a")
+	// link.style.display = "none";
+	// link.href = ;
+	// document.body.appendChild(link)
+	// link.click();
+	// URL.revokeObjectURL(link.href) // 释放URL 对象
+
+	// link.href = `${process.env.VUE_APP_BASE_URL}${url}?num=${data}`;
+	// link.setAttribute("download", '二维码图片.png')
+	// document.body.appendChild(link)
+	// link.click();
+}
+//通过扫描二维码跳转详情页面
+export const downLoadQRDetails = (data,id,typePage, url) => {
+	axios({
+		method: 'get',
+		url: `${process.env.VUE_APP_BASE_URL}${url}?num=${data}&bigDeviceId=${id}&type=${typePage}`,
+		responseType: 'blob'
+	}).then((res) => {
+		downFiles(res.data, '二维码图片','png')
+	})
+}
+
+/* Date原型添加format方法 */
+Date.prototype.format = function (fmt) {
+  fmt = fmt || 'yyyy-MM-dd'
+  var o = {
+    'M+': this.getMonth() + 1, //月份
+    'd+': this.getDate(), //日
+    'h+': this.getHours(), //小时
+    'm+': this.getMinutes(), //分
+    's+': this.getSeconds(), //秒
+    'q+': Math.floor((this.getMonth() + 3) / 3), //季度
+    S: this.getMilliseconds() //毫秒
+  }
+  if (/(y+)/.test(fmt)) {
+    fmt = fmt.replace(
+      RegExp.$1,
+      (this.getFullYear() + '').substr(4 - RegExp.$1.length)
+    )
+  }
+  for (var k in o) {
+    if (new RegExp('(' + k + ')').test(fmt)) {
+      fmt = fmt.replace(
+        RegExp.$1,
+        RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)
+      )
+    }
+  }
+  return fmt
+}    
\ No newline at end of file

--
Gitblit v1.9.3