// 缓存前缀 
var postfix = 'yuncache';

/**
 * 设置缓存 
 * 
 * @param  {[type]} k [键名]
 * @param  {[type]} v [键值]
 * @param  {[type]} t [时间、单位秒]
 */
function put(k, v, t) {
	uni.setStorageSync(k, v)
	var seconds = parseInt(t);
	if (seconds > 0) {
		var timestamp = Date.parse(new Date());
		timestamp = timestamp / 1000 + seconds;
		uni.setStorageSync(k + postfix, timestamp + "")
	} else {
		uni.removeStorageSync(k + postfix)
	}
}

/**
 * 获取缓存 
 * 
 * @param  {[type]} k   [键名]
 * @param  {[type]} def [获取为空时默认]
 */
function get(k, def) {
	var deadtime = parseInt(uni.getStorageSync(k + postfix))
	if (deadtime) {
		if (parseInt(deadtime) < Date.parse(new Date()) / 1000) {
			if (def) {
				return def;
			} else {
				return false;
			}
		}
	}
	var res = uni.getStorageSync(k);
	if (res) {
		return res;
	} else {
		if (def == undefined || def == "") {
			def = false;
		}
		return def;
	}
}

/**
 * 清理指定缓存
 * 
 * @return {[type]} [description]
 */
function remove(k) {
	uni.removeStorageSync(k);
	uni.removeStorageSync(k + postfix);
}

/**
 * 清理所有缓存
 * 
 * @return {[type]} [description]
 */
function clear() {
	uni.clearStorageSync();
}

export default {
	put,
	get,
	remove,
	clear,
}
