import request from '@/utils/request'; import { OssQuery, OssVO } from './types'; import { AxiosPromise } from 'axios'; // 查询OSS对象存储列表 export function listOss(query: OssQuery): AxiosPromise { return request({ url: '/resource/oss/list', method: 'get', params: query }); } export function preview(ossId: string | number): any { return request({ url: '/file/preview/' + ossId, method: 'post', responseType: 'blob' }); } export function previewTxt(ossId: string | number): any { return request({ url: '/file/preview/' + ossId, method: 'post', responseType: 'blob', transformResponse: [ async function (data) { return await transformData(data) } ] }); } export function previewPerson(ossId: string | number): any { return request({ url: '/oss/person/preview/' + ossId, method: 'post', responseType: 'blob' }); } export function previewPersonTxt(ossId: string | number): any { return request({ url: '/oss/person/preview/' + ossId, method: 'post', responseType: 'blob', transformResponse: [ async function (data) { return await transformData(data) } ] }); } export function previewTextbook(ossId: string | number): any { return request({ url: '/file/textbook/preview/' + ossId, method: 'post', responseType: 'blob' }); } export function previewTextbookTxt(ossId: string | number): any { return request({ url: '/file/textbook/preview/' + ossId, method: 'post', responseType: 'blob', transformResponse: [ async function (data) { return await transformData(data) } ] }); } export function previewResource(ossId: string | number): any { return request({ url: '/file/resource/preview/' + ossId, method: 'post', responseType: 'blob' }); } export function previewResourceTxt(ossId: string | number): any { return request({ url: '/file/resource/preview/' + ossId, method: 'post', responseType: 'blob', transformResponse: [ async function (data) { return await transformData(data) } ] }); } const transformData = (data: any) => { return new Promise((resolve) => { let reader = new FileReader() reader.readAsText(data) reader.onload = function () { resolve(reader.result) } }) } // 查询OSS对象基于id串 export function listByIds(ossId: string | number): AxiosPromise { return request({ url: '/resource/oss/listByIds/' + ossId, method: 'get' }); } export function getByMd5(md5: string): any { return request({ url: '/resource/oss/identifier', method: 'get', params: { md5 } }); } // 删除OSS对象存储 export function delOss(ossId: string | number | Array) { return request({ url: '/resource/oss/' + ossId, method: 'delete' }); } export function pageTextbook(query: any): AxiosPromise { return request({ url: '/file/textbook/pageList', method: 'get', params: query }); } export function pageResource(query: any): AxiosPromise { return request({ url: '/file/resource/pageList', method: 'get', params: query }); } export function pagePerson(query: any): AxiosPromise { return request({ url: '/oss/person/pageList', method: 'get', params: query }); } export function awaitTexbookList(query: any): AxiosPromise { return request({ url: '/file/textbook/await/pageList', method: 'get', params: query }); } export function awaitResourceList(query: any): AxiosPromise { return request({ url: '/file/resource/await/pageList', method: 'get', params: query }); } export const addTextbook = (data: any) => { return request({ url: '/file/textbook', method: 'post', data: data }); } export const addResource = (data: any) => { return request({ url: '/file/resource', method: 'post', data: data }); } export const addPerson = (data: any) => { return request({ url: '/oss/person', method: 'post', data: data }); } export const reviewTextbook = (data: any) => { return request({ url: '/file/textbook/review', method: 'put', data: data }); } export const reviewResource = (data: any) => { return request({ url: '/file/resource/review', method: 'put', data: data }); } export const copyTextbook = (data: any) => { return request({ url: '/file/textbook/copy', method: 'put', data: data }); } export const copyResource = (data: any) => { return request({ url: '/file/resource/copy', method: 'put', data: data }); } export const copyPerson = (data: any) => { return request({ url: '/oss/person/copy', method: 'put', data: data }); } export const moveTextbook = (data: any) => { return request({ url: '/file/textbook/move', method: 'put', data: data }); } export const moveResource = (data: any) => { return request({ url: '/file/resource/move', method: 'put', data: data }); } export const movePerson = (data: any) => { return request({ url: '/oss/person/move', method: 'put', data: data }); } export function delTextbook(id: string | number | Array) { return request({ url: '/file/textbook/' + id, method: 'delete' }); } export function delResource(id: string | number | Array) { return request({ url: '/file/resource/' + id, method: 'delete' }); } export function delPerson(id: string | number | Array) { return request({ url: '/oss/person/' + id, method: 'delete' }); } export const getVolume = (query?: any): AxiosPromise => { return request({ url: '/resource/oss/volume', method: 'get', params: query }); };