下载后端返回的文件流
axios({
method: "get",
url: 'http://****',
params: {
keyword: this.paramsData.keyword,
startTime: this.dateFrame[0] ? this.$util.formatDate(this.dateFrame[0], 'yyyy-MM-dd hh:mm:ss') : '',
endTime: this.dateFrame[1] ? this.$util.formatDate(this.dateFrame[1], 'yyyy-MM-dd hh:mm:ss') : '' },
responseType: "blob"
})
.then(function (res) {
let blob = new Blob([res]);
let url = window.URL.createObjectURL(blob);
let a = document.createElement("a");
a.href = url;
a.download = "系统日志.xlsx";
a.click();
window.URL.revokeObjectURL(url);
})
.catch(function (res) { console.log("error", res); });
vue项目设置鼠标右键禁止与否
<div @contextmenu="show($event, 1)" ></div>
show (event, disableRightKey) {
if (disableRightKey == '1') {
event.preventDefault()
}
},
针对ie、safari浏览器时间格式化NAN问题解决方法
var time = obj.replace(/\-/g, "/");
input标签type为number时去掉后面调整箭头
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
appearance: none;
margin: 0;
}
input[type="number"] {
-moz-appearance: textfield;
}
html2canvas使用
downImg () {
const dom = this.$refs.saveImg
const Canvas = document.createElement('canvas')
const width = window.getComputedStyle(dom).width.split('px')[0]
const height = window.getComputedStyle(dom).height.split('px')[0]
const scale = 1
Canvas.width = width * scale
Canvas.height = height * scale
Canvas.style.width = `${width}px`
Canvas.style.height = `${height}px`
console.log('Canvas', Canvas)
Canvas.getContext('2d').scale(scale, scale)
html2canvas(dom, {
canvas: Canvas,
scale: 1,
useCORS: true,
logging: true,
width: width + 'px',
hegiht: height + 'px'
}).then((canvas) => {
console.log('canvas', canvas)
const context = canvas.getContext('2d')
context.mozImageSmoothingEnabled = false
context.webkitImageSmoothingEnabled = false
context.msImageSmoothingEnabled = false
context.imageSmoothingEnabled = false
this.saveImg = canvas.toDataURL('image/png')
})
},
防止浏览器自动填充用户名密码
// 在密码框上面加一行代码
<input type="password" hidden autocomplete="new-password" />// 加这句
<input v-model="form.password" type="password" class="w100"
placeholder="请输入密码" auto-complete="off" />
回到顶部
mounted() {
window.addEventListener('scroll', this.scrollToTop)
},
destroyed() {
window.removeEventListener('scroll', this.scrollToTop)
},
methods:{
scrollToTop() {
var scrollTop =
window.pageYOffset ||
document.documentElement.scrollTop ||
document.body.scrollTop
console.log(scrollTop)
if (scrollTop >= 200) {
this.showBackTop = true
} else {
this.showBackTop = false
}
},
toTop() {
window.scrollTo({
top: 0,
behavior: 'smooth',
})
},
}
页面变灰代码
*{ filter: grayscale(100%) !important; }
vue3一键复制
npm install vue-clipboard3
import useClipboard from 'vue-clipboard3'
const { toClipboard } = useClipboard()
const copyLink = () => {
toClipboard(dataForm.value.url)
globalProperties.$message.success('复制成功')
}
滚动条样式
.customScrollbar {
&::-webkit-scrollbar {
width: 5px;
}
&::-webkit-scrollbar-track {
background-color: #ffffff;
}
&::-webkit-scrollbar-thumb {
background-color: #bfbfbf;
border-radius: 3px;
}
&::-webkit-scrollbar-button {
display: none;
background-color: rgba(0, 0, 0, 0);
}
&::-webkit-scrollbar-corner {
background-color: rgba(0, 0, 0, 0);
}
}