wjx 2 rokov pred
rodič
commit
ba1ca62fff

+ 4 - 9
src/components/FileBoxAD/components/fileModal/index.tsx

@@ -1,11 +1,10 @@
-import WxSelect from '@/components/WxSelect'
 import { Input, InputNumber, Modal, Tag } from 'antd'
 import React, { useMemo } from 'react'
 import { useModel } from 'umi'
 /**新建文件夹,修改非图文素材名称 */
 function FileModal(props: { isAll?: boolean }) {
     const { isAll } = props
-    const { state, set, fileOk, nameOk, offEditFile } = useModel(isAll ? 'useOperating.useBdMedia' : 'useOperating.useBdMediaPup')
+    const { state, set, fileOk, nameOk, offEditFile } = useModel(isAll ? 'useLaunchAdq.useBdMedia' : 'useLaunchAdq.useBdMediaPup')
     const { fileVisible, actionItem, fileName, sort, videoDescription, videoTitle } = state
     const { state: { selectWx }, initSelectWx } = useModel('useOperating.useWxGroupList')//公众号筛选
     const title = useMemo(() => {
@@ -13,11 +12,9 @@ function FileModal(props: { isAll?: boolean }) {
             return '编辑文件夹'
         }
         switch (actionItem?.fileType) {
-            case 'image':
+            case 'IMG':
                 return '编辑图片';
-            case 'voice':
-                return '编辑音频';
-            case 'video':
+            case 'VIDEO':
                 return '编辑视频';
         }
         return '新建文件夹'
@@ -46,7 +43,7 @@ function FileModal(props: { isAll?: boolean }) {
         </div>
 
         {
-            actionItem?.fileType === 'video' ? <div>
+            actionItem?.fileType === 'VIDEO' ? <div>
                 <div style={{ display: 'flex', flexFlow: 'row', marginBottom: 10, alignItems: 'center' }}>
                     <label style={{ width: '15%' }}>名称:</label>
                     <Input
@@ -68,7 +65,6 @@ function FileModal(props: { isAll?: boolean }) {
                         }}
                     />
                 </div>
-                <WxSelect />
             </div> : <>
                 <div style={{ display: 'flex', flexFlow: 'row', marginBottom: 10, alignItems: 'center' }}>
                     <label style={{ width: '15%' }}>名称:</label>
@@ -81,7 +77,6 @@ function FileModal(props: { isAll?: boolean }) {
                         }}
                     />
                 </div>
-                <WxSelect />
             </>
         }
     </Modal>

+ 40 - 14
src/components/FileBoxAD/components/imgModal/index.tsx

@@ -1,36 +1,62 @@
 import React, { useCallback, useState } from 'react'
-import { Modal } from 'antd'
+import { Form, Input, Modal } from 'antd'
 import FormItem from '@/components/Formitem'
 import { FormConfig } from '@/components/Formitem/type'
 import { useModel } from 'umi'
-import WxSelect from '@/components/WxSelect'
+
+
 /**新建非图文素材 */
 let ImgModal = React.memo((props: { isAll?: boolean }) => {
+
+    /*****========STA=========*****/
     const { isAll } = props
     const [fromsubmit, setFromsubmit] = useState<() => Promise<any>>()//存放from提交事件
     const callback = useCallback((fnc: () => Promise<any>) => { setFromsubmit(fnc) }, [])//回调获取from提交事件
-    const { state, typeEnum, fileOk, offEditFile } = useModel(isAll ? 'useOperating.useBdMedia' : 'useOperating.useBdMediaPup')
-    const { imgVisrible, fileType, actionItem } = state
-    const { state: { selectWx }, initSelectWx} = useModel('useOperating.useWxGroupList')//公众号筛选
+    const { state, typeEnum, fileOk, offEditFile } = useModel(isAll ? 'useLaunchAdq.useBdMedia' : 'useLaunchAdq.useBdMediaPup')
+    const { imgVisrible, mediaType, actionItem } = state
+    /*****========END=========*****/
+
+    const onFinish = (values: any) => {
+        console.log('Success:', values);
+    };
+
+    const onFinishFailed = (errorInfo: any) => {
+        console.log('Failed:', errorInfo);
+    };
+
     return <Modal
-        title={(actionItem ? '编辑' : '新建') + typeEnum[fileType as string]}
+        title={(actionItem ? '编辑' : '新建') + typeEnum[mediaType as string]}
         visible={imgVisrible}
-        onOk={(e) => { fileOk(e, fromsubmit, selectWx);initSelectWx() }}
-        onCancel={()=>{
+        onOk={(e) => { fileOk(e, fromsubmit); }}
+        onCancel={() => {
             offEditFile();
-            initSelectWx()
         }}
         destroyOnClose
         maskClosable={false}
     >
-        <FormItem
-            formConfig={config(typeEnum[fileType as string])}
+        {/* <FormItem
+            formConfig={config(typeEnum[mediaType as string])}
             flow='column'
             getFormSubmit={callback}
             defaultProps={{ sort: 0 }}
             isAll={isAll}
-        />
-        <WxSelect />
+        /> */}
+        <Form
+            name="basic"
+            labelCol={{ span: 4 }}
+            wrapperCol={{ span: 20 }}
+            initialValues={{ remember: true }}
+            onFinish={onFinish}
+            onFinishFailed={onFinishFailed}
+            autoComplete="off"
+        >
+            <Form.Item
+                label="图片名称"
+                name="fileName"
+            >
+                <Input />
+            </Form.Item>
+        </Form>
     </Modal>
 })
 export default ImgModal
@@ -42,7 +68,7 @@ let config: (name: string,) => FormConfig[] = (name) => {
             name: 'videoTitle',
             width: 200,
         },
-        
+
         {
             label: name + '描述',
             tag: 'TextArea',

+ 47 - 39
src/components/FileBoxAD/index.tsx

@@ -9,7 +9,6 @@ import Updata from "../MaterialModal/updata"
 import WxSelect from "../WxSelect"
 import TreeBox from "./components/tree"
 import SortModal from "./components/fileModal/sortModal"
-import PreviewLocalModal from "@/components/MaterialModal/previewLocalModal"
 
 interface News {
     id: number,
@@ -28,7 +27,7 @@ interface News {
 interface Item {
     id: number,
     folder: boolean,//是否是文件夹
-    fileType: 'video' | 'image',//类型
+    mediaType: 'VIDEO' | 'IMG',//类型
     number: string,//编号
     title: string,//名称
     url: string,//链接
@@ -51,16 +50,25 @@ interface Props {
 function FlieBox(props: Props) {
 
     const { showSync, isAll = true, height, noFile = false, isBd } = props
-    const { state, set, dels, list, get, onFile, allFile, delPupOn, delPupOff, changeClickFile, editFile, fileClick, treeClick, pathClick, getList, edit_media_folder, get_folder_tree } = useModel(isAll || isBd ? 'useLaunchAdq.useBdMedia' : 'useLaunchAdq.useBdMediaPup')
-    const { fileVisible, belongUser, selectFile, delPupId, xy, rightClickPup, path, publicPath, parentId, imgVisrible, fileType, sortVisible } = state
+    const { state, set, dels, listImg, listVideo, get, onFile, allFile, delPupOn, delPupOff, changeClickFile, editFile, fileClick, treeClick, pathClick, getList, edit_media_folder, get_folder_tree_img, get_folder_tree_video } = useModel(isAll || isBd ? 'useLaunchAdq.useBdMedia' : 'useLaunchAdq.useBdMediaPup')
+    const { fileVisible, belongUser, selectFile, delPupId, xy, rightClickPup, path, publicPath, parentId, imgVisrible, mediaType, sortVisible } = state
     const { copy } = useCopy()
     const [updataVisible, setUpdataVisible] = useState<boolean>(false)
     const fileImg = require('../../../public/file.png')
     const [moveId, setMoveId] = useState<any>('')//移动的素材ID
-    const [treeEl, item, folderId, setActionId, setHoverId] = TreeBox({ data: get_folder_tree.data, belongUser })
-    const [previewShow, setPreviewShow] = useState<boolean>(false)  // 预览弹窗控制
-    const [previewId, setPreviewId] = useState<number>() // 要预览的ID
+    const [treeEl, item, folderId, setActionId, setHoverId] = TreeBox({ data: mediaType === 'IMG' ? get_folder_tree_img.data : get_folder_tree_video.data, belongUser })
+    const [listData, setListData] = useState<any>({})
 
+    // 获取数据
+    useEffect(() => {
+        if (mediaType === 'IMG') {
+            setListData(listImg?.data)
+        } else if (mediaType === 'VIDEO') {
+            setListData(listVideo?.data)
+        } else {
+            setListData({})
+        }
+    }, [listImg, listVideo, mediaType])
     /**复制编号 */
     const copyId = useCallback((e: React.MouseEvent<HTMLSpanElement, MouseEvent>, value: string) => {
         e.stopPropagation()//阻止冒泡传递到文件夹被点击事件
@@ -74,12 +82,6 @@ function FlieBox(props: Props) {
                     isAll && <li onClick={allFile}>全选/反选</li>
                 }
                 <li onClick={(e) => { delPupOn(rightClickPup.id); onFile(e, rightClickPup, isAll, true) }}> 删除</li>
-                {
-                    !rightClickPup?.folder && <li onClick={() => {
-                        setPreviewShow(true)
-                        setPreviewId(rightClickPup?.id)
-                    }}>预览</li>
-                }
                 {
                     !rightClickPup?.folder && <li onClick={() => {
                         showSync && showSync({ sysMediaId: rightClickPup?.id })
@@ -91,9 +93,7 @@ function FlieBox(props: Props) {
                 <li onClick={() => { set({ actionItem: rightClickPup, sortVisible: true }) }}>编辑排序</li>
                 <li onClick={() => { set({ fileVisible: true }) }}>新建文件夹</li>
                 <li onClick={() => { set({ imgVisrible: true }) }}>新建素材</li>
-                {
-                    (fileType !== 'knews' && fileType !== 'news') && <li onClick={() => { setUpdataVisible(true) }}>批量新增素材</li>
-                }
+                <li onClick={() => { setUpdataVisible(true) }}>批量新增素材</li>
                 {
                     isAll && <li onClick={dels}>删除选中文件</li>
                 }
@@ -107,19 +107,17 @@ function FlieBox(props: Props) {
 
             }
             {//防止K图文无限嵌套创建判断
-                (isAll !== false || fileType !== 'knews') ? <li onClick={() => { set({ fileVisible: true }) }}>新建文件夹</li> : <li>此处无法新建操作</li>
+                (isAll !== false) ? <li onClick={() => { set({ fileVisible: true }) }}>新建文件夹</li> : <li>此处无法新建操作</li>
             }
             {
-                (isAll !== false || fileType !== 'knews') && <li onClick={() => { set({ imgVisrible: true }) }}>新建素材</li>
-            }
-            {
-                (fileType !== 'knews' && fileType !== 'news') && <li onClick={() => { setUpdataVisible(true) }}>批量新增素材</li>
+                (isAll !== false) && <li onClick={() => { set({ imgVisrible: true }) }}>新建素材</li>
             }
+            <li onClick={() => { setUpdataVisible(true) }}>批量新增素材</li>
             {
                 isAll && <li onClick={dels}>删除选中文件</li>
             }
         </ul>
-    }, [xy, rightClickPup, allFile, fileType, previewShow, previewId])
+    }, [xy, rightClickPup, allFile, mediaType])
     /**鼠标右键 */
     const rightMenu = useCallback((e: any, isItem?: any) => {
         e.stopPropagation()
@@ -129,7 +127,7 @@ function FlieBox(props: Props) {
         set({ xy: { x, y } })
         if (isItem) {
             set({ rightClickPup: isItem })
-            if (!isItem?.folder && isItem?.fileType === 'knews') {
+            if (!isItem?.folder && isItem?.mediaType === 'knews') {
                 set({
                     knewsdefaultData: {//客服消息编辑回填弹窗中的内容预先存放
                         newsList: [
@@ -180,9 +178,13 @@ function FlieBox(props: Props) {
     /**获取目录树*/
     useEffect(() => {
         // if (isBd) {
-        get_folder_tree.run({ belongUser, fileType })
+        if (mediaType === 'IMG') {
+            get_folder_tree_img.run({ belongUser })
+        } else if (mediaType === 'VIDEO') {
+            get_folder_tree_video.run({ belongUser })
+        }
         // }
-    }, [isAll, isBd, fileType, belongUser])
+    }, [isAll, isBd, mediaType, belongUser])
     // 点击目录树进入对应目录
     useEffect(() => {
         if (item) {
@@ -204,7 +206,11 @@ function FlieBox(props: Props) {
                 if (folderId !== '' && moveId !== '') {
                     edit_media_folder.run({ sysMediaId: moveId, folderId }).then(res => {
                         message.success('操作成功')
-                        list.refresh()
+                        if (mediaType === 'IMG') {
+                            listImg.refresh()
+                        } else if (mediaType === 'VIDEO') {
+                            listVideo.refresh()
+                        }
                     })
                 }
                 setActionId('')
@@ -212,12 +218,16 @@ function FlieBox(props: Props) {
                 setMoveId('')
             },
         }
-    }, [folderId, moveId])
+    }, [folderId, moveId, mediaType])
+
+
     return <div style={{ display: 'flex', flexFlow: 'row' }}>
         {
-            get_folder_tree?.data?.length > 0 && <div style={{ flexShrink: 0 }}>
+            mediaType === 'IMG' ?  get_folder_tree_img?.data?.length > 0 ? <div style={{ flexShrink: 0 }}>
                 {treeEl}
-            </div>
+            </div> : null : get_folder_tree_video?.data?.length > 0 ? <div style={{ flexShrink: 0 }}>
+                {treeEl}
+            </div> : null
         }
         <div style={{ flexShrink: 1 }}>
             <div className={style.files} onContextMenu={rightMenu} style={height ? { height } : {}}>
@@ -245,9 +255,9 @@ function FlieBox(props: Props) {
                     }
                 </div>
                 {/* 内容 */}
-                <div className={(fileType === 'news' || fileType === 'knews') ? style.file_news_content : style.file_content} >
+                <div className={style.file_content} >
                     {
-                        list?.data?.records?.map((item: Item) => {
+                        listData?.records?.map((item: Item) => {
                             if (item.folder) {
                                 {/* 文件夹模板 */ }
                                 return <Popconfirm
@@ -290,10 +300,10 @@ function FlieBox(props: Props) {
                                 </Popconfirm>
                             } else {
                                 {/* 图片模板 ,视频模板,音频模板*/ }
-                                let El = item.fileType === 'image' ?
+                                let El = item.mediaType === 'IMG' ?
                                     <Image src={item.url} onClick={(e) => { e.stopPropagation() }}
                                     /> :
-                                    item.fileType === 'video' ?
+                                    item.mediaType === 'VIDEO' ?
                                         <video src={item.url} style={{ width: 130, height: 100 }} controls />
                                         :
                                         <audio src={item.url} controls style={{ width: 150 }} />
@@ -336,10 +346,10 @@ function FlieBox(props: Props) {
                 {/* 新建非图文 */}
                 {imgVisrible && <ImgModal isAll={isAll} />}
                 {/* 批量新建素材 */}
-                {updataVisible && <Updata mediaType={fileType === 'image' ? '1' : fileType === 'video' ? '3' : '2'} callBcak={setUpdataVisible} type={1} isAll={isAll} />}
+                {updataVisible && <Updata mediaType={mediaType === 'IMG' ? '1' : mediaType === 'VIDEO' ? '3' : '2'} callBcak={setUpdataVisible} type={1} isAll={isAll} />}
             </div>
             {
-                list?.data?.records?.length > 0 && <div className={style.pagination}>
+                listData?.records?.length > 0 && <div className={style.pagination}>
                     {/* 分页 */}
                     <Pagination
                         showSizeChanger
@@ -349,15 +359,13 @@ function FlieBox(props: Props) {
                         onShowSizeChange={(current: number, size: number) => {
                             getList({ pageSize: size, pageNum: current })
                         }}
-                        current={list?.data?.current}
+                        current={listData?.current}
                         defaultPageSize={20}
-                        total={list?.data?.total}
+                        total={listData?.total}
                     />
                 </div>
             }
         </div>
-
-        {previewShow && <PreviewLocalModal visible={previewShow} onClose={() => setPreviewShow(false)} previewId={previewId} />}
     </div>
 }
 export default React.memo(FlieBox)

+ 93 - 56
src/models/useLaunchAdq/useBdMedia.ts

@@ -1,6 +1,6 @@
 import getMD5 from '@/components/MD5';
 import { useAjax } from '@/Hook/useAjax';
-import { bdSysMediaList, bdSysMediaAdd, delMedia, bdSysMediaEdit, getFileUrl, syncMedia, getMedia, configSortApi, syncForSend, wxSysMediaAdd, editWxlist, getFolderTree, editMediaFolder } from '@/services/launchAdq/material';
+import { bdSysMediaListImg, bdSysMediaListVideo, bdSysMediaAdd, delMedia, bdSysMediaEdit, getFileUrl, syncMedia, getMedia, configSortApi, syncForSend, wxSysMediaAdd, editWxlist, getFolderTreeImg, getFolderTreeVideo, editMediaFolder } from '@/services/launchAdq/material';
 import { message } from 'antd';
 import { Dispatch, useCallback, useReducer, useState } from 'react'
 import { request } from 'umi';
@@ -15,7 +15,7 @@ type State = {
     videoTitle?: string,//video文件名称
     videoDescription?: string,//视频描述
     belongUser?: any,//0公共本地|1个人本地
-    fileType?: 'image' | 'news' | 'voice' | 'video' | 'knews',//类型
+    mediaType?: 'VIDEO' | 'IMG',//类型
     parentId?: any,//上级目录ID,顶级使用null
     url?: string,//素材地址
     pathId?: string,//路径ID
@@ -36,11 +36,8 @@ export type Action = {
     params?: any
 }
 const typeEnum = {
-    'image': '图片',
-    'news': '图文素材',
-    'voice': '音频',
-    'video': '视频',
-    'knews': 'K-图文'
+    'IMG': '图片',
+    'VIDEO': '视频'
 }
 function reducer(state: State, action: Action) {
     let { type, params } = action
@@ -65,7 +62,7 @@ const initData: State = {
     videoTitle: '',
     videoDescription: '',
     belongUser: '1',
-    fileType: 'image',
+    mediaType: 'IMG',
     parentId: null,
     selectFile: [],
     delPupId: '',
@@ -80,8 +77,9 @@ const initData: State = {
 /**本地素材管理器 */
 function useBdMediaPup() {
     const [state, dispatch]: [State, Dispatch<Action>] = useReducer(reducer, initData)
-    const { fileName, sort, belongUser, fileType, parentId, selectFile, delPupId, rightClickPup, actionItem, path, publicPath, file, videoTitle, videoDescription } = state
-    const list = useAjax((params) => bdSysMediaList(params))
+    const { fileName, sort, belongUser, mediaType, parentId, selectFile, delPupId, rightClickPup, actionItem, path, publicPath, file, videoTitle, videoDescription } = state
+    const listImg = useAjax((params) => bdSysMediaListImg(params))
+    const listVideo = useAjax((params) => bdSysMediaListVideo(params))
     const add = useAjax((params) => bdSysMediaAdd(params), { msgNmae: '新增' })
     const addWx = useAjax((params) => wxSysMediaAdd(params), { msgNmae: '新增' })
     const del = useAjax((params) => delMedia(params), { msgNmae: '删除' })
@@ -89,7 +87,8 @@ function useBdMediaPup() {
     const sync = useAjax((params) => syncMedia(params), { msgNmae: '同步' })
     const syncId = useAjax((params) => syncForSend(params), { msgNmae: '同步' })
     const configSort = useAjax((params) => configSortApi(params), { msgNmae: '排序' })
-    const get_folder_tree = useAjax((params: any) => getFolderTree(params))
+    const get_folder_tree_img = useAjax((params: any) => getFolderTreeImg(params))
+    const get_folder_tree_video = useAjax((params: any) => getFolderTreeVideo(params))
     const edit_media_folder = useAjax((params: any) => editMediaFolder(params))
     const get = useAjax((params) => getMedia(params))//获取图文详情
     const eidtWxlists = useAjax((params) => editWxlist(params))
@@ -115,9 +114,9 @@ function useBdMediaPup() {
         let { title, knewsThumbUrl, knewsLink, description, knewsThumbId } = props?.newsList[0]
         let obj = {
             parentId,
-            belongUser,
+            belongUser: belongUser === '0' ? false : true,
             folder: false,
-            fileType,
+            mediaType,
             title: title,
             knewsThumbUrl: knewsThumbUrl,
             knewsLink: knewsLink,
@@ -131,7 +130,11 @@ function useBdMediaPup() {
             obj['sysMediaId'] = rightClickPup?.id
             edit.run(obj).then((res) => {
                 if (res) {
-                    list.refresh()
+                    if (mediaType === 'IMG') {
+                        listImg.refresh()
+                    } else if (mediaType === 'VIDEO') {
+                        listVideo.refresh()
+                    }
                     set({ knewsVisrible: false, knewsdefaultData: null })
                 }
             })
@@ -141,17 +144,22 @@ function useBdMediaPup() {
         } else {
             add.run({ ...obj, mpIds: props?.mpIds || [] }).then((res) => {
                 if (res) {
-                    list.refresh()
+                    if (mediaType === 'IMG') {
+                        listImg.refresh()
+                    } else if (mediaType === 'VIDEO') {
+                        listVideo.refresh()
+                    }
                     set({ knewsVisrible: false, knewsdefaultData: null })
                 }
             })
         }
-    }, [add, edit, list, parentId, belongUser, fileType, rightClickPup])
+    }, [add, edit, listImg, listVideo, parentId, belongUser, mediaType, rightClickPup])
     /**新增文件夹,非图文素材 */
     const fileOk = useCallback((e: any, fnc?: () => Promise<any>, selectWx?: number[]) => {
         e?.stopPropagation()
         if (fnc) {//存在代表素材
             fnc().then(res => {
+                console.log('11111111--->', res)
                 if (!res) {
                     return
                 }
@@ -159,14 +167,7 @@ function useBdMediaPup() {
                     /**修改文件名以用户设置的文件title命名*/
                     let newFile = new File([file], res?.fileName ? res?.fileName + '.' + file?.name?.split('.')[1] : file?.name, { type: file?.type })
                     let formData = new FormData();
-
-                    if (fileType === 'voice') {
-                        if (newFile.size > 2097152) {
-                            message.error('请上传小于2M的音频')
-                            return
-                        }
-                    }
-                    if (fileType === 'video' || fileType === 'image') {
+                    if (mediaType === 'VIDEO' || mediaType === 'IMG') {
                         if (newFile.size > 10485760) {
                             message.error('请上传小于10M的素材')
                             return
@@ -189,14 +190,18 @@ function useBdMediaPup() {
                                     /**取到返回的文件地址向后端发送具体数据*/
                                     if (res2?.data?.url) {
                                         let fileMd5 = await getMD5(file)
-                                        let obj = { title: res?.fileName, fileType, folder: false, parentId, belongUser, url: res2?.data?.url, mpIds: selectWx, sort: res?.sort, fileMd5, fileSize: newFile?.size }
-                                        if (fileType === 'video') {
+                                        let obj = { title: res?.fileName, mediaType, folder: false, parentId, belongUser: belongUser === '0' ? false : true, url: res2?.data?.url, mpIds: selectWx, sort: res?.sort, fileMd5, fileSize: newFile?.size }
+                                        if (mediaType === 'VIDEO') {
                                             obj['videoTitle'] = res?.videoTitle || res?.title
                                             obj['videoDescription'] = res?.videoDescription
                                         }
                                         add.run(obj).then((res) => {
                                             console.log(res)
-                                            list.refresh()//刷新页面
+                                            if (mediaType === 'IMG') {
+                                                listImg.refresh()
+                                            } else if (mediaType === 'VIDEO') {
+                                                listVideo.refresh()
+                                            }
                                             offEditFile()//关闭弹窗并清空相关数据
                                         })
                                     }
@@ -210,25 +215,38 @@ function useBdMediaPup() {
             })
         } else {
             if (fileName) {
-                let obj = { title: fileName, fileType, folder: true, parentId, belongUser, mpIds: selectWx, sort }
+                let obj = { title: fileName, mediaType, folder: true, parentId, belongUser: belongUser === '0' ? false : true, mpIds: selectWx, sort }
                 add.run(obj).then((res) => {
-                    get_folder_tree.refresh()
-                    list.refresh()//刷新页面
+                    if (mediaType === 'IMG') {
+                        get_folder_tree_img.refresh()
+                    } else if (mediaType === 'VIDEO') {
+                        get_folder_tree_video.refresh()
+                    }
+                    
+                    if (mediaType === 'IMG') {
+                        listImg.refresh()
+                    } else if (mediaType === 'VIDEO') {
+                        listVideo.refresh()
+                    }
                     offEditFile()//关闭弹窗并清空相关数据
                 })
             }
         }
-    }, [fileName, fileType, parentId, belongUser, list, file])
+    }, [fileName, mediaType, parentId, belongUser, listImg, listVideo, file])
     /**编辑非图文素材名称*/
     const nameOk = useCallback((selectWx?: any) => {
         if (fileName && actionItem) {
-            let obj = { title: fileName, belongUser, sysMediaId: actionItem?.id, fileType: actionItem?.fileType, folder: actionItem?.folder, url: actionItem?.url, sort }
-            if (fileType === 'video') {
+            let obj = { title: fileName, belongUser: belongUser === '0' ? false : true, sysMediaId: actionItem?.id, mediaType: actionItem?.mediaType, folder: actionItem?.folder, url: actionItem?.url, sort }
+            if (mediaType === 'VIDEO') {
                 obj['videoTitle'] = videoTitle
                 obj['videoDescription'] = videoDescription
             }
             edit.run(obj).then((res) => {
-                list.refresh()//刷新页面
+                if (mediaType === 'IMG') {
+                    listImg.refresh()
+                } else if (mediaType === 'VIDEO') {
+                    listVideo.refresh()
+                }
                 offEditFile()//关闭弹窗并清空相关数据
             })
         }
@@ -236,7 +254,7 @@ function useBdMediaPup() {
         eidtWxlists.run({ sysMediaId: actionItem?.id, mpIds: selectWx || [] }).then((res) => {
             console.log(res)
         })
-    }, [fileName, actionItem, edit, belongUser, fileType, videoTitle, videoDescription])
+    }, [fileName, actionItem, edit, belongUser, mediaType, videoTitle, videoDescription])
     /**删除文件 */
     const dels = useCallback((id?: any) => {
         let arr = typeof id === 'number' ? [id] : selectFile
@@ -246,19 +264,29 @@ function useBdMediaPup() {
                 del.run(id).then(() => {
                     set({ selectFile: selectFile?.filter(i => i !== id) })//清理已删除文件
                     if (index === len - 1) {
-                        list.refresh()//最后一次刷新页面
+                        if (mediaType === 'IMG') {
+                            listImg.refresh()
+                        } else if (mediaType === 'VIDEO') {
+                            listVideo.refresh()
+                        }
                     }
                 })
             })
         }
-    }, [list, selectFile])
+    }, [listImg, listVideo, selectFile])
     /**获取本地素材数据列表 */
     const getList = useCallback((props?: any) => {
-        let obj = { pageSize: 20, pageNum: 1, fileType, belongUser, parentId, ...props }
-        list.run(obj).then((res) => {
-            setIsOk(true)
-        })
-    }, [list, fileType, belongUser, parentId])
+        let obj = { pageSize: 20, pageNum: 1, belongUser: belongUser === '0' ? false : true, parentId, ...props }
+        if (mediaType === 'IMG') {
+            listImg.run(obj).then((res) => {
+                setIsOk(true)
+            })
+        } else if (mediaType === 'VIDEO') {
+            listVideo.run(obj).then((res) => {
+                setIsOk(true)
+            })
+        }
+    }, [mediaType, belongUser, parentId])
     /**选中文件 single 开启可单选为了在右键删除选择时只选一个*/
     const onFile = useCallback((e: any, item: { id: any, folder?: boolean }, isAll?: boolean, single?: boolean) => {
         let { id } = item
@@ -288,7 +316,7 @@ function useBdMediaPup() {
             getList({ parentId: item.id })//请求对应文件夹列表
         }
 
-    }, [path, publicPath, fileType, belongUser, isOk])
+    }, [path, publicPath, mediaType, belongUser, isOk])
     /**点击目录树*/
     const treeClick = useCallback((item) => {
         if (isOk) {
@@ -303,7 +331,7 @@ function useBdMediaPup() {
             set({ parentId: item.id })
             getList({ parentId: item.id })//请求对应文件夹列表
         }
-    }, [path, publicPath, fileType, belongUser, isOk])
+    }, [path, publicPath, mediaType, belongUser, isOk])
     /**点击路径 */
     const pathClick = useCallback((item) => {
         let newPath: any[] = []
@@ -324,9 +352,9 @@ function useBdMediaPup() {
         }
         set({ parentId: item.parentId })
         console.log(item)
-        getList({ pageSize: 20, pageNum: 1, fileType, belongUser, parentId: item.id })
+        getList({ pageSize: 20, pageNum: 1, mediaType, belongUser: belongUser === '0' ? false : true, parentId: item.id })
         console.log('文件夹被点击')
-    }, [path, fileType, belongUser, publicPath])
+    }, [path, mediaType, belongUser, publicPath])
     /**取消文件 */
     const offFile = useCallback((e: any, item: { id: any }) => {
         let { id } = item
@@ -344,7 +372,7 @@ function useBdMediaPup() {
                 set({ selectFile: [...selectFile as number[], id] })
             }
         } else {//单选情况存在于选择素材弹窗组件
-            if (item?.folder && fileType !== 'image') {//假如是文件不让选择
+            if (item?.folder && mediaType !== 'IMG') {//假如是文件不让选择
                 message.error('不能选择文件夹')
                 return
             }
@@ -356,7 +384,7 @@ function useBdMediaPup() {
                 set({ selectItem: item })
             }
         }
-    }, [selectFile, fileType])
+    }, [selectFile, mediaType])
     /**开启删除弹窗 */
     const delPupOn = useCallback((delPupId) => {
         set({ delPupId })
@@ -370,9 +398,9 @@ function useBdMediaPup() {
     const editFile = useCallback((e?: any,) => {
         e?.stopPropagation()
         onFile(null, rightClickPup, true, true)
-        // if (rightClickPup?.fileType !== 'news') {//不是图文开启编辑名字弹窗
+        // if (rightClickPup?.mediaType !== 'news') {//不是图文开启编辑名字弹窗
         let obj = { fileVisible: true, actionItem: rightClickPup, fileName: rightClickPup.title, sort: rightClickPup.sort }
-        if (rightClickPup?.fileType === 'video') {
+        if (rightClickPup?.mediaType === 'video') {
             obj['videoTitle'] = rightClickPup?.videoTitle || rightClickPup?.title
             obj['videoDescription'] = rightClickPup?.videoDescription
         }
@@ -386,11 +414,18 @@ function useBdMediaPup() {
     /**全选反选文件*/
     const allFile = useCallback(() => {
         let allArr: any[] = []
-        list?.data?.records?.forEach((item: { id: any }) => {
-            allArr.push(item.id)
-        })
+        
+        if (mediaType === 'IMG') {
+            listImg?.data?.records?.forEach((item: { id: any }) => {
+                allArr.push(item.id)
+            })
+        } else if (mediaType === "VIDEO") {
+            listVideo?.data?.records?.forEach((item: { id: any }) => {
+                allArr.push(item.id)
+            })
+        }
         set({ selectFile: allArr.filter((i) => selectFile?.every(id => id !== i)) })
-    }, [selectFile, list])
+    }, [selectFile, listImg, listVideo, mediaType])
     /**图文素材弹窗开关 */
     const showNews = useCallback(() => {
 
@@ -417,7 +452,8 @@ function useBdMediaPup() {
         configSort,
         fileUrl,
         addWx,
-        list,
+        listImg,
+        listVideo,
         add,
         sync,
         get,
@@ -425,7 +461,8 @@ function useBdMediaPup() {
         syncId,
         typeEnum,
         eidtWxlists,
-        get_folder_tree,
+        get_folder_tree_img,
+        get_folder_tree_video,
         edit_media_folder
     }
 }

+ 91 - 55
src/models/useLaunchAdq/useBdMediaPup.ts

@@ -1,6 +1,6 @@
 import getMD5 from '@/components/MD5';
 import { useAjax } from '@/Hook/useAjax';
-import { bdSysMediaList, bdSysMediaAdd, delMedia, bdSysMediaEdit, getFileUrl, syncMedia, getMedia, configSortApi, syncForSend, wxSysMediaAdd, editWxlist, getFolderTree, editMediaFolder } from '@/services/launchAdq/material';
+import { bdSysMediaListImg, bdSysMediaListVideo, bdSysMediaAdd, delMedia, bdSysMediaEdit, getFileUrl, syncMedia, getMedia, configSortApi, syncForSend, wxSysMediaAdd, editWxlist, getFolderTreeImg, getFolderTreeVideo, editMediaFolder } from '@/services/launchAdq/material';
 import { message } from 'antd';
 import { Dispatch, useCallback, useReducer, useState } from 'react'
 import { request } from 'umi';
@@ -15,7 +15,7 @@ type State = {
     videoTitle?: string,//video文件名称
     videoDescription?: string,//视频描述
     belongUser?: any,//0公共本地|1个人本地
-    fileType?: 'image' | 'news' | 'voice' | 'video' | 'knews',//类型
+    mediaType?: 'IMG' | 'VIDEO',//类型
     parentId?: any,//上级目录ID,顶级使用null
     url?: string,//素材地址
     pathId?: string,//路径ID
@@ -36,11 +36,8 @@ export type Action = {
     params?: any
 }
 const typeEnum = {
-    'image': '图片',
-    'news': '图文素材',
-    'voice': '音频',
-    'video': '视频',
-    'knews': 'K-图文'
+    'IMG': '图片',
+    'VIDEO': '视频'
 }
 function reducer(state: State, action: Action) {
     let { type, params } = action
@@ -65,7 +62,7 @@ const initData: State = {
     videoDescription: '',
     fileName: '',
     belongUser: '1',
-    fileType: 'image',
+    mediaType: 'IMG',
     parentId: null,
     selectFile: [],
     delPupId: '',
@@ -80,8 +77,9 @@ const initData: State = {
 /**本地素材管理器 */
 function useBdMediaPup() {
     const [state, dispatch]: [State, Dispatch<Action>] = useReducer(reducer, initData)
-    const { fileName, sort, belongUser, fileType, parentId, selectFile, delPupId, rightClickPup, actionItem, path, publicPath, file, videoTitle, videoDescription } = state
-    const list = useAjax((params) => bdSysMediaList(params))
+    const { fileName, sort, belongUser, mediaType, parentId, selectFile, delPupId, rightClickPup, actionItem, path, publicPath, file, videoTitle, videoDescription } = state
+    const listImg = useAjax((params) => bdSysMediaListImg(params))
+    const listVideo = useAjax((params) => bdSysMediaListVideo(params))
     const add = useAjax((params) => bdSysMediaAdd(params), { msgNmae: '新增' })
     const addWx = useAjax((params) => wxSysMediaAdd(params), { msgNmae: '新增' })
     const del = useAjax((params) => delMedia(params), { msgNmae: '删除' })
@@ -90,7 +88,8 @@ function useBdMediaPup() {
     const syncId = useAjax((params) => syncForSend(params), { msgNmae: '同步' })
     const configSort = useAjax((params) => configSortApi(params), { msgNmae: '排序' })
     const get = useAjax((params) => getMedia(params))//获取图文详情
-    const get_folder_tree = useAjax((params: any) => getFolderTree(params))
+    const get_folder_tree_img = useAjax((params: any) => getFolderTreeImg(params))
+    const get_folder_tree_video = useAjax((params: any) => getFolderTreeVideo(params))
     const edit_media_folder = useAjax((params: any) => editMediaFolder(params))
     const [isOk, setIsOk] = useState<boolean>(true)
     const eidtWxlists = useAjax((params) => editWxlist(params))
@@ -113,9 +112,9 @@ function useBdMediaPup() {
         let { title, knewsThumbUrl, knewsLink, description, knewsThumbId } = props?.newsList[0]
         let obj = {
             parentId,
-            belongUser,
+            belongUser: belongUser === '0' ? false : true,
             folder: false,
-            fileType,
+            mediaType,
             title: title,
             knewsThumbUrl: knewsThumbUrl,
             knewsLink: knewsLink,
@@ -129,7 +128,11 @@ function useBdMediaPup() {
             obj['sysMediaId'] = rightClickPup?.id
             edit.run(obj).then((res) => {
                 if (res) {
-                    list.refresh()
+                    if (mediaType === 'IMG') {
+                        listImg.refresh()
+                    } else if (mediaType === 'VIDEO') {
+                        listVideo.refresh()
+                    }
                     set({ knewsVisrible: false, knewsdefaultData: null })
                 }
             })
@@ -139,12 +142,16 @@ function useBdMediaPup() {
         } else {
             add.run({ ...obj, mpIds: props?.mpIds }).then((res) => {
                 if (res) {
-                    list.refresh()
+                    if (mediaType === 'IMG') {
+                        listImg.refresh()
+                    } else if (mediaType === 'VIDEO') {
+                        listVideo.refresh()
+                    }
                     set({ knewsVisrible: false, knewsdefaultData: null })
                 }
             })
         }
-    }, [add, edit, list, parentId, belongUser, fileType, rightClickPup])
+    }, [add, edit, listImg, listVideo, parentId, belongUser, mediaType, rightClickPup])
     /**新增文件夹,非图文素材 */
     const fileOk = useCallback((e: any, fnc?: () => Promise<any>, selectWx?: number[]) => {
         e?.stopPropagation()
@@ -158,13 +165,7 @@ function useBdMediaPup() {
                     let newFile = new File([file], res?.fileName ? res?.fileName + '.' + file?.name?.split('.')[1] : file?.name, { type: file?.type })
                     let formData = new FormData();
 
-                    if (fileType === 'voice') {
-                        if (newFile.size > 2097152) {
-                            message.error('请上传小于2M的音频')
-                            return
-                        }
-                    }
-                    if (fileType === 'video' || fileType === 'image') {
+                    if (mediaType === 'VIDEO' || mediaType === 'IMG') {
                         if (newFile.size > 10485760) {
                             message.error('请上传小于10M的素材')
                             return
@@ -187,13 +188,17 @@ function useBdMediaPup() {
                                     /**取到返回的文件地址向后端发送具体数据*/
                                     if (res2?.data?.url) {
                                         let fileMd5 = await getMD5(file)
-                                        let obj = { title: res?.fileName, fileType, folder: false, parentId, belongUser, url: res2?.data?.url, mpIds: selectWx, sort: res?.sort, fileMd5, fileSize: newFile?.size }
-                                        if (fileType === 'video') {
+                                        let obj = { title: res?.fileName, mediaType, folder: false, parentId, belongUser: belongUser === '0' ? false : true, url: res2?.data?.url, mpIds: selectWx, sort: res?.sort, fileMd5, fileSize: newFile?.size }
+                                        if (mediaType === 'VIDEO') {
                                             obj['videoTitle'] = res?.videoTitle || res?.title
                                             obj['videoDescription'] = res?.videoDescription
                                         }
                                         add.run(obj).then((res) => {
-                                            list.refresh()//刷新页面
+                                            if (mediaType === 'IMG') {
+                                                listImg.refresh()
+                                            } else if (mediaType === 'VIDEO') {
+                                                listVideo.refresh()
+                                            }
                                             offEditFile()//关闭弹窗并清空相关数据
                                         })
                                     }
@@ -207,25 +212,37 @@ function useBdMediaPup() {
             })
         } else {
             if (fileName) {
-                let obj = { title: fileName, fileType, folder: true, parentId, belongUser, mpIds: selectWx, sort }
+                let obj = { title: fileName, mediaType, folder: true, parentId, belongUser: belongUser === '0' ? false : true, mpIds: selectWx, sort }
                 add.run(obj).then((res) => {
-                    get_folder_tree.refresh()
-                    list.refresh()//刷新页面
+                    if (mediaType === 'IMG') {
+                        get_folder_tree_img.refresh()
+                    } else if (mediaType === 'VIDEO') {
+                        get_folder_tree_video.refresh()
+                    }
+                    if (mediaType === 'IMG') {
+                        listImg.refresh()
+                    } else if (mediaType === 'VIDEO') {
+                        listVideo.refresh()
+                    }
                     offEditFile()//关闭弹窗并清空相关数据
                 })
             }
         }
-    }, [fileName, fileType, parentId, belongUser, list, file])
+    }, [fileName, mediaType, parentId, belongUser, listImg, listVideo, file])
     /**编辑非图文素材名称*/
     const nameOk = useCallback((selectWx: any) => {
         if (fileName && actionItem) {
-            let obj = { title: fileName, belongUser, sysMediaId: actionItem?.id, fileType: actionItem?.fileType, folder: actionItem?.folder, url: actionItem?.url, sort }
-            if (fileType === 'video') {
+            let obj = { title: fileName, belongUser: belongUser === '0' ? false : true, sysMediaId: actionItem?.id, mediaType: actionItem?.mediaType, folder: actionItem?.folder, url: actionItem?.url, sort }
+            if (mediaType === 'VIDEO') {
                 obj['videoTitle'] = videoTitle
                 obj['videoDescription'] = videoDescription
             }
             edit.run(obj).then((res) => {
-                list.refresh()//刷新页面
+                if (mediaType === 'IMG') {
+                    listImg.refresh()
+                } else if (mediaType === 'VIDEO') {
+                    listVideo.refresh()
+                }
                 offEditFile()//关闭弹窗并清空相关数据
             })
         }
@@ -233,7 +250,7 @@ function useBdMediaPup() {
         eidtWxlists.run({ sysMediaId: actionItem?.id, mpIds: selectWx || [] }).then((res) => {
             console.log(res)
         })
-    }, [fileName, actionItem, edit, belongUser, fileType, videoTitle, videoDescription])
+    }, [fileName, actionItem, edit, belongUser, mediaType, videoTitle, videoDescription])
     /**删除文件 */
     const dels = useCallback((id?: any) => {
         let arr = typeof id === 'number' ? [id] : selectFile
@@ -243,20 +260,31 @@ function useBdMediaPup() {
                 del.run(id).then(() => {
                     set({ selectFile: selectFile?.filter(i => i !== id) })//清理已删除文件
                     if (index === len - 1) {
-                        list.refresh()//最后一次刷新页面
+                        if (mediaType === 'IMG') {
+                            listImg.refresh()
+                        } else if (mediaType === 'VIDEO') {
+                            listVideo.refresh()
+                        }
                     }
                 })
             })
         }
-    }, [list, selectFile])
+    }, [listImg, listVideo, selectFile])
     /**获取本地素材数据列表 */
     const getList = useCallback((props?: any) => {
-        console.log('fileType',fileType)
-        let obj = { pageSize: 20, pageNum: 1, fileType, belongUser, parentId, ...props }
-        list.run(obj).then((res) => {
-            setIsOk(true)
-        })
-    }, [list, fileType, belongUser, parentId])
+        console.log('mediaType',mediaType)
+        let obj = { pageSize: 20, pageNum: 1, belongUser: belongUser === '0' ? false : true, parentId, ...props }
+        
+        if (mediaType === 'IMG') {
+            listImg.run(obj).then((res) => {
+                setIsOk(true)
+            })
+        } else if (mediaType === 'VIDEO') {
+            listVideo.run(obj).then((res) => {
+                setIsOk(true)
+            })
+        }
+    }, [listImg, listVideo, mediaType, belongUser, parentId])
     /**选中文件 single 开启可单选为了在右键删除选择时只选一个*/
     const onFile = useCallback((e: any, item: { id: any, folder?: boolean }, isAll?: boolean, single?: boolean) => {
         let { id } = item
@@ -285,7 +313,7 @@ function useBdMediaPup() {
             getList({ parentId: item.id })//请求对应文件夹列表
         }
 
-    }, [path, publicPath, fileType, belongUser, isOk])
+    }, [path, publicPath, mediaType, belongUser, isOk])
      /**点击目录树*/
      const treeClick=useCallback((item) => {
         if (isOk) {
@@ -300,7 +328,7 @@ function useBdMediaPup() {
             set({ parentId: item.id })
             getList({ parentId: item.id })//请求对应文件夹列表
         }
-    }, [path, publicPath, fileType, belongUser, isOk])
+    }, [path, publicPath, mediaType, belongUser, isOk])
     /**点击路径 */
     const pathClick = useCallback((item) => {
         let newPath: any[] = []
@@ -320,8 +348,8 @@ function useBdMediaPup() {
             set({ publicPath: newPath })
         }
         set({ parentId: item.parentId })
-        getList({ pageSize: 20, pageNum: 1, fileType, belongUser, parentId: item.id })
-    }, [path, fileType, belongUser, publicPath])
+        getList({ pageSize: 20, pageNum: 1, mediaType, belongUser: belongUser === '0' ? false : true, parentId: item.id })
+    }, [path, mediaType, belongUser, publicPath])
     /**取消文件 */
     const offFile = useCallback((e: any, item: { id: any }) => {
         let { id } = item
@@ -355,7 +383,7 @@ function useBdMediaPup() {
                 set({ selectItem: item })
             }
         }
-    }, [selectFile, fileType])
+    }, [selectFile, mediaType])
     /**开启删除弹窗 */
     const delPupOn = useCallback((delPupId) => {
         set({ delPupId })
@@ -369,9 +397,9 @@ function useBdMediaPup() {
     const editFile = useCallback((e?: any,) => {
         e?.stopPropagation()
         onFile(null, rightClickPup, true, true)
-        // if (rightClickPup?.fileType !== 'news') {//不是图文开启编辑名字弹窗
+        // if (rightClickPup?.mediaType !== 'news') {//不是图文开启编辑名字弹窗
         let obj = { fileVisible: true, actionItem: rightClickPup, fileName: rightClickPup.title, sort: rightClickPup.sort }
-        if (rightClickPup?.fileType === 'video') {
+        if (rightClickPup?.mediaType === 'video') {
             obj['videoTitle'] = rightClickPup?.videoTitle || rightClickPup?.title
             obj['videoDescription'] = rightClickPup?.videoDescription
         }
@@ -385,11 +413,17 @@ function useBdMediaPup() {
     /**全选反选文件*/
     const allFile = useCallback(() => {
         let allArr: any[] = []
-        list?.data?.records?.forEach((item: { id: any }) => {
-            allArr.push(item.id)
-        })
+        if (mediaType === 'IMG') {
+            listImg?.data?.records?.forEach((item: { id: any }) => {
+                allArr.push(item.id)
+            })
+        } else if (mediaType === 'VIDEO') {
+            listVideo?.data?.records?.forEach((item: { id: any }) => {
+                allArr.push(item.id)
+            })
+        }
         set({ selectFile: allArr.filter((i) => selectFile?.every(id => id !== i)) })
-    }, [selectFile, list])
+    }, [selectFile, listImg, listVideo, mediaType])
     /**图文素材弹窗开关 */
     const showNews = useCallback(() => {
 
@@ -415,7 +449,8 @@ function useBdMediaPup() {
         knewsOk,
         configSort,
         addWx,
-        list,
+        listImg,
+        listVideo,
         add,
         sync,
         get,
@@ -423,7 +458,8 @@ function useBdMediaPup() {
         syncId,
         typeEnum,
         eidtWxlists,
-        get_folder_tree,
+        get_folder_tree_img,
+        get_folder_tree_video,
         edit_media_folder
     }
 }

+ 5 - 5
src/pages/launchSystem/material/cloud/index.tsx

@@ -12,25 +12,25 @@ const { TabPane } = Tabs;
 function Cloud() {
     const { state, set, getList, init, typeEnum } = useModel('useLaunchAdq.useBdMedia')
     let refSync: { current: { show: (id: string, appIds: string[]) => void } } | any = useRef()//syncModal获取实例方法
-    const { fileType, belongUser, parentId } = state
+    const { mediaType, belongUser, parentId } = state
     /**加载组件或数据更新执行请求列表 */
     useEffect(() => {
         if (belongUser === '1' || belongUser === '0') {
             getList() 
         }
-    }, [fileType, belongUser, parentId])
+    }, [mediaType, belongUser, parentId])
 
     return <div className={style.colud}>
         <Tabs
             type="card"
             onChange={(activeKey: any) => {
-                init({ fileType: activeKey })//切换类型时先初始化数据,并设置类型
+                init({ mediaType: activeKey })//切换类型时先初始化数据,并设置类型
             }}
             className={style.card}
-            activeKey={fileType}
+            activeKey={mediaType}
         >
             {
-                ['image', 'video'].map((key: any) => {
+                ['IMG', 'VIDEO'].map((key: any) => {
                     return <TabPane tab={typeEnum[key]} key={key} style={{ backgroundColor: '#fff', padding: '0 15px' }} >
                         <Tabs onChange={(activeKey: any) => { set({ belongUser: activeKey }) }} activeKey={belongUser}>
                             <TabPane tab={'个人本地'} key={1} />

+ 77 - 55
src/services/launchAdq/material.ts

@@ -77,19 +77,19 @@ export interface GetWeChatITData {
 // }
 /**获取上传接口 */
 export async function getFileUrl(params: { type: string }) {
-  return request(`${api}/system/oss/ossUpload?type=${params.type}`);
+  return request(`${api}/adq/oss/ossUpload?type=${params.type}`);
 }
 /*************************标签**********************************/
 /**新增标签 */
 export async function addTag(params?: AddTag) {
-  return request(api + '/system/mediaTag/create', {
+  return request(api + '/adq/mediaTag/create', {
     method: 'POST',
     data: params,
   });
 }
 /**编辑标签 */
 export async function editTag(params?: AddTag) {
-  return request(api + '/system/mediaTag/edit', {
+  return request(api + '/adq/mediaTag/edit', {
     method: 'POST',
     data: params,
   });
@@ -97,25 +97,25 @@ export async function editTag(params?: AddTag) {
 
 /**删除标签 */
 export async function delTag(params: { id: string }) {
-  return request(`${api}/system/mediaTag/${params.id}`, {
+  return request(`${api}/adq/mediaTag/${params.id}`, {
     method: 'DELETE',
   });
 }
 /**获取标签列表*/
 export async function getTagList(params: { type: string }) {
-  return request(`${api}/system/mediaTag/list?type=${params.type}`);
+  return request(`${api}/adq/mediaTag/list?type=${params.type}`);
 }
 /*************************分类**********************************/
 /**新增标签 */
 export async function addClass(params?: { groupName: string }) {
-  return request(api + '/system/sysMediaGroup/create', {
+  return request(api + '/adq/sysMediaGroup/create', {
     method: 'POST',
     data: params,
   });
 }
 /**编辑标签 */
 export async function editClass(params?: { groupName: string, id: string }) {
-  return request(api + '/system/sysMediaGroup/edit', {
+  return request(api + '/adq/sysMediaGroup/edit', {
     method: 'POST',
     data: params,
   });
@@ -123,53 +123,53 @@ export async function editClass(params?: { groupName: string, id: string }) {
 
 /**删除标签 */
 export async function delClass(params: { id: string }) {
-  return request(`${api}/system/sysMediaGroup/${params.id}`, {
+  return request(`${api}/adq/sysMediaGroup/${params.id}`, {
     method: 'DELETE',
   });
 }
 /**获取标签列表*/
 export async function getClass(params: any) {
-  return request(`${api}/system/sysMediaGroup?type=${params?.type}`);
+  return request(`${api}/adq/sysMediaGroup?type=${params?.type}`);
 }
 /*************************素材**********************************/
 /** 新增非图文本地素材*/
 export async function addMediaList(params?: MediaList) {
-  return request(api + '/system/sysMedia/create', {
+  return request(api + '/adq/sysMedia/create', {
     method: 'POST',
     data: params,
   });
 }
 /** 编辑非图文本地素材*/
 export async function editMediaList(params?: MediaList) {
-  return request(api + '/system/sysMedia/edit', {
+  return request(api + '/adq/sysMedia/edit', {
     method: 'POST',
     data: params,
   });
 }
 /** 新增图文本地素材*/
 export async function createGraphic(params: CreateGraphic) {
-  return request(api + '/system/sysMedia/createGraphic', {
+  return request(api + '/adq/sysMedia/createGraphic', {
     method: 'POST',
     data: params,
   });
 }
 /** 新增图文微信素材*/
 export async function createGraphicMaterial(params: CreateGraphic) {
-  return request(api + '/system/sysMedia/addWxGraphicMaterial', {
+  return request(api + '/adq/sysMedia/addWxGraphicMaterial', {
     method: 'POST',
     data: params,
   });
 }
 /** 编辑图文本地素材*/
 export async function editGraphic(params: EditGraphic) {
-  return request(api + '/system/sysMedia/editGraphic', {
+  return request(api + '/adq/sysMedia/editGraphic', {
     method: 'POST',
     data: params,
   });
 }
 /** 编辑图文微信素材*/
 export async function editGraphicWxMaterial(params: EditGraphic) {
-  return request(api + '/system/sysMedia/updateWxMaterial', {
+  return request(api + '/adq/sysMedia/updateWxMaterial', {
     method: 'POST',
     data: params,
   });
@@ -180,38 +180,38 @@ export async function getMediaList(params: GetMediaList) {
 }
 /** 删除本地素材*/
 export async function delMediaList(params: { id: string }) {
-  return request(`${api}/system/sysMedia/${params.id}`, {
+  return request(`${api}/adq/sysMedia/${params.id}`, {
     method: 'DELETE',
   });
 }
 /**同步本地图文素材 */
 export async function syncPermanentGraphicMedias(params: { appId: string[], mediaId: string }) {
-  return request(api + '/system/sysMedia/syncPermanentGraphicMaterial', {
+  return request(api + '/adq/sysMedia/syncPermanentGraphicMaterial', {
     method: 'POST',
     data: params,
   });
 }
 /**同步本地非图文素材 */
 export async function syncMedias(params: { appId: string[], mediaId: string }) {
-  return request(api + '/system/sysMedia/syncPermanent', {
+  return request(api + '/adq/sysMedia/syncPermanent', {
     method: 'POST',
     data: params,
   });
 }
 /**获取微信图文素材 */
 export async function getWeChatITData(params: GetWeChatITData) {
-  return request(`${api}/system/sysMedia/batchGetMaterialNews${queryStr(params)}`);
+  return request(`${api}/adq/sysMedia/batchGetMaterialNews${queryStr(params)}`);
 }
 
 
 // /**获取微信非图文素材 */
 // export async function getWeChatData(params: GetWeChatData) {
-//   return request(`${api}/system/sysMedia/batchGetMateria${queryStr(params)}`);
+//   return request(`${api}/adq/sysMedia/batchGetMateria${queryStr(params)}`);
 // }
 /**获取微信非图文素材 */
 export async function getWeChatData(params: GetWeChatData) {
   let { mpId, ...param } = params
-  return request(`${api}/system/mp/media/list/${mpId}`, {
+  return request(`${api}/adq/mp/media/list/${mpId}`, {
     method: 'POST',
     data: param,
   });
@@ -219,28 +219,28 @@ export async function getWeChatData(params: GetWeChatData) {
 /**更新公众号下素材*/
 export async function updateMediaCache(params: { mpId: number, mediaType: string }) {
   let { mpId, mediaType } = params
-  return request(`${api}/system/mp/media/syncMedia/${mpId}/${mediaType}`, {
+  return request(`${api}/adq/mp/media/syncMedia/${mpId}/${mediaType}`, {
     method: 'PUT'
   })
 }
 /** 删除微信素材*/
 export async function delMediawx(id: number) {
-  return request(`${api}/system/mp/media/${id}`, {
+  return request(`${api}/adq/mp/media/${id}`, {
     method: 'DELETE',
   });
 }
 /**微信素材详情*/
 export async function getWxMediaInfo(params: { id: number, isCon?: boolean }) {
   let { id, isCon = true } = params
-  return request(`${api}/system/mp/media/${id}/${isCon}`);
+  return request(`${api}/adq/mp/media/${id}/${isCon}`);
 }
 
 /**导入文章 */
 export async function exportMediaByUrl(params: { url: string }) {
-  return request(`${api}/system/sysMedia/exportMediaByUrl${queryStr(params)}`);
+  return request(`${api}/adq/sysMedia/exportMediaByUrl${queryStr(params)}`);
 }
 export async function exportMediaByUrl1(url: string) {
-  return fetch(`${api}/system/mp/media/parseWxNewsByUrl?url=${url}`, {
+  return fetch(`${api}/adq/mp/media/parseWxNewsByUrl?url=${url}`, {
     headers: { ['Authorization']: 'Bearer ' + sessionStorage.getItem('Admin-Token') },
   });
 }
@@ -250,25 +250,25 @@ export async function exportMediaByUrl1(url: string) {
 
 /**本地素材详情*/
 export async function getGraphicDetail(params: { id: string }) {
-  return request(`${api}/system/sysMedia/graphicDetail/${params.id}`);
+  return request(`${api}/adq/sysMedia/graphicDetail/${params.id}`);
 }
 /**查询图文同步结果 */
 export async function syncResult(params: any) {
-  return request(api + '/system/sysMedia/syncResult', {
+  return request(api + '/adq/sysMedia/syncResult', {
     method: 'POST',
     data: params,
   });
 }
 /**批量上传非图文素材 */
 export async function bantchAdd(params: any) {
-  return request(`${api}/system/sysMedia/bantchAdd`, {
+  return request(`${api}/adq/sysMedia/bantchAdd`, {
     method: 'PUT',
     data: params
   })
 }
 /**oss删除 */
 export async function delOss(params: any) {
-  return request(`${api}/system/oss/${params}`, {
+  return request(`${api}/adq/oss/${params}`, {
     method: 'DELETE',
     // data: params
   });
@@ -278,96 +278,118 @@ export async function delOss(params: any) {
 
 //=========================新接口===================
 // belongUser 0 公共 1 个人
-/**获取本地素材列表 */
-export async function bdSysMediaList(params: { parentId?: any, belongUser: 0 | 1, pageNum: number, pageSize: number, fileType: "image" | "news" | "voice" | "video" }) {
-  console.log('鹅鹅鹅,曲项向天歌')
+/**获取本地素材图片列表 */
+export async function bdSysMediaListImg(params: { parentId?: any, belongUser: boolean, pageNum: number, pageSize: number }) {
   const { belongUser, ...param } = params
-  return request(api + `/adq/sysMedia/list/${belongUser}`, {
+  return request(api + `/adq/sysMediaImage/list/${belongUser}`, {
+    method: 'POST',
+    data: param,
+  });
+}
+/**获取本地素材视频列表 */
+export async function bdSysMediaListVideo(params: { parentId?: any, belongUser: boolean, pageNum: number, pageSize: number }) {
+  const { belongUser, ...param } = params
+  return request(api + `/adq/sysMediaVideo/list/${belongUser}`, {
     method: 'POST',
     data: param,
   });
 }
 /**修改本地素材 */
-export async function bdSysMediaEdit(params: { belongUser: 0 | 1, sysMediaId: number, fileType: "image" | "news" | "voice" | "video" }) {
+export async function bdSysMediaEdit(params: { belongUser: boolean, sysMediaId: number, mediaType: "IMG" | "VIDEO" }) {
   const { belongUser, sysMediaId, ...param } = params
-  return request(api + `/system/sysMedia/${belongUser}/${sysMediaId}`, {
+  return request(api + `/adq/sysMedia/${belongUser}/${sysMediaId}`, {
     method: 'PUT',
     data: param
   });
 }
 /**新增本地素材 */
-export async function bdSysMediaAdd(params: { belongUser: 0 | 1, parentId: number, fileType: "image" | "news" | "voice" | "video" }) {
-  const { belongUser, ...param } = params
-  return request(api + `/system/sysMedia/${belongUser}`, {
-    method: 'POST',
-    data: param,
-  });
+export async function bdSysMediaAdd(params: { belongUser: boolean, parentId: number, mediaType: "IMG" | "VIDEO" }) {
+  const { belongUser, mediaType, ...param } = params
+  if (mediaType === 'IMG') {
+    return request(api + `/adq/sysMediaImage/${belongUser}`, {
+      method: 'POST',
+      data: param,
+    });
+  } else {
+    return request(api + `/adq/sysMediaVideo/${belongUser}`, {
+      method: 'POST',
+      data: param,
+    });
+  }
+  
 }
 /**新增微信素材*/
 export async function wxSysMediaAdd(params: { mediaType: "image" | "news" | "voice" | "video", localMediaId: number, mpId: number, news: any }) {
-  return request(api + `/system/mp/media`, {
+  return request(api + `/adq/mp/media`, {
     method: 'POST',
     data: params,
   });
 }
 /**删除本地素材 */
 export async function delMedia(sysMediaId: any) {
-  return request(`${api}/system/sysMedia/${sysMediaId}`, {
+  return request(`${api}/adq/sysMedia/${sysMediaId}`, {
     method: 'DELETE',
   });
 }
 /**获取本地素材详情*/
 export async function getMedia(sysMediaId: any) {
-  return request(`${api}/system/sysMedia/${sysMediaId}`, {
+  return request(`${api}/adq/sysMedia/${sysMediaId}`, {
     method: 'GET',
   });
 }
 /**同步素材 */
 export async function syncMedia(params: { sysMediaId: number, mpIds: number }) {
   const { mpIds, sysMediaId } = params
-  return request(api + `/system/sysMedia/syncToMp/${sysMediaId}/${mpIds}`, {
+  return request(api + `/adq/sysMedia/syncToMp/${sysMediaId}/${mpIds}`, {
     method: 'PUT',
   });
 }
 /**返回微信媒体ID的同步接口 */
 export async function syncForSend(params: { sysMediaId: number, mpIds: number }) {
   const { mpIds, sysMediaId } = params
-  return request(api + `/system/sysMedia/syncForSend/${sysMediaId}/${mpIds}`, {
+  return request(api + `/adq/sysMedia/syncForSend/${sysMediaId}/${mpIds}`, {
     method: 'PUT',
   });
 }
 
 /**获取素材管理的公众号*/
 export async function getWxlist(sysMediaId: number) {
-  return request(api + `/system/sysMedia/getBindMps/${sysMediaId}`, {
+  return request(api + `/adq/sysMedia/getBindMps/${sysMediaId}`, {
     method: 'GET'
   })
 }
 /**编辑素材关联的公众号 */
 export async function editWxlist(params: { sysMediaId: number, mpIds: any }) {
   const { sysMediaId, mpIds } = params
-  return request(api + `/system/sysMedia/bindMediaMps/${sysMediaId}`, {
+  return request(api + `/adq/sysMedia/bindMediaMps/${sysMediaId}`, {
     method: 'POST',
     data: mpIds
   })
 }
-/**获取素材文件夹目录树*/
-export async function getFolderTree(props: { belongUser: any, fileType: any }) {
-  let { belongUser, fileType } = props
-  return request(api + `/adq/sysMedia/folderTree/${belongUser}/${fileType}`, {
+/**获取图片素材文件夹目录树*/
+export async function getFolderTreeImg(props: { belongUser: any }) {
+  let { belongUser } = props
+  return request(api + `/adq/sysMediaImage/folderTree/${belongUser}`, {
+    method: 'GET'
+  })
+}
+/**获取视频素材文件夹目录树*/
+export async function getFolderTreeVideo(props: { belongUser: any }) {
+  let { belongUser } = props
+  return request(api + `/adq/sysMediaVideo/folderTree/${belongUser}`, {
     method: 'GET'
   })
 }
 /*改变文件位置*/
 export async function editMediaFolder(params: { sysMediaId: number, folderId: number }) {
   const { folderId, sysMediaId } = params
-  return request(api + `/system/sysMedia/configMediaFolder/${folderId}/${sysMediaId}`, {
+  return request(api + `/adq/sysMedia/configMediaFolder/${folderId}/${sysMediaId}`, {
     method: 'PUT',
   });
 }
 /** 排序 */
 export async function configSortApi({ sysMediaId, sort }: { sysMediaId: number, sort: number }) {
-  return request(api + `/system/sysMedia/configMediaSort/${sysMediaId}/${sort}`, {
+  return request(api + `/adq/sysMedia/configMediaSort/${sysMediaId}/${sort}`, {
     method: 'PUT'
   });
 }