初始化
This commit is contained in:
60
saiadmin-artd/src/utils/tool.ts
Normal file
60
saiadmin-artd/src/utils/tool.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
|
||||
/**
|
||||
* 检查权限
|
||||
* @param permission
|
||||
* @returns
|
||||
*/
|
||||
export function checkAuth(permission: string) {
|
||||
const userStore = useUserStore()
|
||||
const userButtons = userStore.getUserInfo.buttons
|
||||
// 超级管理员
|
||||
if (userButtons?.includes('*')) {
|
||||
return true
|
||||
}
|
||||
|
||||
// 如果按钮为空或未定义,移除元素
|
||||
if (!userButtons?.length) {
|
||||
return false
|
||||
}
|
||||
|
||||
const hasPermission = userButtons.some((item) => item === permission)
|
||||
|
||||
// 如果没有权限,移除元素
|
||||
if (hasPermission) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载文件
|
||||
* @param res 响应数据
|
||||
* @param downName 下载文件名
|
||||
*/
|
||||
export function downloadFile(res: any, downName: string = '') {
|
||||
const aLink = document.createElement('a')
|
||||
let fileName = downName
|
||||
let blob = res //第三方请求返回blob对象
|
||||
|
||||
//通过后端接口返回
|
||||
if (res.headers && res.data) {
|
||||
blob = new Blob([res.data], {
|
||||
type: res.headers['content-type'].replace(';charset=utf8', '')
|
||||
})
|
||||
if (!downName) {
|
||||
const contentDisposition = decodeURI(res.headers['content-disposition'])
|
||||
const result = contentDisposition.match(/filename="(.+)/gi)
|
||||
fileName = result?.[0].replace(/filename="(.+)/gi, '') || ''
|
||||
fileName = fileName.replace('"', '')
|
||||
}
|
||||
}
|
||||
|
||||
aLink.href = URL.createObjectURL(blob)
|
||||
// 设置下载文件名称
|
||||
aLink.setAttribute('download', fileName)
|
||||
document.body.appendChild(aLink)
|
||||
aLink.click()
|
||||
document.body.removeChild(aLink)
|
||||
URL.revokeObjectURL(aLink.href)
|
||||
}
|
||||
Reference in New Issue
Block a user