|
@@ -6,7 +6,7 @@ import pptxgen from "pptxgenjs";
|
|
|
import { parse } from "himalaya";
|
|
|
import _ from 'lodash'
|
|
|
import {pptLayout,pptSlideMaster,pptSlideMasterEn,modelConfig} from '../utils/config'
|
|
|
-import {useUploadFileToOSS,useUploadToMinIO} from '@/hooks/useUploadFileToOSS'
|
|
|
+import {useUploadFileToOSS,useUploadToMinIO,useUploadToS3} from '@/hooks/useUploadFileToOSS'
|
|
|
import {getPPTConfig} from './createPPTContent'
|
|
|
import {usePublicSettingStore} from '@/store/modules/publicSetting'
|
|
|
import moment from 'moment'
|
|
@@ -529,6 +529,34 @@ async function handleUploadToMinIO(data){
|
|
|
}
|
|
|
handlePublishPPT(url)
|
|
|
}
|
|
|
+async function uploadFileDirect(data){
|
|
|
+ const loading=showLoadingToast({
|
|
|
+ message: "上传中...",
|
|
|
+ duration: 0,
|
|
|
+ forbidClick: true,
|
|
|
+ })
|
|
|
+ const t=new Date()
|
|
|
+ const month=moment(t).format('YYYYMM')
|
|
|
+ const day=moment(t).format('YYYYMMDD')
|
|
|
+ const temName=`ppt/${month}/${day}/${createRandomCode(32)}.pptx`
|
|
|
+ console.log('文件名',temName);
|
|
|
+ const objectStorageType = publicSettingStore.publicSetting.ObjectStorageClient||'oss'
|
|
|
+ const uploadMap = {
|
|
|
+ 'oss':useUploadFileToOSS,
|
|
|
+ 'minio':useUploadToMinIO,
|
|
|
+ 's3':useUploadToS3
|
|
|
+ }
|
|
|
+ const url = await uploadMap[objectStorageType](data,temName)
|
|
|
+ loading.close()
|
|
|
+ if(!url){
|
|
|
+ setTimeout(() => {
|
|
|
+ showToast('生成ppt失败')
|
|
|
+ }, 60);
|
|
|
+ return
|
|
|
+ }
|
|
|
+ handlePublishPPT(url)
|
|
|
+
|
|
|
+}
|
|
|
|
|
|
// 页面转ppt
|
|
|
async function pageToPPT(){
|
|
@@ -737,13 +765,14 @@ async function pageToPPT(){
|
|
|
}
|
|
|
pptx2.write('blob').then((data)=>{
|
|
|
LoadingINS.close()
|
|
|
- if(publicSettingStore.publicSetting.ObjectStorageClient==='minio'){
|
|
|
+ /* if(publicSettingStore.publicSetting.ObjectStorageClient==='minio'){
|
|
|
//上传到minio
|
|
|
handleUploadToMinIO(data)
|
|
|
}else{
|
|
|
handleUploadToOSS(data)
|
|
|
- }
|
|
|
+ } */
|
|
|
//handleUploadToOSS(data)
|
|
|
+ uploadFileDirect(data)
|
|
|
})
|
|
|
// pptx2.writeFile({ fileName: "test.pptx" }) //本地测试可直接用该方法生成ppt文件
|
|
|
}
|