bug修复+请求拦截

This commit is contained in:
Double-_-Z 2024-12-26 20:16:59 +08:00
parent 58a0257c30
commit 6f45facc1b
5 changed files with 44 additions and 34 deletions

View File

@ -11,7 +11,7 @@ const downloadPhoto = (imgSrc:any) => {
const url = window.URL.createObjectURL(res.data);
const a = document.createElement('a');
a.href = url;
a.download = '下载图片.jpg';
a.download = '下载图片.'+ imgSrc.substr(imgSrc.lastIndexOf('.')+1) || 'jpg';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

View File

@ -38,14 +38,21 @@ service.interceptors.response.use(
const res = response.data;
if (res.code && res.code !== 0) {
// `token` 过期或者账号已在别处登录
if (res.code === 401 || res.code === 4001) {
Session.clear(); // 清除浏览器全部临时缓存
window.location.href = '/'; // 去登录页
if (res.code === 401 || res.code === 4001 || (res.code === 502 && res.errorMsg==='只有登录成功后才可访问')) {
// ElMessage.error('该账户已在其它地方登录,请重新登录');
ElMessageBox.alert('你已被登出,请重新登录', '提示', {})
.then(() => {})
.catch(() => {});
.then(() => {
Session.clear(); // 清除浏览器全部临时缓存
window.location.href = '/'; // 去登录页
})
.catch(() => {
Session.clear(); // 清除浏览器全部临时缓存
window.location.href = '/'; // 去登录页
});
}
// else if(res.code === 502 && res.errorMsg){
// console.log(res.errorMsg);
// return res;
// }
return Promise.reject(service.interceptors.response);

View File

@ -322,15 +322,14 @@ const viteUrl = import.meta.env.VITE_API_URL;
//
const jpgFormatter = (row: any) => {
let newPath;
if (row?.data) {
newPath = row.data.path.replaceAll('\\', '/')
} else {
newPath = row.path.replaceAll('\\\\', '/')
}
newPath = newPath.includes('http://8.138.171.103/')||newPath.includes('http://guojunjie.oss-cn-hangzhou.aliyuncs.com/') ?
newPath : encodeURI(viteUrl + newPath)
// console.log(newPath);
let newPath = row?.data ? row.data.path : row.path;
// if (row?.data) {
// newPath = row.data.path.replaceAll('\\', '/')
// } else {
// newPath = row.path.replaceAll('\\\\', '/')
// }
newPath = newPath.includes(viteUrl)||newPath.includes('http://8.138.171.103/')||newPath.includes('http://guojunjie.oss-cn-hangzhou.aliyuncs.com/') ?
newPath : encodeURI(newPath)
return `${newPath}`;
}
@ -475,13 +474,16 @@ const handleRemove = (file: UploadFile, uploadFiles) => {
//
const download = async(row:any) =>{
state.formData.loading = true;
let newPath;
if (row?.data) {
newPath = row.data.path.replaceAll('\\', '/')
} else {
newPath = row.path.replaceAll('\\\\', '/')
}
newPath = newPath.includes('http://localhost:8888/') ? newPath : viteUrl + newPath
// let newPath;
// if (row?.data) {
// newPath = row.data.path.replaceAll('\\', '/')
// } else {
// newPath = row.path.replaceAll('\\\\', '/')
// }
// newPath = newPath.includes('http://localhost:8888/') ? newPath : viteUrl + newPath
let newPath = row?.data ? row.data.path : row.path;
newPath = newPath.includes(viteUrl)||newPath.includes('http://8.138.171.103/')||newPath.includes('http://guojunjie.oss-cn-hangzhou.aliyuncs.com/') ?
newPath : encodeURI(newPath);
try{
await downloadPhoto(newPath);
}catch(error){

View File

@ -34,18 +34,19 @@
<!-- <el-table-column prop="type" label="类型" show-overflow-tooltip></el-table-column> -->
<el-table-column prop="reviewStatus" align="center" label="审核结果" show-overflow-tooltip>
<template #default="scope">
<el-tag v-if="scope.row.reviewStatus === 0">未发布</el-tag>
<el-tag v-else-if="scope.row.reviewStatus === 1" type="warning">审核中</el-tag>
<el-tag v-if="scope.row.reviewStatus === 1" type="warning">审核中</el-tag>
<el-tag v-else-if="scope.row.reviewStatus === 2" type="success">通过</el-tag>
<el-tag v-else-if="scope.row.reviewStatus === 3" type="danger">未通过</el-tag>
<el-tag v-else>未发布</el-tag>
</template>
</el-table-column>
<el-table-column prop="createtime" align="center" label="时间" :formatter="dateFormatter" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="200" align="center">
<template #default="scope">
<!-- <el-button size="small" text type="primary" @click="toShowDetail(scope.row.id)">查看详情</el-button> -->
<el-button size="small" v-if="scope.row.reviewStatus === 0" text type="primary" @click="audit(scope.row)">审核</el-button>
<el-button size="small" v-else-if="scope.row.reviewStatus === 0" text type="primary" @click="toPublic(scope.row)">发布</el-button>
<el-button size="small" v-if="scope.row.reviewStatus === 1" text type="primary" @click="audit(scope.row)">审核</el-button>
<el-button size="small" v-else-if="scope.row.reviewStatus === null" text type="primary" @click="toPublic(scope.row)">发布</el-button>
<el-button size="small" v-else text type="primary" @click="audit(scope.row)">重新审核</el-button>
</template>
</el-table-column>
</el-table>
@ -63,7 +64,7 @@
>
</el-pagination>
</el-card>
<MessageDialog ref="messageDialogRef" />
<!-- <MessageDialog ref="messageDialogRef" /> -->
<!-- 回复弹窗 -->
<el-dialog style="height: 200px;" :title="state.auditDialog.title" v-model="state.auditDialog.show" width="400px">
<div class="dialog-content">
@ -88,8 +89,8 @@ import { sharesApi } from '/@/api/service/shares';
import { ElMessage, ElMessageBox, TableColumnCtx } from 'element-plus';
//
const MessageDialog = defineAsyncComponent(() => import('/@/views/message/dialog.vue'));
const messageDialogRef = ref();
// const MessageDialog = defineAsyncComponent(() => import('/@/views/message/dialog.vue'));
// const messageDialogRef = ref();
//
const state = reactive({
@ -117,7 +118,7 @@ const state = reactive({
//
const statusList = ref([
{label: '未发布', value: 0},
// {label: '', value: ''},
{label: '审核中', value: 1},
{label: '通过', value: 2},
{label: '未通过', value: 3},
@ -154,9 +155,9 @@ const reset = () =>{
}
//
const toShowDetail = (id: any) => {
messageDialogRef.value.openDialog(id);
}
// const toShowDetail = (id: any) => {
// messageDialogRef.value.openDialog(id);
// }
const replayFormRef = ref();

View File

@ -169,7 +169,7 @@ const getVideoDetail = async () => {
// 01truefalse
// ts
if (state.data.path) {
const never: any = [{ name: state.data.name, url: viteUrl + state.data.path }];
const never: any = [{ name: state.data.name, url: state.data.path }];
state.fileArray = never;
state.coverHide = true;
}