业务公用方法

50 阅读1分钟

判断是否为设备来源

  • 通过navigator.userAgent判断
const isMobile = ()=>{return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test(navigator.userAgent)}
  • 服务端如何判断
    • 发起请求的时候,会带上请求头:User-Agent
// php判断,返回数字,0为false,大于0标识true
preg_match_all("/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i",$_SERVER['HTTP_USER_AGENT']);

移动端适配rem

  const htmlDom = document.querySelector("html");
  const handleWindowResize = () => {
    //根据屏幕的变化适配的比例
    const scale = document.documentElement.clientWidth / 10;
    htmlDom.style.fontSize = scale + "px";
  };
  handleWindowResize();
  window.addEventListener("resize", handleWindowResize);

获取url中的query

function getQuery(str = "") {
  if (str[0] === "?") {
    // 去除第一位的问号
    str = str.substring(1);
  }
  let list: string[] = [];
  let obj: any = {};
  list = str.split("&");
  list.forEach((item) => {
    // 找第一个等号,以这个为分界点
    let index = item.indexOf("=");
    obj[item.substring(0, index)] = item.substring(index + 1, item.length);
  });
  return obj;
}
``