tools.js 1.31 KB
import moment from 'moment';
import { ref } from 'vue'

// 格式化时间
const formatDate = (date) => {
  return moment(date).format('YYYY-MM-DD HH:mm');
};

/**
 * @description 判断浏览器属于平台
 * @returns 
 */
const wxInfo = () => {
  let u = navigator.userAgent;
  let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器
  let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  let uAgent = navigator.userAgent.toLowerCase();
  let isTable = (uAgent.match(/MicroMessenger/i) == 'micromessenger') ? true : false;
  return {
    isAndroid,
    isiOS,
    isTable
  };
};

/**
 * @description 判断多行省略文本
 * @param {*} id 目标dom标签
 * @returns 
 */
const hasEllipsis = (id) => {
  let oDiv = document.getElementById(id);
  let flag = ref(false); // 关键,接收值必须都可监听
  if (oDiv.scrollHeight > oDiv.clientHeight) {
    flag = true
  }
  return flag
}

/**
 * @description 解析URL参数
 * @param {*} url 
 * @returns 
 */
const parseQueryString = url => {
  var json = {};
  var arr = url.indexOf('?') >= 0 ? url.substr(url.indexOf('?') + 1).split('&') : [];
  arr.forEach(item => {
    var tmp = item.split('=');
    json[tmp[0]] = tmp[1];
  });
  return json;
}

export { formatDate, wxInfo, hasEllipsis, parseQueryString };