<template>
<div>
<button v-on:click="login">登陆</button>
<button v-on:click="download">下载</button>
</div>
</template>
<script>
import md5 from 'js-md5'
import axios from 'axios'
const appServer = axios.create({
baseURL: "http://localhost:8080/",
timeout: 3 * 60 * 1000
})
export default {
name: 'BlogLogin',
methods: {
downloadFileBlob (res, excelName, isBlob = false) {
const content = res.data
const blob = new Blob([content])
const fileName = excelName
if ('download' in document.createElement('a')) {
// 非IE下载
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'none'
elink.href = URL.createObjectURL(isBlob ? blob : content)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href) // 释放URL 对象
document.body.removeChild(elink)
} else {
// IE10+下载
navigator.msSaveBlob(content, fileName)
}
},
login () {
let Base64 = require('js-base64').Base64
appServer
.post('/login', {
username: 'admin',
password: md5("admin")
})
.then(successResponse => {
console.log(successResponse)
console.log(successResponse.data.data.__token);
sessionStorage.setItem('__token', successResponse.data.data.__token)
console.log(sessionStorage.getItem('__token'))
})
.catch(failResponse => {})
},
download(){
appServer
.post('/download', {
_token:sessionStorage.getItem('__token')
},{ headers: { file: true }, file: true, responseType: 'blob' })
.then(res => {
this.downloadFileBlob(res,"1243.xls",true);
})
.catch(fres => {})
}
}
}
</script>