diff --git a/backend/dvadmin/system/views/file_list.py b/backend/dvadmin/system/views/file_list.py index c5956998d8fe3335a171a1b1dd0cbd8ccf6ce319..4d388e121e0a064282820fc3a50bfb4e3aa9c246 100644 --- a/backend/dvadmin/system/views/file_list.py +++ b/backend/dvadmin/system/views/file_list.py @@ -15,8 +15,7 @@ class FileSerializer(CustomModelSerializer): url = serializers.SerializerMethodField(read_only=True) def get_url(self, instance): - base_url = f"{self.request.scheme}://{self.request.get_host()}/" - return base_url + (instance.file_url or (f'media/{str(instance.url)}')) + return instance.file_url or f'media/{str(instance.url)}' class Meta: model = FileList diff --git a/web/src/views/system/fileList/crud.tsx b/web/src/views/system/fileList/crud.tsx index 5c6a0d5a634cf7d8910b623388e0a28a688597de..701e9d78ffb1f7aad482d878b459fb2ad1fff01a 100644 --- a/web/src/views/system/fileList/crud.tsx +++ b/web/src/views/system/fileList/crud.tsx @@ -1,5 +1,6 @@ import * as api from './api'; import { UserPageQuery, AddReq, DelReq, EditReq, CrudExpose, CrudOptions, CreateCrudOptionsProps, CreateCrudOptionsRet } from '@fast-crud/fast-crud'; +import { getBaseURL } from '/@/utils/baseUrl'; export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet { const pageRequest = async (query: UserPageQuery) => { @@ -113,6 +114,9 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp column:{ minWidth: 200, }, + valueBuilder(context: ValueBuilderContext) { + context.row.url = getBaseURL() + context.row.url; + }, }, md5sum: { title: '文件MD5', diff --git a/web/src/views/system/messageCenter/crud.tsx b/web/src/views/system/messageCenter/crud.tsx index dddc1a65a928433bc6de25cb503d1cc7561f989e..965b11d621ad7580e9c84d0e2238fa1af1e85823 100644 --- a/web/src/views/system/messageCenter/crud.tsx +++ b/web/src/views/system/messageCenter/crud.tsx @@ -4,6 +4,7 @@ import tableSelector from '/@/components/tableSelector/index.vue'; import { shallowRef, computed } from 'vue'; import manyToMany from '/@/components/manyToMany/index.vue'; import { auth } from '/@/utils/authFunction'; +import { getBaseURL } from '/@/utils/baseUrl'; const { compute } = useCompute(); export default function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet { @@ -356,7 +357,7 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat uploader: { type: 'form', buildUrl(res: any) { - return res.url; + return getBaseURL() + res.url; }, }, },