const install = (Vue, vm) => {
	
	Vue.prototype.$t = {
		// 测试加法
		toUpperCase(arg){
			return arg && arg.toUpperCase();
		},
		// 转换字符串，undefined,null等转化为""
		praseStrEmpty(str) {
			if (!str || str == "undefined" || str == "null") {
				return "";
			}
			return str;
		},
		// 日期格式化
		parseTime(time, pattern) {
			if (arguments.length === 0 || !time) {
				return null
			}
			const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
			let date
			if (typeof time === 'object') {
				date = time
			} else {
				if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
					time = parseInt(time)
				} else if (typeof time === 'string') {
					time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm),'');
				}
				if ((typeof time === 'number') && (time.toString().length === 10)) {
					time = time * 1000
				}
				date = new Date(time)
			}
			const formatObj = {
				y: date.getFullYear(),
				m: date.getMonth() + 1,
				d: date.getDate(),
				h: date.getHours(),
				i: date.getMinutes(),
				s: date.getSeconds(),
				a: date.getDay()
			}
			const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
				let value = formatObj[key]
				// Note: getDay() returns 0 on Sunday
				if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
				if (result.length > 0 && value < 10) {
					value = '0' + value
				}
				return value || 0
			})
			return time_str
		}
	}
}

export default {
	install
}
