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) } ] }); } 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 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 function pageResource(query: any): AxiosPromise { return request({ url: '/file/resource/pageList', method: 'get', params: query }); } export const review = (data: any) => { return request({ url: '/file/textbook/review', method: 'put', data: data }); } export const copy = (data: any) => { return request({ url: '/file/textbook/copy', method: 'put', data: data }); } export const move = (data: any) => { return request({ url: '/file/textbook/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' }); }