| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -17,6 +17,7 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        <template v-if="column.key === 'action'"> | 
					 | 
					 | 
					 | 
					        <template v-if="column.key === 'action'"> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          <TableAction | 
					 | 
					 | 
					 | 
					          <TableAction | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            :actions="[ | 
					 | 
					 | 
					 | 
					            :actions="[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					              { icon: IconEnum.VIEW, label: '复制链接', onClick: handleCopy.bind(null, record) }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              { | 
					 | 
					 | 
					 | 
					              { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                icon: IconEnum.DELETE, | 
					 | 
					 | 
					 | 
					                icon: IconEnum.DELETE, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                color: 'error', | 
					 | 
					 | 
					 | 
					                color: 'error', | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -36,9 +37,10 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  </div> | 
					 | 
					 | 
					 | 
					  </div> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					</template> | 
					 | 
					 | 
					 | 
					</template> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					<script lang="ts" setup name="InfraFile"> | 
					 | 
					 | 
					 | 
					<script lang="ts" setup name="InfraFile"> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import { ref } from 'vue' | 
					 | 
					 | 
					 | 
					import { ref, unref } from 'vue' | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import { useI18n } from '@/hooks/web/useI18n' | 
					 | 
					 | 
					 | 
					import { useI18n } from '@/hooks/web/useI18n' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import { useMessage } from '@/hooks/web/useMessage' | 
					 | 
					 | 
					 | 
					import { useMessage } from '@/hooks/web/useMessage' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import { useCopyToClipboard } from '@/hooks/web/useCopyToClipboard' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import { IconEnum } from '@/enums/appEnum' | 
					 | 
					 | 
					 | 
					import { IconEnum } from '@/enums/appEnum' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import { BasicUpload } from '@/components/Upload' | 
					 | 
					 | 
					 | 
					import { BasicUpload } from '@/components/Upload' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import { BasicTable, useTable, TableAction } from '@/components/Table' | 
					 | 
					 | 
					 | 
					import { BasicTable, useTable, TableAction } from '@/components/Table' | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -49,6 +51,7 @@ import { uploadApi } from '@/api/base/upload' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					const { t } = useI18n() | 
					 | 
					 | 
					 | 
					const { t } = useI18n() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					const { createMessage } = useMessage() | 
					 | 
					 | 
					 | 
					const { createMessage } = useMessage() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					const { clipboardRef, copiedRef } = useCopyToClipboard() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					const uploadParams = ref({ | 
					 | 
					 | 
					 | 
					const uploadParams = ref({ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  Authorization: 'Bearer ' + getAccessToken(), | 
					 | 
					 | 
					 | 
					  Authorization: 'Bearer ' + getAccessToken(), | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -75,6 +78,13 @@ function handleChange() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  reload() | 
					 | 
					 | 
					 | 
					  reload() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					function handleCopy(record: Recordable) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  clipboardRef.value = record.url | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  if (unref(copiedRef)) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    createMessage.warning('复制成功') | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					async function handleDelete(record: Recordable) { | 
					 | 
					 | 
					 | 
					async function handleDelete(record: Recordable) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  await deleteFile(record.id) | 
					 | 
					 | 
					 | 
					  await deleteFile(record.id) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  createMessage.success(t('common.delSuccessText')) | 
					 | 
					 | 
					 | 
					  createMessage.success(t('common.delSuccessText')) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |