Compare commits

..

No commits in common. "388fc2b2b4782f52037c58714093a6579e902c15" and "83c377fd9eb0d47d2030c66132fe349422c031fa" have entirely different histories.

15 changed files with 70 additions and 88 deletions

View File

@ -1,6 +1,6 @@
{
"name": "aix-win",
"version": "2.1.12",
"version": "2.1.9",
"description": "",
"main": "./out/main/index.js",
"author": "example.com",

View File

@ -246,10 +246,8 @@ export default async function ({ app, shell, BrowserWindow, ipcMain }) {
/*创建新的ppt文件*/
ipcMain.on('creat-ai-file-default', (e, { name, url, uploadData, cookie }) => {
createFolder('tempFile').then(async () => {
let lastname = decodeURIComponent(url);
name = lastname.substring(lastname.lastIndexOf("/")+1)
let path = appTempFilePath + name.replace(/[\\/:*?"<>|]/, '')
let {type,item} = await downloadFiles(url,name)
let {type,item} = await downloadFile(url,name)
if (type==="成功") {
let fileType = 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
let formData = new FormData()
@ -281,8 +279,7 @@ export default async function ({ app, shell, BrowserWindow, ipcMain }) {
})
})
function downloadFiles(url,fileName) {
console.log(url,fileName)
function downloadFile(url,fileName) {
return new Promise((resolve, reject)=>{
const browserWindow = BrowserWindow.getFocusedWindow()
const id = manager.download({

View File

@ -285,11 +285,8 @@ export class ImChat {
// callback: (data) => {}
}
// console.log('发送消息', option)
this.setConsole('%cim-chat: 发送消息【req】', conv_id, msg)
return this.timChat.TIMMsgSendMessageV2(option).then(res => {
this.setConsole('%cim-chat: 发送消息【res】', JSON.stringify(res))
return res
})
this.setConsole('%cim-chat: 发送消息', option)
return this.timChat.TIMMsgSendMessageV2(option)
}
/**
* @description 发送群消息

View File

@ -1,49 +1,27 @@
import axios from "axios";
import { getSignature } from "./index";
import { ElMessage } from "element-plus";
import request from '@/utils/request'
let appId = "01ec9aa3";
let secret = "M2QxMDAxMjYyYTEzODMwMGRkZTQ4NmUy";
let timestamp = Math.floor(Date.now() / 1000);
let signature = getSignature(appId, secret, timestamp);
let req = (url, type, data)=>{
let config = {
headers: {
"Content-Type": "application/json",
appId: appId,
timestamp: timestamp,
signature: signature,
},
url: url,
method: type,
}
if (type === "GET") {
config.params = data;
} else {
config.data = data;
}
return request(config)
}
/*const instance = axios.create({
// baseURL: import.meta.env.VITE_APP_ENV === "development"?"/parth":import.meta.env.VITE_APP_BASE_API,
baseURL: "/dev-api",
const instance = axios.create({
baseURL: "",
headers: {
"Content-Type": "application/json",
'Authorization': 'Bearer ' + getToken(),
appId: appId,
timestamp: timestamp,
signature: signature,
},
});*/
});
const createOutline = async (data) => {
console.log("createOutline data:", data);
try {
const response = await req(
"/api/aippt/createOutline",
"POST",
const response = await instance.post(
"/parth/api/aippt/createOutline",
data
);
console.log("createOutline response:", response);
@ -58,7 +36,7 @@ const createOutline = async (data) => {
};
const getBackGround = async () => {
try {
const response = await req("/api/aippt/themeList", "GET");
const response = await instance.get("/parth/api/aippt/themeList");
return response.data;
} catch (error) {
console.error("请求失败:", error);
@ -67,7 +45,7 @@ const getBackGround = async () => {
};
const createPPT = async (data) => {
try {
const response = await req("/api/aippt/create", "POST", data);
const response = await instance.post("/parth/api/aippt/create", data);
console.log("createOutline response:", response);
return response.data;
@ -78,7 +56,7 @@ const createPPT = async (data) => {
};
const createByOutline = async (data) => {
try {
const response = await req("/api/aippt/createByOutline","POST", data);
const response = await instance.post("/parth/api/aippt/createByOutline", data);
console.log("createByOutline response:", response);
return response.data;
@ -89,7 +67,7 @@ const createByOutline = async (data) => {
};
const getProgress = async (id) => {
try {
const response = await req(`/api/aippt/progress?sid=${id}`, "GET");
const response = await instance.get(`/parth/api/aippt/progress?sid=${id}`);
return response.data;
} catch (error) {
console.error("请求失败:", error);
@ -97,4 +75,4 @@ const getProgress = async (id) => {
}
};
export { createOutline, getBackGround, createPPT, getProgress, createByOutline };
export { instance, createOutline, getBackGround, createPPT, getProgress, createByOutline };

View File

@ -237,7 +237,7 @@ const getStudentClassWorkData = async() => {
// deaddate: tabActive.value === ''? getTomorrow() : EndDate.value,//
// deaddate: EndDate.value,//
// //status: '1', // 1-
// orderby: "deaddate DESC",//
// orderby: "deaddate DESC",// TODO deaddate
// pageSize: 1000,
// })
@ -401,8 +401,7 @@ const onClickItem = (item) => {
clearInterval(pollingST.value)
console.log('防抖开启弹窗')
// sessionStore.set('teachClassWorkItem', item); // item
localStorage.setItem('teachClassWorkItem', JSON.stringify(item));
sessionStore.set('teachClassWorkItem', item); // item
debounceOpenWin();
}

View File

@ -147,7 +147,7 @@
</template>
</div>
</div>
<!-- TODO 课堂展示 预览待开发-->
<!-- TODO 课堂展示 常规作业 预览待开发-->
<!-- 常规作业包含多个格式图片略缩图展示点击放大其他附件跳转另外弹窗查看 -->
<div v-if="currentTag=='常规作业'" :style="{'padding': '15px', 'overflow': 'auto'}">
<div style="margin: 5px; background-color: white">
@ -476,8 +476,7 @@ const debounceOpenWin = debounce(() => {
//
const onClickItem = (item) => {
console.log('防抖开启弹窗')
// sessionStore.set('teachClassWorkItem', item); // item
localStorage.setItem('teachClassWorkItem', JSON.stringify(item));
sessionStore.set('teachClassWorkItem', item); // item
debounceOpenWin();
}

View File

@ -652,7 +652,16 @@ const handleClassWorkSave = async () => {
//
classWorkForm.chooseWorkLists = []; // list
classWorkForm.whiteboardObj = ''; // ? //
// refresh the list
//
// this.getClassWorkAllList();
// TODO
//TODO 3
// this.newWorkSpace = false;
// this.newWorkSpaceEdit = false;
// this.workEdit = false;
boardLoading.value = false
})
} finally {
@ -676,6 +685,16 @@ const handleClassWorkSave = async () => {
classWorkForm.chooseWorkLists = []; // list
classWorkForm.whiteboardObj = ''; // ? //
classWorkForm.fileHomeworkList = []; // list
// refresh the list
//
// this.getClassWorkAllList();
// TODO
//TODO 3
// this.newWorkSpace = false;
// this.newWorkSpaceEdit = false;
// this.workEdit = false;
fileLoading.value = false
})

View File

@ -634,9 +634,8 @@ const closeDialog = () => {
onMounted(() => {
const data = JSON.parse(localStorage.getItem('teachClassWorkItem'));
// const data = sessionStore.get('teachClassWorkItem');
// const data = localStorage.getItem('teachClassWorkItem');
// const data = JSON.parse(localStorage.getItem('teachClassWorkItem'));
const data = sessionStore.get('teachClassWorkItem');
console.log(data,'????????????????????' )
if(data){
openDialog(data)

View File

@ -96,8 +96,7 @@ const debounceOpenWin = debounce(() => {
//
const onClickItem = (item) => {
console.log('防抖开启弹窗')
// sessionStore.set('teachClassWorkItem', item); // item
localStorage.setItem('teachClassWorkItem', JSON.stringify(item));
sessionStore.set('teachClassWorkItem', item); // item
debounceOpenWin();
}

View File

@ -178,7 +178,7 @@ const getBackground = () => {
treeData.value = [];
getBackGround().then((res) => {
console.log(res);
backGroundList.value = res;
backGroundList.value = res.data;
});
};
@ -222,14 +222,14 @@ const outlineCreatePPT = () => {
activeStep.value = 4
const checkProgress = () => {
getProgress(res.sid).then((response) => {
percentage.value = response.process;
if (response && response.pptUrl && response.pptUrl.length > 4) {
getProgress(res.data.sid).then((response) => {
percentage.value = response.data.process;
if (response.data && response.data.pptUrl && response.data.pptUrl.length > 4) {
console.log('PPT',response)
// window.location.href = response.data.pptUrl;
//URLURL
// let url = "https://bjcdn.openstorage.cn/xinghuo-privatedata/%2Ftmp/apiTempFiledf28bf990a4c40ffb7477ed4b65392c27232357022409613439/%E3%80%8A%E9%9D%99%E5%A5%B3%E3%80%8B%E6%B7%B1%E5%BA%A6%E8%A7%A3%E8%AF%BB%E4%B8%8E%E7%A0%94%E7%A9%B6.pptx"
creatAIPPT(props.currentNode.itemtitle + '.pptx',response.pptUrl, props.uploadData).then((res) => {
creatAIPPT(props.currentNode.itemtitle + '.pptx',response.data.pptUrl, props.uploadData).then((res) => {
emit('addSuccess',res)
})
ElMessage.success("生成成功");

View File

@ -7,7 +7,7 @@
<el-image class="imges" :src="bookInfo ? bookInfo.avartar : ''" />
</div>
<div class="stand-head-right">
<div class="stand-head-right-tit">{{bookInfo ? bookInfo.itemtitle : ''}}</div>
<div class="stand-head-right-tit">{{bookInfo ? bookInfo.bookName : ''}}</div>
<i class="iconfont icon-yidongdaozu stand-head-right-icon" @click="dialogVisible = true"></i>
<div class="stand-head-right-row">
<div class="stand-head-right-row-time">更新2024.9.10</div>
@ -72,7 +72,7 @@
<div class="booklist">
<div :class="{'item': true,'active': booksel === idx}" v-for="item,idx in bookList" :key="idx" @click="bookChange(item,idx)">
<el-image class="bookimg" :src="item.avartar" />
<div class="bookname">{{item.itemtitle}}</div>
<div class="bookname">{{item.bookName}}</div>
</div>
</div>
</el-dialog>
@ -173,7 +173,7 @@ const selectHandel = (value) => {
}
//json
const saveJSON = (data) => {
let filename = ''
// const data = {
// name: 'txt',
@ -247,12 +247,11 @@ const getAllSubject = async () => {
rows && rows.map(item => {
if(edustage === item.edustage && item.edusubject === edusubject){
bookInfo.value = {...item,avartar: import.meta.env.VITE_APP_BUILD_BASE_PATH + item.avartar,bookName: bookNameFormat(item.edustage,item.edusubject)}
if(item.fileurl !== ''){
bookList.value.push(bookInfo.value)
}
}
if(item.fileurl !== ''){
bookList.value.push({...item,avartar: import.meta.env.VITE_APP_BUILD_BASE_PATH + item.avartar,bookName: bookNameFormat(item.edustage,item.edusubject)})
}
})
console.log(bookList)
const textselidx = bookList.value.findIndex(item => item.edustage === edustage && item.edusubject === edusubject)
booksel.value = textselidx
const filePath = import.meta.env.VITE_APP_RES_FILE_PATH + bookList.value[textselidx].fileurl.replace('.txt','.pdf')
@ -283,7 +282,7 @@ onMounted(async () => {
const searchh = searchref.value.offsetHeight;
listHeight.value = Math.floor(cardH) - Math.floor(headh) - Math.floor(searchh) - 60;
}
window.addEventListener('resize', () => {
if(cardref.value && headref.value){
const cardH = cardref.value.offsetHeight;
@ -334,9 +333,9 @@ onMounted(async () => {
console.log('转换后整体文字------',StartStr + midStr + EndStr);
}
})
// const isDev = process.env.NODE_ENV == 'development'
// if (isDev)
// if (isDev)
// pdfUrl.value = '/'+getStaticUrl('aaa.pdf', 'user', 'selfFile', true)
// else
// pdfUrl.value = getStaticUrl(route.query.path, 'user', 'selfFile', true)
@ -553,4 +552,4 @@ onMounted(async () => {
color: #ffffff;
}
}
</style>
</style>

View File

@ -7,7 +7,7 @@
<el-image class="imges" :src="bookInfo ? bookInfo.avartar : ''" />
</div>
<div class="stand-head-right">
<div class="stand-head-right-tit">{{bookInfo ? bookInfo.itemtitle: ''}}</div>
<div class="stand-head-right-tit">{{bookInfo ? bookInfo.bookName: ''}}</div>
<i class="iconfont icon-yidongdaozu stand-head-right-icon" @click="dialogVisible = true"></i>
<div class="stand-head-right-row">
<div class="stand-head-right-row-time">更新2024.9.10</div>
@ -72,7 +72,7 @@
<div class="booklist">
<div :class="{'item': true,'active': booksel === idx}" v-for="item,idx in bookList" :key="idx" @click="bookChange(item,idx)">
<el-image class="bookimg" :src="item.avartar" />
<div class="bookname">{{item.itemtitle}}</div>
<div class="bookname">{{item.bookName}}</div>
</div>
</div>
</el-dialog>
@ -175,7 +175,7 @@ const selectHandel = (value) => {
}
//json
const saveJSON = (data) => {
let filename = ''
// const data = {
// name: 'txt',
@ -249,11 +249,7 @@ const getAllSubject = async () => {
const dataList = [];
rows && rows.map((item,idx) => {
if(item.fileurl !== ''){
let infos = {...item,avartar: import.meta.env.VITE_APP_BUILD_BASE_PATH + item.avartar,bookName: item.fileurl.replace('.txt','')}
if(infos.itemgroup==="校本课程") {
infos.avartar = item.avartar
}
dataList.push(infos)
dataList.push({...item,avartar: import.meta.env.VITE_APP_BUILD_BASE_PATH + item.avartar,bookName: item.fileurl.replace('.txt','')})
}
})
bookList.value = dataList
@ -269,7 +265,7 @@ const getAllSubject = async () => {
bookInfo.value = {...dataList[0]}
filePath += dataList[0].fileurl.replace('.txt','.pdf')
}
await loadPdfAnimation(filePath)
await loadPdfAnimation(filePath)
}else{
bookInfo.value = {...dataList[0]}
filePath += dataList[0].fileurl.replace('.txt','.pdf')
@ -299,7 +295,7 @@ onMounted(async () => {
const searchh = searchref.value.offsetHeight;
listHeight.value = Math.floor(cardH) - Math.floor(headh) - Math.floor(searchh) - 60;
}
window.addEventListener('resize', () => {
if(cardref.value && headref.value){
const cardH = cardref.value.offsetHeight;
@ -350,9 +346,9 @@ onMounted(async () => {
console.log('转换后整体文字------',StartStr + midStr + EndStr);
}
})
// const isDev = process.env.NODE_ENV == 'development'
// if (isDev)
// if (isDev)
// pdfUrl.value = '/'+getStaticUrl('aaa.pdf', 'user', 'selfFile', true)
// else
// pdfUrl.value = getStaticUrl(route.query.path, 'user', 'selfFile', true)
@ -574,4 +570,4 @@ onMounted(async () => {
color: #ffffff;
}
}
</style>
</style>

View File

@ -128,7 +128,7 @@ const closeHomework = async() => {
const successHomework = (data)=>{
// console.log('', data)
// im-(app|)
// ipcMsgInvoke('im-chat:msg', data, MsgEnum.HEADS.MSG_0016)
ipcMsgInvoke('im-chat:msg', data, MsgEnum.HEADS.MSG_0016)
}
// change
const changeChapter = async (data)=>{

View File

@ -12,7 +12,7 @@ const props = defineProps({
})
const imChatObj = reactive({imChat:null})
onMounted(() => {
// ipcMainHandle() // -ipcMain im
ipcMainHandle() // -ipcMain im
})
// im-chat
const initImChat = async (timGroupId) => {

View File

@ -105,7 +105,7 @@ const getClassInfo = async () => {
const chat = await imChatRef.value?.initImChat(timGroupId) // im-chat
if (!timGroupId) timGroupId = chat?.timGroupId
if (!timGroupId) return ElMessage.error('房间创建-失败')
if (data.status != '上课中') classManageApi.startClass(classObj.id, timGroupId) //
classManageApi.startClass(classObj.id, timGroupId) //
}
// tab-change
const tabChange = (val) => {
@ -158,7 +158,7 @@ const touchChange = (e) => {
const chatChange = (type, data, ...args) => {
if (type == 'createGroup') { // -
console.log('创建群:', data)
// !!data && classManageApi.startClass(classObj.id, data)
!!data && classManageApi.startClass(classObj.id, data)
} else if (type == 'msg') { // im-chat
if (!data) return // msg message_msg_id
const msgId = (args||[])[0].message_msg_id