|  |  | @ -1,18 +1,26 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | import { parseTime } from './ruoyi' |  |  |  | import { parseTime } from "./ruoyi"; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import { dayjs } from "element-plus"; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
		
		
			
				
					
					|  |  |  |  * 表格时间格式化 |  |  |  |  * 表格时间格式化 | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function formatDate(cellValue) { |  |  |  | export function formatDate(cellValue) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (cellValue == null || cellValue == "") return ""; |  |  |  |   if (cellValue == null || cellValue == "") return ""; | 
			
		
	
		
		
			
				
					
					|  |  |  |   var date = new Date(cellValue) 
 |  |  |  |   var date = new Date(cellValue); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   var year = date.getFullYear() |  |  |  |   var year = date.getFullYear(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 |  |  |  |   var month = | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() 
 |  |  |  |     date.getMonth() + 1 < 10 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() 
 |  |  |  |       ? "0" + (date.getMonth() + 1) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() 
 |  |  |  |       : date.getMonth() + 1; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() |  |  |  |   var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds |  |  |  |   var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   var minutes = | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   var seconds = | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   return ( | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   ); | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -21,40 +29,40 @@ export function formatDate(cellValue) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {string} |  |  |  |  * @returns {string} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function formatTime(time, option) { |  |  |  | export function formatTime(time, option) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (('' + time).length === 10) { |  |  |  |   if (("" + time).length === 10) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     time = parseInt(time) * 1000 |  |  |  |     time = parseInt(time) * 1000; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } else { |  |  |  |   } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |     time = +time |  |  |  |     time = +time; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   const d = new Date(time) |  |  |  |   const d = new Date(time); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   const now = Date.now() |  |  |  |   const now = Date.now(); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   const diff = (now - d) / 1000 |  |  |  |   const diff = (now - d) / 1000; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (diff < 30) { |  |  |  |   if (diff < 30) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return '刚刚' |  |  |  |     return "刚刚"; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } else if (diff < 3600) { |  |  |  |   } else if (diff < 3600) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     // less 1 hour
 |  |  |  |     // less 1 hour
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     return Math.ceil(diff / 60) + '分钟前' |  |  |  |     return Math.ceil(diff / 60) + "分钟前"; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } else if (diff < 3600 * 24) { |  |  |  |   } else if (diff < 3600 * 24) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return Math.ceil(diff / 3600) + '小时前' |  |  |  |     return Math.ceil(diff / 3600) + "小时前"; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } else if (diff < 3600 * 24 * 2) { |  |  |  |   } else if (diff < 3600 * 24 * 2) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return '1天前' |  |  |  |     return "1天前"; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (option) { |  |  |  |   if (option) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return parseTime(time, option) |  |  |  |     return parseTime(time, option); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } else { |  |  |  |   } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return ( |  |  |  |     return ( | 
			
		
	
		
		
			
				
					
					|  |  |  |       d.getMonth() + |  |  |  |       d.getMonth() + | 
			
		
	
		
		
			
				
					
					|  |  |  |       1 + |  |  |  |       1 + | 
			
		
	
		
		
			
				
					
					|  |  |  |       '月' + |  |  |  |       "月" + | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       d.getDate() + |  |  |  |       d.getDate() + | 
			
		
	
		
		
			
				
					
					|  |  |  |       '日' + |  |  |  |       "日" + | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       d.getHours() + |  |  |  |       d.getHours() + | 
			
		
	
		
		
			
				
					
					|  |  |  |       '时' + |  |  |  |       "时" + | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       d.getMinutes() + |  |  |  |       d.getMinutes() + | 
			
		
	
		
		
			
				
					
					|  |  |  |       '分' |  |  |  |       "分" | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     ) |  |  |  |     ); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -63,18 +71,18 @@ export function formatTime(time, option) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {Object} |  |  |  |  * @returns {Object} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function getQueryObject(url) { |  |  |  | export function getQueryObject(url) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   url = url == null ? window.location.href : url |  |  |  |   url = url == null ? window.location.href : url; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   const search = url.substring(url.lastIndexOf('?') + 1) |  |  |  |   const search = url.substring(url.lastIndexOf("?") + 1); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   const obj = {} |  |  |  |   const obj = {}; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   const reg = /([^?&=]+)=([^?&=]*)/g |  |  |  |   const reg = /([^?&=]+)=([^?&=]*)/g; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   search.replace(reg, (rs, $1, $2) => { |  |  |  |   search.replace(reg, (rs, $1, $2) => { | 
			
		
	
		
		
			
				
					
					|  |  |  |     const name = decodeURIComponent($1) |  |  |  |     const name = decodeURIComponent($1); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     let val = decodeURIComponent($2) |  |  |  |     let val = decodeURIComponent($2); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     val = String(val) |  |  |  |     val = String(val); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     obj[name] = val |  |  |  |     obj[name] = val; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     return rs |  |  |  |     return rs; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   }) |  |  |  |   }); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   return obj |  |  |  |   return obj; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -83,14 +91,14 @@ export function getQueryObject(url) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function byteLength(str) { |  |  |  | export function byteLength(str) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   // returns the byte length of an utf8 string
 |  |  |  |   // returns the byte length of an utf8 string
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   let s = str.length |  |  |  |   let s = str.length; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   for (var i = str.length - 1; i >= 0; i--) { |  |  |  |   for (var i = str.length - 1; i >= 0; i--) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     const code = str.charCodeAt(i) |  |  |  |     const code = str.charCodeAt(i); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     if (code > 0x7f && code <= 0x7ff) s++ |  |  |  |     if (code > 0x7f && code <= 0x7ff) s++; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     else if (code > 0x7ff && code <= 0xffff) s += 2 |  |  |  |     else if (code > 0x7ff && code <= 0xffff) s += 2; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     if (code >= 0xDC00 && code <= 0xDFFF) i-- |  |  |  |     if (code >= 0xdc00 && code <= 0xdfff) i--; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   return s |  |  |  |   return s; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -98,13 +106,13 @@ export function byteLength(str) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {Array} |  |  |  |  * @returns {Array} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function cleanArray(actual) { |  |  |  | export function cleanArray(actual) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   const newArray = [] |  |  |  |   const newArray = []; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   for (let i = 0; i < actual.length; i++) { |  |  |  |   for (let i = 0; i < actual.length; i++) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (actual[i]) { |  |  |  |     if (actual[i]) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       newArray.push(actual[i]) |  |  |  |       newArray.push(actual[i]); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   return newArray |  |  |  |   return newArray; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -112,13 +120,13 @@ export function cleanArray(actual) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {Array} |  |  |  |  * @returns {Array} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function param(json) { |  |  |  | export function param(json) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (!json) return '' |  |  |  |   if (!json) return ""; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   return cleanArray( |  |  |  |   return cleanArray( | 
			
		
	
		
		
			
				
					
					|  |  |  |     Object.keys(json).map(key => { |  |  |  |     Object.keys(json).map((key) => { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       if (json[key] === undefined) return '' |  |  |  |       if (json[key] === undefined) return ""; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) |  |  |  |       return encodeURIComponent(key) + "=" + encodeURIComponent(json[key]); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     }) |  |  |  |     }), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   ).join('&') |  |  |  |   ).join("&"); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -126,21 +134,21 @@ export function param(json) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {Object} |  |  |  |  * @returns {Object} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function param2Obj(url) { |  |  |  | export function param2Obj(url) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') |  |  |  |   const search = decodeURIComponent(url.split("?")[1]).replace(/\+/g, " "); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   if (!search) { |  |  |  |   if (!search) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return {} |  |  |  |     return {}; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   const obj = {} |  |  |  |   const obj = {}; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   const searchArr = search.split('&') |  |  |  |   const searchArr = search.split("&"); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   searchArr.forEach(v => { |  |  |  |   searchArr.forEach((v) => { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     const index = v.indexOf('=') |  |  |  |     const index = v.indexOf("="); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     if (index !== -1) { |  |  |  |     if (index !== -1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       const name = v.substring(0, index) |  |  |  |       const name = v.substring(0, index); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       const val = v.substring(index + 1, v.length) |  |  |  |       const val = v.substring(index + 1, v.length); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       obj[name] = val |  |  |  |       obj[name] = val; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |   }) |  |  |  |   }); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   return obj |  |  |  |   return obj; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -148,9 +156,9 @@ export function param2Obj(url) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {string} |  |  |  |  * @returns {string} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function html2Text(val) { |  |  |  | export function html2Text(val) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   const div = document.createElement('div') |  |  |  |   const div = document.createElement("div"); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   div.innerHTML = val |  |  |  |   div.innerHTML = val; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   return div.textContent || div.innerText |  |  |  |   return div.textContent || div.innerText; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -160,21 +168,21 @@ export function html2Text(val) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {Object} |  |  |  |  * @returns {Object} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function objectMerge(target, source) { |  |  |  | export function objectMerge(target, source) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (typeof target !== 'object') { |  |  |  |   if (typeof target !== "object") { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     target = {} |  |  |  |     target = {}; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (Array.isArray(source)) { |  |  |  |   if (Array.isArray(source)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return source.slice() |  |  |  |     return source.slice(); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   Object.keys(source).forEach(property => { |  |  |  |   Object.keys(source).forEach((property) => { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     const sourceProperty = source[property] |  |  |  |     const sourceProperty = source[property]; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     if (typeof sourceProperty === 'object') { |  |  |  |     if (typeof sourceProperty === "object") { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       target[property] = objectMerge(target[property], sourceProperty) |  |  |  |       target[property] = objectMerge(target[property], sourceProperty); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } else { |  |  |  |     } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |       target[property] = sourceProperty |  |  |  |       target[property] = sourceProperty; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |   }) |  |  |  |   }); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   return target |  |  |  |   return target; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -183,18 +191,18 @@ export function objectMerge(target, source) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function toggleClass(element, className) { |  |  |  | export function toggleClass(element, className) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (!element || !className) { |  |  |  |   if (!element || !className) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return |  |  |  |     return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   let classString = element.className |  |  |  |   let classString = element.className; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   const nameIndex = classString.indexOf(className) |  |  |  |   const nameIndex = classString.indexOf(className); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   if (nameIndex === -1) { |  |  |  |   if (nameIndex === -1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     classString += '' + className |  |  |  |     classString += "" + className; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } else { |  |  |  |   } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |     classString = |  |  |  |     classString = | 
			
		
	
		
		
			
				
					
					|  |  |  |       classString.substr(0, nameIndex) + |  |  |  |       classString.substr(0, nameIndex) + | 
			
		
	
		
		
			
				
					
					|  |  |  |       classString.substr(nameIndex + className.length) |  |  |  |       classString.substr(nameIndex + className.length); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   element.className = classString |  |  |  |   element.className = classString; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -202,10 +210,10 @@ export function toggleClass(element, className) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {Date} |  |  |  |  * @returns {Date} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function getTime(type) { |  |  |  | export function getTime(type) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (type === 'start') { |  |  |  |   if (type === "start") { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     return new Date().getTime() - 3600 * 1000 * 24 * 90 |  |  |  |     return new Date().getTime() - 3600 * 1000 * 24 * 90; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } else { |  |  |  |   } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return new Date(new Date().toDateString()) |  |  |  |     return new Date(new Date().toDateString()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -216,38 +224,38 @@ export function getTime(type) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @return {*} |  |  |  |  * @return {*} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function debounce(func, wait, immediate) { |  |  |  | export function debounce(func, wait, immediate) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   let timeout, args, context, timestamp, result |  |  |  |   let timeout, args, context, timestamp, result; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   const later = function() { |  |  |  |   const later = function () { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     // 据上一次触发时间间隔
 |  |  |  |     // 据上一次触发时间间隔
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     const last = +new Date() - timestamp |  |  |  |     const last = +new Date() - timestamp; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
 |  |  |  |     // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (last < wait && last > 0) { |  |  |  |     if (last < wait && last > 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       timeout = setTimeout(later, wait - last) |  |  |  |       timeout = setTimeout(later, wait - last); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } else { |  |  |  |     } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |       timeout = null |  |  |  |       timeout = null; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
 |  |  |  |       // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (!immediate) { |  |  |  |       if (!immediate) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         result = func.apply(context, args) |  |  |  |         result = func.apply(context, args); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         if (!timeout) context = args = null |  |  |  |         if (!timeout) context = args = null; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   }; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   return function(...args) { |  |  |  |   return function (...args) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     context = this |  |  |  |     context = this; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     timestamp = +new Date() |  |  |  |     timestamp = +new Date(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     const callNow = immediate && !timeout |  |  |  |     const callNow = immediate && !timeout; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     // 如果延时不存在,重新设定延时
 |  |  |  |     // 如果延时不存在,重新设定延时
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (!timeout) timeout = setTimeout(later, wait) |  |  |  |     if (!timeout) timeout = setTimeout(later, wait); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     if (callNow) { |  |  |  |     if (callNow) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       result = func.apply(context, args) |  |  |  |       result = func.apply(context, args); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       context = args = null |  |  |  |       context = args = null; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     return result |  |  |  |     return result; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   }; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -258,18 +266,18 @@ export function debounce(func, wait, immediate) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {Object} |  |  |  |  * @returns {Object} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function deepClone(source) { |  |  |  | export function deepClone(source) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (!source && typeof source !== 'object') { |  |  |  |   if (!source && typeof source !== "object") { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     throw new Error('error arguments', 'deepClone') |  |  |  |     throw new Error("error arguments", "deepClone"); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   const targetObj = source.constructor === Array ? [] : {} |  |  |  |   const targetObj = source.constructor === Array ? [] : {}; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   Object.keys(source).forEach(keys => { |  |  |  |   Object.keys(source).forEach((keys) => { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     if (source[keys] && typeof source[keys] === 'object') { |  |  |  |     if (source[keys] && typeof source[keys] === "object") { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       targetObj[keys] = deepClone(source[keys]) |  |  |  |       targetObj[keys] = deepClone(source[keys]); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } else { |  |  |  |     } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |       targetObj[keys] = source[keys] |  |  |  |       targetObj[keys] = source[keys]; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |   }) |  |  |  |   }); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   return targetObj |  |  |  |   return targetObj; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -277,16 +285,16 @@ export function deepClone(source) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {Array} |  |  |  |  * @returns {Array} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function uniqueArr(arr) { |  |  |  | export function uniqueArr(arr) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   return Array.from(new Set(arr)) |  |  |  |   return Array.from(new Set(arr)); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {string} |  |  |  |  * @returns {string} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function createUniqueString() { |  |  |  | export function createUniqueString() { | 
			
		
	
		
		
			
				
					
					|  |  |  |   const timestamp = +new Date() + '' |  |  |  |   const timestamp = +new Date() + ""; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   const randomNum = parseInt((1 + Math.random()) * 65536) + '' |  |  |  |   const randomNum = parseInt((1 + Math.random()) * 65536) + ""; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   return (+(randomNum + timestamp)).toString(32) |  |  |  |   return (+(randomNum + timestamp)).toString(32); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -296,7 +304,7 @@ export function createUniqueString() { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @returns {boolean} |  |  |  |  * @returns {boolean} | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function hasClass(ele, cls) { |  |  |  | export function hasClass(ele, cls) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) |  |  |  |   return !!ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)")); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -305,7 +313,7 @@ export function hasClass(ele, cls) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  * @param {string} cls |  |  |  |  * @param {string} cls | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function addClass(ele, cls) { |  |  |  | export function addClass(ele, cls) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (!hasClass(ele, cls)) ele.className += ' ' + cls |  |  |  |   if (!hasClass(ele, cls)) ele.className += " " + cls; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -315,76 +323,82 @@ export function addClass(ele, cls) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | export function removeClass(ele, cls) { |  |  |  | export function removeClass(ele, cls) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (hasClass(ele, cls)) { |  |  |  |   if (hasClass(ele, cls)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') |  |  |  |     const reg = new RegExp("(\\s|^)" + cls + "(\\s|$)"); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     ele.className = ele.className.replace(reg, ' ') |  |  |  |     ele.className = ele.className.replace(reg, " "); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | export function makeMap(str, expectsLowerCase) { |  |  |  | export function makeMap(str, expectsLowerCase) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   const map = Object.create(null) |  |  |  |   const map = Object.create(null); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   const list = str.split(',') |  |  |  |   const list = str.split(","); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   for (let i = 0; i < list.length; i++) { |  |  |  |   for (let i = 0; i < list.length; i++) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     map[list[i]] = true |  |  |  |     map[list[i]] = true; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |   return expectsLowerCase |  |  |  |   return expectsLowerCase ? (val) => map[val.toLowerCase()] : (val) => map[val]; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     ? val => map[val.toLowerCase()] |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     : val => map[val] |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  
 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | export const exportDefault = 'export default ' |  |  |  | export const exportDefault = "export default "; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | export const beautifierConf = { |  |  |  | export const beautifierConf = { | 
			
		
	
		
		
			
				
					
					|  |  |  |   html: { |  |  |  |   html: { | 
			
		
	
		
		
			
				
					
					|  |  |  |     indent_size: '2', |  |  |  |     indent_size: "2", | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     indent_char: ' ', |  |  |  |     indent_char: " ", | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     max_preserve_newlines: '-1', |  |  |  |     max_preserve_newlines: "-1", | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     preserve_newlines: false, |  |  |  |     preserve_newlines: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     keep_array_indentation: false, |  |  |  |     keep_array_indentation: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     break_chained_methods: false, |  |  |  |     break_chained_methods: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     indent_scripts: 'separate', |  |  |  |     indent_scripts: "separate", | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     brace_style: 'end-expand', |  |  |  |     brace_style: "end-expand", | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     space_before_conditional: true, |  |  |  |     space_before_conditional: true, | 
			
		
	
		
		
			
				
					
					|  |  |  |     unescape_strings: false, |  |  |  |     unescape_strings: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     jslint_happy: false, |  |  |  |     jslint_happy: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     end_with_newline: true, |  |  |  |     end_with_newline: true, | 
			
		
	
		
		
			
				
					
					|  |  |  |     wrap_line_length: '110', |  |  |  |     wrap_line_length: "110", | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     indent_inner_html: true, |  |  |  |     indent_inner_html: true, | 
			
		
	
		
		
			
				
					
					|  |  |  |     comma_first: false, |  |  |  |     comma_first: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     e4x: true, |  |  |  |     e4x: true, | 
			
		
	
		
		
			
				
					
					|  |  |  |     indent_empty_lines: true |  |  |  |     indent_empty_lines: true, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   }, |  |  |  |   }, | 
			
		
	
		
		
			
				
					
					|  |  |  |   js: { |  |  |  |   js: { | 
			
		
	
		
		
			
				
					
					|  |  |  |     indent_size: '2', |  |  |  |     indent_size: "2", | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     indent_char: ' ', |  |  |  |     indent_char: " ", | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     max_preserve_newlines: '-1', |  |  |  |     max_preserve_newlines: "-1", | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     preserve_newlines: false, |  |  |  |     preserve_newlines: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     keep_array_indentation: false, |  |  |  |     keep_array_indentation: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     break_chained_methods: false, |  |  |  |     break_chained_methods: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     indent_scripts: 'normal', |  |  |  |     indent_scripts: "normal", | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     brace_style: 'end-expand', |  |  |  |     brace_style: "end-expand", | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     space_before_conditional: true, |  |  |  |     space_before_conditional: true, | 
			
		
	
		
		
			
				
					
					|  |  |  |     unescape_strings: false, |  |  |  |     unescape_strings: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     jslint_happy: true, |  |  |  |     jslint_happy: true, | 
			
		
	
		
		
			
				
					
					|  |  |  |     end_with_newline: true, |  |  |  |     end_with_newline: true, | 
			
		
	
		
		
			
				
					
					|  |  |  |     wrap_line_length: '110', |  |  |  |     wrap_line_length: "110", | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     indent_inner_html: true, |  |  |  |     indent_inner_html: true, | 
			
		
	
		
		
			
				
					
					|  |  |  |     comma_first: false, |  |  |  |     comma_first: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |     e4x: true, |  |  |  |     e4x: true, | 
			
		
	
		
		
			
				
					
					|  |  |  |     indent_empty_lines: true |  |  |  |     indent_empty_lines: true, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   }, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | }; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // 首字母大小
 |  |  |  | // 首字母大小
 | 
			
		
	
		
		
			
				
					
					|  |  |  | export function titleCase(str) { |  |  |  | export function titleCase(str) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   return str.replace(/( |^)[a-z]/g, L => L.toUpperCase()) |  |  |  |   return str.replace(/( |^)[a-z]/g, (L) => L.toUpperCase()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // 下划转驼峰
 |  |  |  | // 下划转驼峰
 | 
			
		
	
		
		
			
				
					
					|  |  |  | export function camelCase(str) { |  |  |  | export function camelCase(str) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase()) |  |  |  |   return str.replace(/_[a-z]/g, (str1) => str1.substr(-1).toUpperCase()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | export function isNumberStr(str) { |  |  |  | export function isNumberStr(str) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) |  |  |  |   return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | export function customFormatDate(date, format) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // 日期不存在,则返回空
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   if (!date) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     return ""; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // 日期存在,则进行格式化
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   return date ? dayjs(date).format(format ?? "YYYY-MM-DD HH:mm:ss") : ""; | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  
 |  |  |  |  | 
			
		
	
	
		
		
			
				
					|  |  | 
 |