小程序的功能方法封装文件--utils.js

52 篇文章 0 订阅
/**
 *  Author  : gy
 *  Declare : 公用方法
 */

import config from '@/config'
import {showTip} from '@/utils/common';
import {getToken} from '@/utils/auth'

// 上传图片到服务器
export const cameraFunction = (sourceType) => {
	return new Promise((resolve,reject)=>{
		uni.chooseImage({
			count: 1, //默认9
			sourceType: sourceType || ['album','camera'], //默认9
			sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
			success: (chooseImageRes) => {
				const tempFilePaths = chooseImageRes.tempFilePaths;
				uni.uploadFile({
					url: config.requestUrl + 'api/Oss/UploadFile', //仅为示例,非真实的接口地址
					filePath: tempFilePaths[0],
					headers: {
						Authorization: uni.getStorageSync('token')
					},
					name: 'file',
					success: (uploadFileRes) => {
						if(uploadFileRes.statusCode===404){
							showTip('请重试,网络有波动')
						}else{
							showTip('正在上传,请稍等...')
							let files = JSON.parse(uploadFileRes.data)
							resolve(files)
							return files
						}
					},
					fail: (err)=>{
						reject(err)
					}
				});
			},
			fail: (err)=>{
				reject(err)
			}
		});
	})
}


// 校验手机号
export function validateCellphone(tel) {
  const cellphoneReg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;      // 手机号正则
  return !!tel.match(cellphoneReg);
}

// 校验邮箱
export function validateEmail(email) {
	let reg = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; // 邮箱正则
	return !!email.match(reg);
}

//电话号保留前三位后四位,中间*表示
export function telKeep(value) {
  let reg = /^(\d{3})\d*(\d{4})$/;
  return value.replace(reg, '$1****$2')
}

// 获取两个字符串中重叠部分红色显示
export function handleMatchString(str, value) {
	const stringArr = str.split('');
	const result = [];
	stringArr.forEach((item) => {
		if (value.includes(item)) {
			result.push({
				title: item,
				color: '#FF0000'
			});
			return false;
		}
		result.push({
			title: item,
			color: '#333333'
		});
	});
	return result;
}

// 身份证校验
export function isCardID(sId) {
	if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(sId)) {
		console.log('你输入的身份证长度或格式错误')
		return false
	}
	//身份证城市
	var aCity = {
		11: "北京",
		12: "天津",
		13: "河北",
		14: "山西",
		15: "内蒙古",
		21: "辽宁",
		22: "吉林",
		23: "黑龙江",
		31: "上海",
		32: "江苏",
		33: "浙江",
		34: "安徽",
		35: "福建",
		36: "江西",
		37: "山东",
		41: "河南",
		42: "湖北",
		43: "湖南",
		44: "广东",
		45: "广西",
		46: "海南",
		50: "重庆",
		51: "四川",
		52: "贵州",
		53: "云南",
		54: "西藏",
		61: "陕西",
		62: "甘肃",
		63: "青海",
		64: "宁夏",
		65: "新疆",
		71: "台湾",
		81: "香港",
		82: "澳门",
		91: "国外"
	};
	if (!aCity[parseInt(sId.substr(0, 2))]) {
		console.log('你的身份证地区非法')
		return false
	}
	// 出生日期验证
	var sBirthday = (sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2))).replace(/-/g, "/"),d = new Date(sBirthday)
	if (sBirthday != (d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate())) {
		console.log('身份证上的出生日期非法')
		return false
	}
	// 身份证号码校验
	var sum = 0,
		weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],
		codes = "10X98765432"
	for (var i = 0; i < sId.length - 1; i++) {
		sum += sId[i] * weights[i];
	}
	var last = codes[sum % 11]; //计算出来的最后一位身份证号码
	if (sId[sId.length - 1] != last) {
		console.log('你输入的身份证号非法')
		return false
	}
	return true
}

// 通过身份证判断是否成年
export function analyzeIDCard(IDCard){
	let age = 0,yearBirth,monthBirth,dayBirth;
	//获取用户身份证号码
	let userCard = IDCard;
	//如果身份证号码为undefind则返回空
	if(!userCard){
		return age;
	}
	let reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/; //验证身份证号码的正则
	if (reg.test(userCard)) {
		if (userCard.length == 15) {
			let org_birthday = userCard.substring(6, 12);
			//获取出生年月日
			yearBirth = "19" + org_birthday.substring(0, 2);
			monthBirth = org_birthday.substring(2, 4);
			dayBirth = org_birthday.substring(4, 6);
		} else if (userCard.length == 18) {
			//获取出生年月日
			yearBirth = userCard.substring(6,10);
			monthBirth = userCard.substring(10,12);
			dayBirth = userCard.substring(12,14);
		}
		//获取当前年月日并计算年龄
		let myDate = new Date();
		let monthNow = myDate.getMonth() + 1;
		let dayNow = myDate.getDate();
		let age = myDate.getFullYear() - yearBirth;
		if(monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)){
			age--;
		}
		return age;
	} else {
		return ''
	}
}

// 验证数据是否不为空(空值时返回false,null、undefined、空字符串、空数组、空对象都被设定为空)
export function isNotEmpty(value) {
  switch (typeof (value)) {
    case "undefined": {
      return false;
    }

    case "string": {
      return value.length !== 0;
    }

    case "object": {
      if (Array.isArray(value)) {
        return value.length !== 0;
      } else if (value === null) {
        return false;
      } else {
        return Object.keys(value).length !== 0;
      }
    }

    default:
      return true;
  }
}

// 获取当前时间
export function getNowDate() {
  let date = new Date()
  const year = date.getFullYear();
  const month = date.getMonth() + 1 >= 10 ? date.getMonth() + 1 : '0' + date.getMonth() + 1;
  const day = date.getDate() >= 10 ? date.getDate() : '0' + date.getDate();
  const hour = date.getHours() >= 10 ? date.getHours() : '0' + date.getHours();
  const minute = date.getMinutes() >= 10 ? date.getMinutes() : '0' + date.getMinutes();
  const second = date.getSeconds() >= 10 ? date.getSeconds() : '0' + date.getSeconds();
  return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

// 获取日期
export function getDate(time) {
  if (time && !(+time > 0)) {
    let [tDate, tTime] = time.split(" ");
    tDate = tDate.replace(/[^\d]/g, "/");
    time = tTime ? `${tDate} ${tTime}` : `${tDate}`;
  }
  const d = time ? new Date(time) : new Date();
  return {
    Y: d.getFullYear(),
    M: d.getMonth() + 1,
    W: d.getDay(),            //周几
    D: d.getDate(),
    h: d.getHours(),
    min: d.getMinutes(),
    s: d.getSeconds(),
    ms: d.getMilliseconds()
  }
}

// 转换日期格式
export function formateDate(date, delimiter) {
  date = date || new Date()
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  var day = date.getDate();

  return [year, month, day].map(formatNumber).join(delimiter || '/')
}

// 转换日期时间格式
export function formatTime(date, separator = '-') {
  date = date || new Date()
  const year = date.getFullYear();
  const month = date.getMonth() + 1;
  const day = date.getDate();
  const hour = date.getHours();
  const minute = date.getMinutes();
  const second = date.getSeconds();

  return [year, month, day].map(formatNumber).join(separator) + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

// 参数转换为json
export function params2json(params = "", slice = "&") {
  const result = {};
  params.split(slice).forEach((item) => {
    let arr = item.split("=");
    const key = arr[0] || '', value = arr[1] || '';
    if (item && key) {
      result[key] = value;
    }
  });
  return result;
}

// 字符串填充
export function padStart(n, len = 2, num = '0') {
  n = n.toString();
  while (n.length < len) {
    n = num + n
  }
  return n
}

// 一位数前补0
export function formatNumber(n) {
  n = n.toString();
  return n[1] ? n : '0' + n
}

// 清除空属性
export function searchAssign(value = {}) {
  let _copy = Object.assign({}, value);
  for (let key in value) {
    if (!isNotEmpty(value[key])) {
      delete _copy[key];
    }
  }
  return _copy;
}

// filesize转换
export function size2string(size = 0) {
  let strSize = "";
  if (size >= Math.pow(1024, 4)) {
    strSize = (size / Math.pow(1024, 4)).toFixed(2) + "T";
  } else if (size >= Math.pow(1024, 3)) {
    strSize = (size / Math.pow(1024, 3)).toFixed(2) + "G";
  } else if (size > Math.pow(1024, 2)) {
    strSize = (size / Math.pow(1024, 2)).toFixed(2) + "M";
  } else if (size > 1024) {
    strSize = (size / 1024).toFixed(2) + "K";
  } else {
    strSize = size + "B";
  }
  return strSize;
}

// 显示时间是否需要秒
export function date2string(date, gap = "-", requireTime = true, requireDate = true, requireSecond = false) {
  let tempObj = getDate(date);

  const {Y, M, D, h, min, s} = tempObj;
  const Dd = `${padStart(Y)}${gap}${padStart(M)}${gap}${padStart(D)}`,
    T = requireSecond ? `${padStart(h)}:${padStart(min)}:${padStart(s)}` : `${padStart(h)}:${padStart(min)}`;
  let result = requireDate ? `${Dd} ` : '';
  requireTime && (result += T);
  return result.trim();
}

// 格式化日期 date 日期或日期字符串
export function formatDate(date) {
	let YYYY = null;
	let M = null;
	let MM = null;
	let D = null;
	let DD = null;
	let h = null;
	let hh = null;
	let m = null;
	let mm = null;
	let s = null;
	let ss = null;
	let ms = null;
	let ms2 = null;
	let ms3 = null;
	let ms4 = null;
	let dt = null;
	// 如果 date 是 String 类型
	if (date && isString(date)) {
		// 真机运行时,如果直接用 new Date('YYYY-MM-DD hh:mm:ss') 会报 Invalid Date 错误,所以采用下面的方式创建日期
		let dtArr = date.replace(/\//g, '.').replace(/-/g, '.').replace(/:/g, '.').replace(/T/g, ' ').replace(' ', '.').replace('Z', '').split('.');
		let year = 2020;
		let month = 12;
		let day = 18;
		let hour = 0;
		let minute = 0;
		let second = 0;
		let millisecond = 0;
		// 年
		if (dtArr.length > 0 && !isNaN(dtArr[0])) {
			year = parseInt(dtArr[0]);
		}
		// 月
		if (dtArr.length > 1 && !isNaN(dtArr[1])) {
			month = parseInt(dtArr[1]);
		}
		// 日
		if (dtArr.length > 2 && !isNaN(dtArr[2])) {
			day = parseInt(dtArr[2]);
		}
		// 时
		if (dtArr.length > 3 && !isNaN(dtArr[3])) {
			hour = parseInt(dtArr[3]);
		}
		// 分
		if (dtArr.length > 4 && !isNaN(dtArr[4])) {
			minute = parseInt(dtArr[4]);
		}
		// 秒
		if (dtArr.length > 5 && !isNaN(dtArr[5])) {
			second = parseInt(dtArr[5]);
		}
		// 毫秒
		if (dtArr.length > 6 && !isNaN(dtArr[6])) {
			millisecond = parseInt(dtArr[6]);
		}
		date = new Date(year, month - 1, day, hour, minute, second, millisecond);
	}

	// 如果 date 是 Date 类型
	if (date && isDate(date)) {
		YYYY = date.getFullYear();
		M = date.getMonth() + 1;
		MM = M >= 10 ? M : '0' + M;
		D = date.getDate();
		DD = D >= 10 ? D : '0' + D;
		h = date.getHours();
		hh = h >= 10 ? h : '0' + h;
		m = date.getMinutes();
		mm = m >= 10 ? m : '0' + m;
		s = date.getSeconds();
		ss = s >= 10 ? s : '0' + s;
		ms = date.getMilliseconds();
		ms2 = ms;
		ms3 = ms;
		ms4 = ms;
		if (ms < 10) {
			ms2 = '0' + ms;
			ms3 = '00' + ms;
			ms4 = '000' + ms;
		} else if (ms < 100) {
			ms3 = '0' + ms;
			ms4 = '00' + ms;
		} else {
			ms4 = '0' + ms;
		}
	}

	// 返回的数据对象
	let result = {
		YYYY: YYYY,
		MM: MM,
		M: M,
		DD: DD,
		D: D,
		hh: hh,
		h: h,
		mm: mm,
		m: m,
		ss: ss,
		s: s,
		ms: ms,
		ms2: ms2,
		ms3: ms3,
		ms4: ms4,
		dt: date,
		f1: `${YYYY}-${MM}-${DD}`,
		f2: `${YYYY}年${M}月${D}日`,
		f3: `${YYYY}-${MM}-${DD} ${hh}:${mm}`,
		f4: `${h}:${m}:${s}`,
		f5: `${MM}-${DD}`,
		f6: `${YYYY}-${MM}`,
		f7: `${YYYY}年${M}月`,
		f8: `${h}:${m}`,
		f9: `${M}月${D}日`,
		notes: 'YYYY(年),MM(月,补0),M(月,不补0),DD(日,补0),D(日,不补0),hh(时,补0),h(时,不补0),mm(分,补0),m(分,不补0),ss(秒,补0),s(秒,不补0),ms(毫秒,不补0),ms2(毫秒,补0到2位),ms3(毫秒,补0到3位),ms4(毫秒,补0到4位),其余的f1,f2,... 看格式就知道了!'
	};
	return result;
}

// 转换时间
export function customTime(item = '') {
  const nowTime = new Date().getTime();

  const minuteTime = 60 * 1000;
  const hourTime = 60 * minuteTime;
  const dayTime = 24 * hourTime;
  const monthTime = dayTime * 30;
  const yearTime = monthTime * 12;

  const historyTime = new Date(item.replace(/-/g, '/')).getTime();
  const diffTime = parseInt(nowTime) - parseInt(historyTime);

  let descTime;
  if (diffTime >= yearTime) {
    // 按年算
    descTime = parseInt(diffTime / yearTime) + '年前';
  } else if (diffTime < yearTime && diffTime >= monthTime) {
    //按月算
    descTime = parseInt(diffTime / monthTime) + '月前';
  } else if (diffTime < monthTime && diffTime >= dayTime) {
    //按天算
    descTime = parseInt(diffTime / dayTime) + '天前';
  } else if (diffTime < dayTime && diffTime >= hourTime) {
    //按小时算
    descTime = parseInt(diffTime / hourTime) + '小时前';
  } else if (diffTime < hourTime && diffTime >= minuteTime) {
    //按分钟算
    descTime = parseInt(diffTime / minuteTime) + '分钟前';
  } else {
    descTime = '刚刚';
  }
  return descTime;
}

// 倒计时
export function countDown(count) {
	let d = parseInt(count / (24 * 60 * 60))
	d = d < 10 ? "0" + d : d
	let h = parseInt(count / (60 * 60) % 24);
	h = h < 10 ? "0" + h : h
	let m = parseInt(count / 60 % 60);
	m = m < 10 ? "0" + m : m
	let s = parseInt(count % 60);
	s = s < 10 ? "0" + s : s
	return d + '天' + h + '时' + m + '分' + s + '秒'
}

// 获取文件后缀
export function getFileExt(fileName = "") {
  const index = fileName.lastIndexOf(".");
  if (index > 0) {
    fileName = fileName.toLowerCase();
    return fileName.substring(index + 1);
  }
  return '';
}

// 获取文件名称
export function getFileName(fileName = "") {
  const index = fileName.lastIndexOf(".");
  if (index > 0) {
    fileName = fileName.toLowerCase();
    return fileName.substr(0, index);
  }
  return '';
}

// 微信本地存储
export function setStorageSync(key, value) {
  if (key) {
    uni.setStorageSync(key, value);
  }
}

export function getStorageSync(key) {
  if (key) {
    return uni.getStorageSync(key);
  }
}

export function removeStorageSync(key) {
  if (key) {
    return uni.removeStorageSync(key);
  }
}

/**
 * 判断数据是否是 String 类型
 * @param {Any} val 要判断的数据
 * @returns {Boolean} true:是;false:不是;
 */
export function isString(val) {
  return Object.prototype.toString.call(val) === '[object String]';
}

/**
 * 精确判断数据是否是 Date 类型
 * @param {Any} val 要判断的数据
 * @returns {Boolean} true:是;false:不是;
 */
export function isDate(val) {
  return Object.prototype.toString.call(val) === '[object Date]';
}

/**
 * 格式化日期
 * @param {Date|String} date 日期或日期字符串
 */
export function formatDate(date) {
  let YYYY = null;
  let M = null;
  let MM = null;
  let D = null;
  let DD = null;
  let h = null;
  let hh = null;
  let m = null;
  let mm = null;
  let s = null;
  let ss = null;
  let ms = null;
  let ms2 = null;
  let ms3 = null;
  let ms4 = null;
  let dt = null;

  // 如果 date 是 String 类型
  if (date && isString(date)) {
    // 真机运行时,如果直接用 new Date('YYYY-MM-DD hh:mm:ss') 会报 Invalid Date 错误,所以采用下面的方式创建日期
    let dtArr = date.replace(/\//g, '.').replace(/-/g, '.').replace(/:/g, '.').replace(/T/g, ' ').replace(' ', '.').replace(
      'Z', '').split('.');

    let year = 2020;
    let month = 12;
    let day = 18;
    let hour = 0;
    let minute = 0;
    let second = 0;
    let millisecond = 0;

    // 年
    if (dtArr.length > 0 && !isNaN(dtArr[0])) {
      year = parseInt(dtArr[0]);
    }
    // 月
    if (dtArr.length > 1 && !isNaN(dtArr[1])) {
      month = parseInt(dtArr[1]);
    }
    // 日
    if (dtArr.length > 2 && !isNaN(dtArr[2])) {
      day = parseInt(dtArr[2]);
    }
    // 时
    if (dtArr.length > 3 && !isNaN(dtArr[3])) {
      hour = parseInt(dtArr[3]);
    }
    // 分
    if (dtArr.length > 4 && !isNaN(dtArr[4])) {
      minute = parseInt(dtArr[4]);
    }
    // 秒
    if (dtArr.length > 5 && !isNaN(dtArr[5])) {
      second = parseInt(dtArr[5]);
    }
    // 毫秒
    if (dtArr.length > 6 && !isNaN(dtArr[6])) {
      millisecond = parseInt(dtArr[6]);
    }

    date = new Date(year, month - 1, day, hour, minute, second, millisecond);
  }

  // 如果 date 是 Date 类型
  if (date && this.isDate(date)) {
    YYYY = date.getFullYear();
    M = date.getMonth() + 1;
    MM = M >= 10 ? M : '0' + M;
    D = date.getDate();
    DD = D >= 10 ? D : '0' + D;
    h = date.getHours();
    hh = h >= 10 ? h : '0' + h;
    m = date.getMinutes();
    mm = m >= 10 ? m : '0' + m;
    s = date.getSeconds();
    ss = s >= 10 ? s : '0' + s;
    ms = date.getMilliseconds();
    ms2 = ms;
    ms3 = ms;
    ms4 = ms;
    if (ms < 10) {
      ms2 = '0' + ms;
      ms3 = '00' + ms;
      ms4 = '000' + ms;
    } else if (ms < 100) {
      ms3 = '0' + ms;
      ms4 = '00' + ms;
    } else {
      ms4 = '0' + ms;
    }
  }

  // 返回的数据对象
  let result = {
    YYYY: YYYY,
    MM: MM,
    M: M,
    DD: DD,
    D: D,
    hh: hh,
    h: h,
    mm: mm,
    m: m,
    ss: ss,
    s: s,
    ms: ms,
    ms2: ms2,
    ms3: ms3,
    ms4: ms4,
    dt: date,
    f1: `${YYYY}-${MM}-${DD}`,
    f2: `${YYYY}年${M}月${D}日`,
    f3: `${YYYY}-${MM}-${DD} ${hh}:${mm}`,
    f4: `${h}:${m}:${s}`,
    f5: `${MM}-${DD}`,
    f6: `${YYYY}-${MM}`,
    f7: `${YYYY}年${M}月`,
    f8: `${h}:${m}`,
    f9: `${M}月${D}日`,
    notes: 'YYYY(年),MM(月,补0),M(月,不补0),DD(日,补0),D(日,不补0),hh(时,补0),h(时,不补0),mm(分,补0),m(分,不补0),ss(秒,补0),s(秒,不补0),ms(毫秒,不补0),ms2(毫秒,补0到2位),ms3(毫秒,补0到3位),ms4(毫秒,补0到4位),其余的f1,f2,... 看格式就知道了!'
  };
  return result;
}


/**
 * 计算两个时间是否大于一个月
 * @param {String} starDate 进行比较的开始日期  例如:2017-07-08 2017/01/12  日期格式字符串
 * @param {String} endDate 进行比较的结束日期  例如:2017-07-08 2017/01/12  日期格式字符串
 * @returns {Boolean}
 */
export function getD(startTime, endTime) {
  startTime = new Date(startTime)
  endTime = new Date(endTime)
  var dateToMonth = 0
  var startDate = startTime.getDate() + startTime.getHours() / 24 + startTime.getMinutes() / 24 / 60;
  var endDate = endTime.getDate() + endTime.getHours() / 24 + endTime.getMinutes() / 24 / 60;
  if (endDate >= startDate) {
    dateToMonth = 0
  } else {
    dateToMonth = -1
  }
  let yearToMonth = (endTime.getYear() - startTime.getYear()) * 12
  let monthToMonth = endTime.getMonth() - startTime.getMonth()
  return yearToMonth + monthToMonth + dateToMonth
}

//计算获取两个日期之间相差的天数
export function getDaysBetween(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式
  let aDate, oDate1, oDate2, iDays
  aDate = sDate1.split("-")
  oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为12-18-2002格式
  aDate = sDate2.split("-")
  oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
  iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
  return iDays
}

//距今几天
export function getDistanceSpecifiedTime(dateTime) {
  let time = Date.parse(new Date());
  let lasttime = Date.parse(dateTime);
  let day = parseInt((time - lasttime) / (1000 * 60 * 60 * 24));
  return day
}

//距今几月
export function getMonthTime(val2) {
  const date = new Date();
  const val1 = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()
  const date1 = val1.split('-').map(item => Number(item));
  const date2 = val2.split('-').map(item => Number(item));
  const diff = [0, 0, 0].map((value, index) => date1[index] - date2[index]);
  let monthToMonth = `${diff[0] * 12 + diff[1]},${diff[2]}`
  return monthToMonth
}

//相差几月零几天
export function daysBetweet(val1, val2) {
  const date1 = val1.split('-').map(item => Number(item));
  const date2 = val2.split('-').map(item => Number(item));
  const diff = [0, 0, 0].map((value, index) => date1[index] - date2[index]);
  let time = `${diff[0] * 12 + diff[1]},${diff[2]}`
  return time
}

export function px2rpx(px) {
  return px * 750 / wx.getSystemInfoSync().windowWidth
}

export function rpx2px(rpx) {
  return rpx / 750 * wx.getSystemInfoSync().windowWidth
}

export function formatQuery2Str(query = {}) {
  let queryStr = "";
  if (isNotEmpty(query)) {
    queryStr = '?' + json2params(searchAssign(query));
  }
  return queryStr;
}

export function json2params(json = {}, slice = "&") {
  return Object.keys(json).reduce((acc, item) => {
    return acc + "" + item + "=" + json[item] + slice
  }, "").slice(0, -1)
}

/**
 * 将s转成时分秒
 * @param {num} seconds 秒数
 */
export function formateSeconds(seconds) {
  let h = 0, m = 0, s = 0
  if (seconds >= 3600) {
    h = Math.floor(seconds / 3600)
    let remain = seconds % 3600
    if (remain >= 60) {
      m = Math.floor(remain / 60)
      s = remain % 60
    } else {
      s = remain
    }
  } else if (seconds >= 60) {
    h = 0
    m = Math.floor(seconds / 60)
    s = seconds % 60
  } else {
    h = 0
    m = 0
    s = seconds
  }
  return (h >= 10 ? h : '0' + h) + ":" + (m >= 10 ? m : '0' + m) + ":" + (s >= 10 ? s : '0' + s)
}

// 数组某项转字符串拼接 arr数组 key指定字段 add拼接符
export function arrToIds(arr, key, add=","){
	let new_ids = '';
	arr.map(h=>{
		new_ids += ',' + h[key];
	})

	if(new_ids!=''){
		new_ids =  new_ids.substr(1);
	}
	return new_ids;
}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值