From 780c52f9779bcb1b1efd54c88f222873b8fa441d Mon Sep 17 00:00:00 2001 From: freshman-white <2514756131@qq.com> Date: Thu, 31 Aug 2023 16:16:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E6=8B=89=E5=88=B7=E6=96=B0=E5=92=8C?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/http/type.ts | 5 + src/api/media.ts | 27 ++-- src/components/MediaPanel.vue | 242 +++++++++++++++++++++++++++------- 3 files changed, 221 insertions(+), 53 deletions(-) diff --git a/src/api/http/type.ts b/src/api/http/type.ts index f7d7982..bf3e5b8 100644 --- a/src/api/http/type.ts +++ b/src/api/http/type.ts @@ -23,6 +23,11 @@ export interface IWorkspaceResponse { data: T; message: string; } +export interface idData{ + ids?:any, + file_name?:string, + father_id:string|number +} export type IStatus = 'WAITING' | 'DOING' | 'SUCCESS' | 'FAILED'; diff --git a/src/api/media.ts b/src/api/media.ts index 1eda5fa..132ccfe 100644 --- a/src/api/media.ts +++ b/src/api/media.ts @@ -1,5 +1,5 @@ import { message } from 'ant-design-vue' -import request, { IPage, IWorkspaceResponse } from '/@/api/http/request' +import request, { IPage, IWorkspaceResponse, idData } from '/@/api/http/request' const HTTP_PREFIX = '/media/api/v1' // Get Media Files @@ -29,10 +29,21 @@ export const downloadMediaFile = async function (workspaceId: string, fileId: st return result.data } } - -// Get Media getFolder -// export const getFolder = async function (workspaceId: string): Promise> { -// const url = `${HTTP_PREFIX}/files/${workspaceId}/folder/2` -// const result = await request.get(url) -// return result.data -// } +// 新增或修改文件夹 +export const operateFile = async (wid: string, body:idData): Promise> => { + const url = `${HTTP_PREFIX}/files/${wid}/folder` + const result = await request.post(url, body) + return result.data +} +// 删除文件 +export const deleteFile = async (wid: string, id:any): Promise> => { + const url = `${HTTP_PREFIX}/files/${wid}/folder` + const result = await request.delete(url + '?id_arr=' + id) + return result.data +} +// 文件数 +export const floderTreeData = async (wid: string): Promise> => { + const url = `${HTTP_PREFIX}/files/${wid}/folder/tree` + const result = await request.get(url) + return result.data +} diff --git a/src/components/MediaPanel.vue b/src/components/MediaPanel.vue index 960cbea..7a575f1 100644 --- a/src/components/MediaPanel.vue +++ b/src/components/MediaPanel.vue @@ -1,9 +1,10 @@