|
@@ -4,6 +4,9 @@ import {ACCESS_TOKEN_KEY} from "@/enums/cacheEnum";
|
|
|
import {Storage} from '@/utils/Storage';
|
|
|
import dayjs from "dayjs";
|
|
|
import {message as $message} from "ant-design-vue/lib/components";
|
|
|
+import {router} from '@/router';
|
|
|
+import {useUserStore} from '@/store/modules/user';
|
|
|
+import crtyptoHelp from "@/utils/crypto";
|
|
|
/**
|
|
|
* URL方式保存文件到本地
|
|
|
* @param data 文件的blob数据
|
|
@@ -120,13 +123,26 @@ export interface downResponse {
|
|
|
const handleDownloadByGet = async <T = any>(url, params, fileName, errorMsg): Promise<T> => {
|
|
|
try {
|
|
|
const token = Storage.get(ACCESS_TOKEN_KEY);
|
|
|
+ let headers = {}
|
|
|
+ if (token) {
|
|
|
+ // 登录用户token
|
|
|
+ headers['Authorization'] = token;
|
|
|
+
|
|
|
+ // 设置当前登录用户的角色的数据权限
|
|
|
+ const menuNo: any = router.currentRoute.value.meta.id;
|
|
|
+ if (menuNo != null) {
|
|
|
+ const allDataRange = useUserStore().dataRangeList;
|
|
|
+ const dataRange = allDataRange.filter(x => x.menuNo == menuNo)[0];
|
|
|
+ const dataRangeData = crtyptoHelp.encryptDes(JSON.stringify(dataRange));
|
|
|
+ headers['dng'] = dataRangeData.token;
|
|
|
+ headers['tm'] = dataRangeData.tm;
|
|
|
+ }
|
|
|
+ }
|
|
|
const res = await axios.get(url, {
|
|
|
params: params,
|
|
|
responseType: 'blob',//设置返回类型
|
|
|
//设置token
|
|
|
- headers: {
|
|
|
- Authorization: token,
|
|
|
- },
|
|
|
+ headers,
|
|
|
},).then((res) => {
|
|
|
downloadFile(res, fileName, errorMsg);
|
|
|
}, (error: any) => {
|