移动端开发常用snippets

Posted rosendolu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端开发常用snippets相关的知识,希望对你有一定的参考价值。

  1. 判断浏览器环境
  2. 解析url参数
  3. 时间格式化

判断浏览器环境

const UA  = navigator.userAgent;

// 判断终端类型
const isWechatBrowser = () => {
    return /micromessenger/i.test(UA);
  };
const isMobile = () => {
    const regExp = /ipad|iphone|android|blackberry|windows phone|webos/i
    return regExp.test(UA)
}
const isios = () => {
    return /iphone|ipad|ipod/i.test(UA)
}
const isiPhone = () => {
    return /iphone/i.test(UA)
}
const isIpad = () => {
    return /ipad/i.test(UA)
}
const isIpod = () => {
    return /ipod/i.test(UA)
}
const isAndroid = () => {
    return /android/i.test(UA)
}

/*判断浏览器类型*/
const isFirefox = () => {
    return /firefox/i.test(UA);
}
const isChrome = () => {
    return /chrome/i.test(UA)
}
exports {isWechatBrowser}

解析url参数

const urlQueryToObject = (url) => {
    const arr =  url.split('?')[1].split('&');
  return  arr.reduce((acc,value,index) => {value.replace(/(w+)=(w+)/,(match,p1,p2) => {acc[p1] = p2});return acc},{})
}
// exapmple
// location.href="http:example.com/index.html?a=1&b=2"
urlQueryToObject(location.href) // {a:1,b:2}

时间格式化

export const  createAt = date => {
    var time = new Date(date);
    var year = time.getFullYear();
    var month = time.getMonth() + 1;
    var day = time.getDate();
    var hh = time.getHours();
    var mm = time.getMinutes();
    return year + '年' + month + '月' + day + '日' + ' ' + hh + ':' + mm;
}
export const timeAgo  = (date) =>  {
    var seconds = Math.floor((new Date() - new Date(date)) / 1000);

    const yearseconds = 365 * 24 * 60 * 60;// 一年有多少秒
    const monthseconds = 30 * 24 * 60 * 60; //  一个月有多少秒
    const dateseconds = 24 * 60 * 60;// 一天有多少秒

    let interval = 0;

    if (seconds > yearseconds) {
        return createAt(date);
    } else if (seconds > monthseconds) {
        interval = Math.floor(seconds / monthseconds);
        return interval + '月前';
    } else if (seconds > dateseconds) {
        interval = Math.floor(seconds / dateseconds);
        return interval + '天前';
    } else if (seconds > 3600) {
        interval = Math.floor(seconds / 3600);
        return interval + '小时前';
    } else if (seconds > 60) {
        interval = Math.floor(seconds / 60);
        return interval + '分钟前';
    } else {
        return '刚刚';
    }
},

参考:

以上是关于移动端开发常用snippets的主要内容,如果未能解决你的问题,请参考以下文章

VSCode插件开发全攻略代码片段设置自定义欢迎页

Sublime Text自定制代码片段(Code Snippets)

vscode 用户代码片段 vue初始化模板 Snippet #新加入开头注释 自动生成文件名 开发日期时间等内容

如何在Sublime Text中添加代码片段

高效Web开发的10个jQuery代码片段

sublime 添加代码片段(snippets)