公共方法封装

13 篇文章 0 订阅
/*
 * 使用示例
 * 
 * main.js引入方式(无多处应用时无需挂载至vue原型上)
 * import {Local} from './utils/public'
 * Vue.prototype.$local = Local
 *
 * Local:本地存储
 * 设置/修改set	this.$local.set('name','fwhf',1);
 * 获取get	console.log(this.$local.get('name'));
 * 移除del	this.$local.del('name');
 * 
 * Rand:随机n-m的整数
 * console.log(this.$rand(3,6))
 * 
 * ToDate:处理时间戳
 * 年月日		console.log(this.$ToDate.getYmd(1583160290000))
 * 时分秒		console.log(this.$ToDate.getHms(1583160290000))
 * 年月日时分秒	console.log(this.$ToDate.getYmdHms(1583160290000))
 * 
 * Trim:去除空格
 * 去除两边空格trim	this.$trim.trim('name',' fwhf ');
 * 去除左边空格ltrim	this.$trim.ltrim('name',' fwhf');
 * 去除右边空格rtrim	this.$trim.rtrim('name','fwhf ');
 * 
 */
//图片预览
//function changeImg(_this,_thisNext,cb){
//	var reader = new FileReader();
//  reader.readAsDataURL(_this.files[0]);
//	reader.onload = function(e){
//		_this.nextSibling.src = e.target.result;
//		if(cb){
//			cb(_thisNext);
//		}
//	}
//}

//本地存储
class LocalClass {
	constructor() {
		if(window.localStorage) {
			this.state = true;
		} else {
			this.state = false;
		}
	}
	set(key, value, day) {
		if(this.state) {
			window.localStorage[key] = JSON.stringify({
				value,
				day: Date.now() + day * 24 * 3600 * 1000
			});
		} else {
			let now = new Date();
			now.setDate(now.getDate() + day);
			document.cookie = `${key}=${value};expires=${now}`;
		}
	}
	get(key) {
		if(this.state) {
			if(window.localStorage[key]) {
				let value = JSON.parse(window.localStorage[key]);
				if(value.day < Date.now()) {
					this.del(key);
					return false;
				} else {
					return value.value
				}
			} else {
				return false
			}
		} else {
			let str = document.cookie;
			let reg = /; /;
			let reg2 = new RegExp(key);
			if(reg.test(str) && reg2.test(str)) {
				return str.split(key)[1].split('=')[1].replace(/;.+/, '');
			} else if(reg2.test(str)) {
				return str.split('=')[1]
			}
			return false
		}
	}
	del(key) {
		if(this.state) {
			window.localStorage.removeItem(key);
		} else {
			this.set(key, "", -1);
		}
	}
}
let Local = new LocalClass();

//随机n-m
class RandClass {
	constructor() {}
	Rand(n, m) {
		let c = m - n + 1;
		return Math.floor(Math.random() * c + n);
	}
}
let Rand = new RandClass().Rand;

//处理时间戳
class ToDateClass {
	constructor() {}
	getYmd(time) {
		let date = time === undefined ? new Date() : new Date(time);
		return date.getFullYear() +
			"/" + (date.getMonth() + 1).toString().padStart(2, "0") +
			"/" + date.getDate().toString().padStart(2, "0")
	}
	getHms(time) {
		let date = time === undefined ? new Date() : new Date(time);
		return date.getHours().toString().padStart(2, "0") +
			":" + date.getMinutes().toString().padStart(2, "0") +
			":" + date.getSeconds().toString().padStart(2, "0")
	}
	getYmdHms(time) {
		let date = time === undefined ? new Date() : new Date(time);
		return date.getFullYear() +
			"/" + (date.getMonth() + 1).toString().padStart(2, "0") +
			"/" + date.getDate().toString().padStart(2, "0") +
			" " + date.getHours().toString().padStart(2, "0") +
			":" + date.getMinutes().toString().padStart(2, "0") +
			":" + date.getSeconds().toString().padStart(2, "0")
	}
}
let ToDate = new ToDateClass();

class TrimClass {
	trim(str){
		return str ? str.replace(/(^\s*)|(\s*$)/g, "") : '';
	}
	lTrim(str){
		return str ? str.replace(/(^\s*)/g,"") : '';
	}
	rTrim(str){
		return str ? str.replace(/(\s*$)/g,"") : '';
	}
}
let Trim = new TrimClass();

export {
	Local,
	Rand,
	ToDate,
	Trim
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风舞红枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值