
//import i18n from '@/locales'
import base from '@/common/config';
//import store from "@/store";
const isString = (v)=> {
	return typeof v === 'string' || v instanceof String;
},
isNumber=(v) =>{
	return typeof v === 'number' && !isNaN(v);
},
isInteger=(v) =>{
	return typeof v === 'number' && isFinite(v) && Math.floor(v) === v;
},
isBoolean=(v) =>{
	return typeof v === 'boolean';
},
isArray=(v) =>{
	return Array.isArray(v);
},
isObject=(v) =>{
	return v !== null && typeof v === 'object' && !Array.isArray(v);
},
isFunction=(v) =>{
	return typeof v === 'function';
},
isNull=(v) =>{
	return v === null;
},
isUndefined=(v) =>{
	return typeof v === 'undefined';
},
isSymbol=(v) =>{
	return typeof v === 'symbol';
},
isDate=(v) =>{
	return Object.prototype.toString.call(v) === '[object Date]';
},
isRegExp=(v) =>{
	return Object.prototype.toString.call(v) === '[object RegExp]';
},
isError=(v) =>{
	return v instanceof Error;
},
isMap=(v) =>{
	return v instanceof Map;
},
isSet=(v) =>{
	return v instanceof Set;
},
isWeakMap=(v) =>{
	return v instanceof WeakMap;
},
isWeakSet=(v) =>{
	return v instanceof WeakSet;
};
export default{
	isString :isString,
	isNumber :isNumber,
	isInteger :isInteger,
	isBoolean :isBoolean,
	isArray :isArray,
	isObject :isObject,
	isFunction :isFunction,
	isNull :isNull,
	isUndefined :isUndefined,
	isSymbol :isSymbol,
	isDate :isDate,
	isRegExp :isRegExp,
	isError :isError,
	isMap :isMap,
	isSet :isSet,
	isWeakMap :isWeakMap,
	isWeakSet :isWeakSet,
	cdn(v){
		v= v || ""; 
		v = v.replace(/\\/ig,"/").replace('/\/\/ig',"/");
		//console.log(v);
		if(isString(v)){
			if(v.startsWith('blob:')){
				return v;
			}
			if(v.startsWith('file://')){
				return v;
			}
			v= v.startsWith('/') ? v : '/'+v;
			return base.cdnUrl+''+v;
		}
		return "";
	},
	goto(url,type){
		//console.log(url);
		type = type || '0'; //0 navigateTo 1 redirectTo
		if(url){
			if(isInteger(url)){
				uni.navigateBack({
					delta:url,
				})
			}else{
				url+="";
				if(url.substr(0,6) != '/pages'){
					url='/pages'+url
				}
				if(type == '1'){
					return uni.redirectTo({
						url:url
					});
				}
				if(type == '2'){
					return uni.switchTab({
						url:url
					});
				}
				uni.navigateTo({
					url:url
				})
			}
		}
	},
	showToast(msg,url,icon){
		const _this = this;
		//msg = i18n.t(msg);
		// #ifdef APP
		plus.nativeUI.closeToast();
		plus.nativeUI.toast(msg,{
			align:'center',
			verticalAlign:"center",
			style:"inline",
			icon:icon=='error' ? '/static/img/common/error.png' : '/static/img/common/success.png',
			iconWidth:24,
			iconHeight:24
		});
		
		if(url){
			setTimeout(()=>{
				_this.goto(url);
			},3000)
		}
		// #endif
		// #ifndef APP
		uni.showToast({
			//image:icon=='error' ? '/static/img/common/error.png' : '/static/img/common/success.png',
			icon:icon=='error' ? icon : 'success',
			title:msg,
			showToast:3000,
			complete:()=>{
				if(url){
					setTimeout(()=>{
						_this.goto(url);
					},3000)
				}
			}
		});
		// #endif
	},
	error(msg,url){
		this.showToast(msg,url,'error');
	},
	success(msg,url){
		this.showToast(msg,url,'success');
	},
	scan(){
		uni.scanCode({
			success(res){
				/**
				 * result	所扫码的内容	
					scanType	所扫码的类型	App、微信小程序、百度小程序、QQ小程序、京东小程序、支付宝小程序
					charSet	所扫码的字符集	App、微信小程序、百度小程序(所扫码的字符集，仅支持 Android 系统)、QQ小程序、京东小程序
					path	当所扫的码为当前应用的合法二维码时，会返回此字段，内容为二维码携带的 path。	微信小程序、QQ小程序、京东小程序
					rawData	原始数据，base64 编码	微信小程序、QQ小程序、京东小程序、支付宝小程序
					code	扫码所得数据	支付宝小程序
					qrCode	扫描二维码时返回二维码数据	支付宝小程序
					barCode	扫描条形码时返回条形码数据	支付宝小程序
					imageChannel	来源	支付宝小程序
				*/
				if(res.result){
					if(res.result.indexOf('blackcatp:/')){
						uni.navigateTo({
							url:res.result.substring(11)
						})
					}else{
						this.success(res.result)
					}
				}
			},
			fail(res){
				
			},
			complete(res){
				console.log(res)
			}
		});
	},
	
	copy(v){
		let that = this;
		uni.setClipboardData({
			data:v+'',
			success() {
				that.success('复制成功');
			}
		})
	},
	toDate(time) {
		var date = new Date(time * 1000);
		var fmt = 'yyyy-MM-dd hh:mm:ss';
		var o = {
			'M+': date.getMonth() + 1, //月份
			'd+': date.getDate(), //日
			'h+': date.getHours(), //小时
			'm+': date.getMinutes(), //分
			's+': date.getSeconds(), //秒
			'q+': Math.floor((date.getMonth() + 3) / 3), //季度
			S: date.getMilliseconds() //毫秒
		};
		if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.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;
	},
	formatAmount(v,wei){
		if(!v){return 0.00;}
		v=v+"";
		v = parseFloat(v).toFixed(wei || 2);
		return parseFloat(v);
	},
	
}