vue中比较常用的工具集锦

读者可以直接复制以下代码到工具类中,加以应用

import Cookies from 'js-cookie'

const getDeviceIdUrl = 'app://getDeviceId'
//是否空对象
export function isEmptyObject(obj) {
let i;
for (i in obj) {
return false
}
return true
}
//cookie中保存token
export function setToken(token) {
Cookies.set('token', token)
}
//cookie中读取token
export function getToken() {
return Cookies.get('token')
}
//cookie中删除token
export function removeToken() {
Cookies.remove('token')
}
//localstorage中保存元素,可保存对象元素
export function setItem(name, item) {
localStorage.setItem(name, JSON.stringify(item))
}
//localstorage中读取元素,可读取对象元素
export function getItem(name) {
return JSON.parse(localStorage.getItem(name))
}
//localstorage中删除元素
export function removeItem(name) {
localStorage.removeItem(name)
}

/**
* [getUrlParam 解析 url 中的参数]
* @param {[type]} name [要获取的参数名]
* @return {[type]} [description]
*/
export function getUrlParam(name) {
let paramsString = location.href.split('?')[1],
res = {}
if ( !paramsString ) {
return null
}
let params = paramsString.split('&')
for (let param of params) {
let tmp = param.split('=')
res[tmp[0]] = tmp[1]
}
if (name) {
return res[name]
} else {
return res
}
}

/**
* [getDeviceId 获取设备码]
* @return {[type]} [description]
* @description
* 1、获取用户唯一标识码
*/
export function getUuid() {
return getItem('uuid')
}

/**
* [getDeviceIdFromApp 从原生 app 获取设备码]
* @return {[type]} [description]
* !!! 有可能有异步操作的问题
*/
export function getDeviceIdFromApp() {

let deviceId = getItem('deviceId')

// 如果已经有设备号就不作任何操作
if (deviceId) {
return
}
// 如果是 windows 环境,设备号随机生成,仅作为测试使用
if (window.navigator.platform.indexOf('Win') > -1) {
deviceId = randomInt(10000, 99999) + new Date().getTime().toString()
setItem('deviceId', deviceId)
} else {
if (!window.setDeviceId) {
window.setDeviceId = deviceId => {
setItem('deviceId', deviceId)
}
}
window.location = getDeviceIdUrl
}
}
/**
* 将日期转换为指定的格式
* @param {Object} dateStr "1469281920000" "2016-07-23 21:52"
* @param {Object} fmt "yyyy.MM.dd" "yyyy/MM/dd" "yyyy-MM-dd"
* eg:var time2 = new Date().format("yyyy-MM-dd");
*/
export function dateFormat(dateStr,fmt) {
dateStr=new Date(dateStr);
var o = {
"M+" : dateStr.getMonth()+1, //月份
"d+" : dateStr.getDate(), //日
"h+" : dateStr.getHours(), //小时
"m+" : dateStr.getMinutes(), //分
"s+" : dateStr.getSeconds(), //秒
"q+" : Math.floor((dateStr.getMonth()+3)/3), //季度
"S" : dateStr.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt)) {
fmt=fmt.replace(RegExp.$1, (dateStr.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}
/**
* 在微信上隐藏地址 方法1隐藏
*/
export function hideaddress (){
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
}else onBridgeReady();
}
/**
* 图片不压缩展示
*/
export function setImage(fileUrl){
// 创建image对象
var image = new Image();
image.src = fileUrl;
// 获取图片宽高
image.onload = function(){
console.log("宽度为:",this.width,"高度为:",this.height);
if(this.width > this.height){
return true
}else{
return false
}
}
}

转载于:https://www.cnblogs.com/dayongmengmengda/p/9971119.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值