封装各类js(axios接口封装/时间封装/乱码封装等等)

/**
 * axios网络请求 POST
 * @param api api名称
 * @param data 参数
 * @param func 成功回调
 * @param err 失败回调
 */
function apiRequest(api, data, func, err) {
	axios({
		method: 'POST',
		url: '/admin/api/' + api,
		data: data,
		headers: {
			// 'Content-Type': 'application/json'
		},
	}).then(function (res) {
		if (res.status === 200) {
			var ret = res.data
			switch (ret.code) {
				case 200:
					func(ret.data)
					break
				case 500:
					if (typeof err === 'function') {
						err(ret)
					} else {
						alert(ret.msg)
					}
					break
				case 401:
					break
			}
		} else {
			console.error('network error', res)
		}
	})
}

/**
 * Js网页跳转
 * @param url
 */
function urlTo(url) {
	var char = '?'
	if (url.indexOf('?') !== -1) {
		char = '&'
	}
	url += char
	window.location.href = url
}

/**
 * 获取页面get参数(中文乱码)
 * @param name
 * @returns {string|null}
 */
function getQueryString(name) {
	var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
	var r = window.location.search.substr(1).match(reg)
	if (r != null) return unescape(r[2])
	return null
}

// 封装去掉空格方法
// function myTrim(x) {
//     return x.replace(/\s+/g,"");
// }

// 封装去掉回车和空格方法
function myTrim(x) {
	var str = x.replace(/\s+/g, '')
	return str.replace(/[\r\n]/g, '')
}

// 时间戳转换
function timestampToTime(timestamp) {
	let date = new Date(timestamp)
	var YY = date.getFullYear() + '-'
	var MM =
		(date.getMonth() + 1 < 10
			? '0' + (date.getMonth() + 1)
			: date.getMonth() + 1) + '-'
	var DD = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
	var hh =
		(date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'
	var mm =
		(date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) +
		':'
	var ss =
		date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
	return YY + MM + DD + ' ' + hh + mm + ss
}

// 图片格式
function isAssetTypeAnImage(ext) {
	return (
		[
			'png',
			'jpg',
			'jpeg',
			'bmp',
			'gif',
			'webp',
			'psd',
			'svg',
			'tiff',
		].indexOf(ext.toLowerCase()) !== -1
	)
}
// 小时化为秒
function myH(x) {
	return Number(x * 3600)
}

// 分钟化为秒
function myM(x) {
	return Number(x * 60)
}
// 秒转化为时分秒
function formatSeconds(x) {
	var result = parseInt(x)
	var h =
		Math.floor(result / 3600) < 10
			? '0' + Math.floor(result / 3600)
			: Math.floor(result / 3600)
	var m =
		Math.floor((result / 60) % 60) < 10
			? '0' + Math.floor((result / 60) % 60)
			: Math.floor((result / 60) % 60)
	var s =
		Math.floor(result % 60) < 10
			? '0' + Math.floor(result % 60)
			: Math.floor(result % 60)

	var res = ''
	if (h !== '00') res += `${h}h`
	if (m !== '00') res += `${m}min`
	res += `${s}s`
	return res
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值