This commit is contained in:
parent
9c2c31e4b7
commit
1326c5dd02
|
@ -14,7 +14,8 @@
|
|||
"build:unpack": "npm run build && electron-builder --dir",
|
||||
"build:dev": "npm run build && electron-builder --win --config ./electron-builder-test.yml",
|
||||
"build:test": "node updatePackageJsonName.js && electron-vite build --mode test && electron-builder --win --config ./electron-builder.yml",
|
||||
"build:prod": "node updatePackageJsonName.js && electron-vite build --mode production && electron-builder --win --config ./electron-builder-prod.yml",
|
||||
"build:prod": "node updatePackageJsonName.js && electron-vite build --mode production && electron-builder --win --config ./electron-builder-prod.yml --win",
|
||||
"build:prod32": "node updatePackageJsonName.js && electron-vite build --mode production && electron-builder --win --config ./electron-builder-prod.yml --win --ia32",
|
||||
"build:yc": "node updatePackageJsonName.js && electron-vite build --mode yc && electron-builder --win --config ./electron-builder-yc.yml",
|
||||
"build:yc2": "node updatePackageJsonName.js && electron-vite build --mode yc2 && electron-builder --win --config ./electron-builder-yc2.yml",
|
||||
"build:lt": "electron-vite build --mode lt && electron-builder --win --config ./electron-builder-lt.yml",
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
http-equiv="Content-Security-Policy"
|
||||
content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:"
|
||||
/> -->
|
||||
<meta http-equiv="Content-Security-Policy" content="connect-src * blob: data:; frame-src 'self' *; default-src 'self' https://wzyzoss.eos-chongqing-3.cmecloud.cn/; script-src 'self' 'unsafe-eval' http://www.wiris.net 'unsafe-inline'; style-src 'self' 'unsafe-inline' http://www.wiris.net; media-src * blob:;img-src * 'self' data: blob:;font-src 'self' http://www.wiris.net data:;" />
|
||||
<meta http-equiv="Content-Security-Policy" content="connect-src * blob: data:; frame-src 'self' *; default-src 'self' https://wzyzoss.eos-chongqing-3.cmecloud.cn/; script-src 'self' 'unsafe-eval' http://www.wiris.net 'unsafe-inline'; script-src-elem 'self' https://sdk.amazonaws.com; style-src 'self' 'unsafe-inline' http://www.wiris.net; media-src * blob:;img-src * 'self' data: blob:;font-src 'self' http://www.wiris.net data:;" />
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script src="./public/lib/build/aws-sdk-2.100.0.min.js"></script>
|
||||
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.100.0.min.js"></script>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -529,7 +529,9 @@ export const PPTXFileToJson = (data: File|ArrayBuffer) => {
|
|||
}
|
||||
|
||||
// 开始解析
|
||||
const json = await parse(fileArrayBuffer)
|
||||
const json = await parse(fileArrayBuffer).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
|
||||
const ratio = 96 / 72
|
||||
const width = json.size.width
|
||||
|
|
|
@ -18,7 +18,9 @@
|
|||
{{ item.fileShowName.substring(0, item.fileShowName.lastIndexOf('.')) }}
|
||||
<el-tag type="danger" effect="dark">{{item.fileShowName.substring(item.fileShowName.lastIndexOf('.')+1)}}</el-tag>
|
||||
<template v-if="item.fileTag">
|
||||
<el-tag v-for="(item1, index1) in item.fileTag.split(',')" :key="index1" type="success" effect="dark" style="margin-left: 5px">{{item1}}</el-tag>
|
||||
<el-tag v-for="(item1, index1) in item.fileTag.split(',')"
|
||||
@close="deleteTag(item, item1, index1)" closable :key="index1"
|
||||
@click.stop="editTag(item, item1, index1)" type="success" effect="dark" style="margin-left: 5px">{{item1}}</el-tag>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -282,6 +284,71 @@ export default {
|
|||
})
|
||||
// this.$emit('on-start-class', item)
|
||||
},
|
||||
editTagMsg(type, item, value, index) {
|
||||
let fileTagList = []
|
||||
if (!item.fileTag) {
|
||||
item.fileTag="";
|
||||
fileTagList = [];
|
||||
}else {
|
||||
fileTagList = item.fileTag.split(',');
|
||||
}
|
||||
let message = '';
|
||||
switch (type) {
|
||||
case 'add':
|
||||
fileTagList.push(value);
|
||||
message = '添加成功!';
|
||||
break;
|
||||
case 'delete':
|
||||
fileTagList.splice(index, 1);
|
||||
message = '删除成功!';
|
||||
break;
|
||||
case 'edit':
|
||||
fileTagList[index] = value;
|
||||
message = '修改成功!';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
item.fileTagList = fileTagList;
|
||||
item.fileTag = fileTagList.join(",")
|
||||
updateSmarttalk({ id: item.id, fileTag: item.fileTag, fileShowName: item.fileShowName }).then((res) => {
|
||||
if (res.data === true) {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: message
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
deleteTag(item, item1, index) {
|
||||
ElMessageBox.confirm(
|
||||
'是否确认删除这个标签?',
|
||||
'提示',
|
||||
{
|
||||
confirmButtonText: '确认',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
}
|
||||
)
|
||||
.then(() => {
|
||||
this.editTagMsg('delete', item, "", index)
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
},
|
||||
editTag(item, item1, index) {
|
||||
console.log(item, item1, index)
|
||||
ElMessageBox.prompt('请输入新的标签', '修改标签', {
|
||||
confirmButtonText: '确认',
|
||||
cancelButtonText: '取消',
|
||||
inputValue: item1,
|
||||
inputPattern: /^[a-zA-Z0-9\u4e00-\u9fa5]{1,5}$/,
|
||||
inputErrorMessage: '请输入最多五个字的标签,不能携带标点符号'
|
||||
})
|
||||
.then(({ value }) => {
|
||||
this.editTagMsg('edit', item, value, index)
|
||||
}).catch(() => {})
|
||||
},
|
||||
editTalk(item) {
|
||||
ElMessageBox.prompt('请输入新的标签', '添加标签', {
|
||||
confirmButtonText: '确认',
|
||||
|
@ -291,24 +358,7 @@ export default {
|
|||
inputErrorMessage: '请输入最多五个字的标签,不能携带标点符号'
|
||||
})
|
||||
.then(({ value }) => {
|
||||
let fileTagList = []
|
||||
if (!item.fileTag) {
|
||||
item.fileTag="";
|
||||
fileTagList = [];
|
||||
}else {
|
||||
fileTagList = item.fileTag.split(',');
|
||||
}
|
||||
fileTagList.push(value);
|
||||
item.fileTagList = fileTagList;
|
||||
item.fileTag = fileTagList.join(",")
|
||||
updateSmarttalk({ id: item.id, fileTag: item.fileTag, fileShowName: item.fileShowName }).then((res) => {
|
||||
if (res.data === true) {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: `添加成功!`
|
||||
})
|
||||
}
|
||||
})
|
||||
this.editTagMsg('add', item, value, 0)
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
|
|
@ -561,6 +561,7 @@ export default {
|
|||
},
|
||||
importPPT(item) {
|
||||
let _this = this;
|
||||
// item.fileFullPath = "https://wzyzoss.eos-chongqing-3.cmecloud.cn/2025/1/14/c4d8ae796fc74417aefe017a49388962.ppt"
|
||||
fetch(item.fileFullPath)
|
||||
.then(res => res.arrayBuffer())
|
||||
.then(buffer => {
|
||||
|
@ -636,7 +637,11 @@ export default {
|
|||
async createAIPPTByFile(file,fileShowName) {
|
||||
this.pgDialog.visible = true
|
||||
this.pgDialog.pg.percentage = 0
|
||||
const resPptJson = await PPTXFileToJson(file)
|
||||
const resPptJson = await PPTXFileToJson(file).catch(() => {
|
||||
ElMessageBox.alert('PPT文件转换失败!请点击素材右侧...下载文件后打开另存为PPTX文件格式再进行导入!')
|
||||
this.pgDialog.visible = false
|
||||
})
|
||||
if (!resPptJson) return
|
||||
const { def, slides, ...content } = resPptJson
|
||||
// 生成缩略图
|
||||
const thumbnails = await slidesToImg(slides, content.width)
|
||||
|
|
Loading…
Reference in New Issue