Merge branch 'main' into zhuhao_dev
This commit is contained in:
commit
68de31c569
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "aix-win",
|
"name": "aix-win",
|
||||||
"version": "2.1.9",
|
"version": "2.1.12",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./out/main/index.js",
|
"main": "./out/main/index.js",
|
||||||
"author": "example.com",
|
"author": "example.com",
|
||||||
|
|
|
@ -246,8 +246,10 @@ export default async function ({ app, shell, BrowserWindow, ipcMain }) {
|
||||||
/*创建新的ppt文件*/
|
/*创建新的ppt文件*/
|
||||||
ipcMain.on('creat-ai-file-default', (e, { name, url, uploadData, cookie }) => {
|
ipcMain.on('creat-ai-file-default', (e, { name, url, uploadData, cookie }) => {
|
||||||
createFolder('tempFile').then(async () => {
|
createFolder('tempFile').then(async () => {
|
||||||
|
let lastname = decodeURIComponent(url);
|
||||||
|
name = lastname.substring(lastname.lastIndexOf("/")+1)
|
||||||
let path = appTempFilePath + name.replace(/[\\/:*?"<>|]/, '')
|
let path = appTempFilePath + name.replace(/[\\/:*?"<>|]/, '')
|
||||||
let {type,item} = await downloadFile(url,name)
|
let {type,item} = await downloadFiles(url,name)
|
||||||
if (type==="成功") {
|
if (type==="成功") {
|
||||||
let fileType = 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
|
let fileType = 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
|
||||||
let formData = new FormData()
|
let formData = new FormData()
|
||||||
|
@ -279,7 +281,8 @@ export default async function ({ app, shell, BrowserWindow, ipcMain }) {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
function downloadFile(url,fileName) {
|
function downloadFiles(url,fileName) {
|
||||||
|
console.log(url,fileName)
|
||||||
return new Promise((resolve, reject)=>{
|
return new Promise((resolve, reject)=>{
|
||||||
const browserWindow = BrowserWindow.getFocusedWindow()
|
const browserWindow = BrowserWindow.getFocusedWindow()
|
||||||
const id = manager.download({
|
const id = manager.download({
|
||||||
|
|
|
@ -285,8 +285,11 @@ export class ImChat {
|
||||||
// callback: (data) => {}
|
// callback: (data) => {}
|
||||||
}
|
}
|
||||||
// console.log('发送消息', option)
|
// console.log('发送消息', option)
|
||||||
this.setConsole('%cim-chat: 发送消息', option)
|
this.setConsole('%cim-chat: 发送消息【req】', conv_id, msg)
|
||||||
return this.timChat.TIMMsgSendMessageV2(option)
|
return this.timChat.TIMMsgSendMessageV2(option).then(res => {
|
||||||
|
this.setConsole('%cim-chat: 发送消息【res】', JSON.stringify(res))
|
||||||
|
return res
|
||||||
|
})
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @description 发送群消息
|
* @description 发送群消息
|
||||||
|
|
|
@ -1,27 +1,49 @@
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import { getSignature } from "./index";
|
import { getSignature } from "./index";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
let appId = "01ec9aa3";
|
let appId = "01ec9aa3";
|
||||||
let secret = "M2QxMDAxMjYyYTEzODMwMGRkZTQ4NmUy";
|
let secret = "M2QxMDAxMjYyYTEzODMwMGRkZTQ4NmUy";
|
||||||
let timestamp = Math.floor(Date.now() / 1000);
|
let timestamp = Math.floor(Date.now() / 1000);
|
||||||
let signature = getSignature(appId, secret, timestamp);
|
let signature = getSignature(appId, secret, timestamp);
|
||||||
|
let req = (url, type, data)=>{
|
||||||
const instance = axios.create({
|
let config = {
|
||||||
baseURL: "",
|
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
appId: appId,
|
appId: appId,
|
||||||
timestamp: timestamp,
|
timestamp: timestamp,
|
||||||
signature: signature,
|
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",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
'Authorization': 'Bearer ' + getToken(),
|
||||||
|
appId: appId,
|
||||||
|
timestamp: timestamp,
|
||||||
|
signature: signature,
|
||||||
|
},
|
||||||
|
});*/
|
||||||
|
|
||||||
const createOutline = async (data) => {
|
const createOutline = async (data) => {
|
||||||
console.log("createOutline data:", data);
|
console.log("createOutline data:", data);
|
||||||
try {
|
try {
|
||||||
const response = await instance.post(
|
const response = await req(
|
||||||
"/parth/api/aippt/createOutline",
|
"/api/aippt/createOutline",
|
||||||
|
"POST",
|
||||||
data
|
data
|
||||||
);
|
);
|
||||||
console.log("createOutline response:", response);
|
console.log("createOutline response:", response);
|
||||||
|
@ -36,7 +58,7 @@ const createOutline = async (data) => {
|
||||||
};
|
};
|
||||||
const getBackGround = async () => {
|
const getBackGround = async () => {
|
||||||
try {
|
try {
|
||||||
const response = await instance.get("/parth/api/aippt/themeList");
|
const response = await req("/api/aippt/themeList", "GET");
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("请求失败:", error);
|
console.error("请求失败:", error);
|
||||||
|
@ -45,7 +67,7 @@ const getBackGround = async () => {
|
||||||
};
|
};
|
||||||
const createPPT = async (data) => {
|
const createPPT = async (data) => {
|
||||||
try {
|
try {
|
||||||
const response = await instance.post("/parth/api/aippt/create", data);
|
const response = await req("/api/aippt/create", "POST", data);
|
||||||
console.log("createOutline response:", response);
|
console.log("createOutline response:", response);
|
||||||
|
|
||||||
return response.data;
|
return response.data;
|
||||||
|
@ -56,7 +78,7 @@ const createPPT = async (data) => {
|
||||||
};
|
};
|
||||||
const createByOutline = async (data) => {
|
const createByOutline = async (data) => {
|
||||||
try {
|
try {
|
||||||
const response = await instance.post("/parth/api/aippt/createByOutline", data);
|
const response = await req("/api/aippt/createByOutline","POST", data);
|
||||||
console.log("createByOutline response:", response);
|
console.log("createByOutline response:", response);
|
||||||
|
|
||||||
return response.data;
|
return response.data;
|
||||||
|
@ -67,7 +89,7 @@ const createByOutline = async (data) => {
|
||||||
};
|
};
|
||||||
const getProgress = async (id) => {
|
const getProgress = async (id) => {
|
||||||
try {
|
try {
|
||||||
const response = await instance.get(`/parth/api/aippt/progress?sid=${id}`);
|
const response = await req(`/api/aippt/progress?sid=${id}`, "GET");
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("请求失败:", error);
|
console.error("请求失败:", error);
|
||||||
|
@ -75,4 +97,4 @@ const getProgress = async (id) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export { instance, createOutline, getBackGround, createPPT, getProgress, createByOutline };
|
export { createOutline, getBackGround, createPPT, getProgress, createByOutline };
|
||||||
|
|
|
@ -178,7 +178,7 @@ const getBackground = () => {
|
||||||
treeData.value = [];
|
treeData.value = [];
|
||||||
getBackGround().then((res) => {
|
getBackGround().then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
backGroundList.value = res.data;
|
backGroundList.value = res;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -222,14 +222,14 @@ const outlineCreatePPT = () => {
|
||||||
activeStep.value = 4
|
activeStep.value = 4
|
||||||
|
|
||||||
const checkProgress = () => {
|
const checkProgress = () => {
|
||||||
getProgress(res.data.sid).then((response) => {
|
getProgress(res.sid).then((response) => {
|
||||||
percentage.value = response.data.process;
|
percentage.value = response.process;
|
||||||
if (response.data && response.data.pptUrl && response.data.pptUrl.length > 4) {
|
if (response && response.pptUrl && response.pptUrl.length > 4) {
|
||||||
console.log('PPT',response)
|
console.log('PPT',response)
|
||||||
// window.location.href = response.data.pptUrl;
|
// window.location.href = response.data.pptUrl;
|
||||||
//发消息到主进程,携带名称和URL,将URL下载下来后复制到文件列表并上传到服务
|
//发消息到主进程,携带名称和URL,将URL下载下来后复制到文件列表并上传到服务
|
||||||
// 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"
|
// 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.data.pptUrl, props.uploadData).then((res) => {
|
creatAIPPT(props.currentNode.itemtitle + '.pptx',response.pptUrl, props.uploadData).then((res) => {
|
||||||
emit('addSuccess',res)
|
emit('addSuccess',res)
|
||||||
})
|
})
|
||||||
ElMessage.success("生成成功");
|
ElMessage.success("生成成功");
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<el-image class="imges" :src="bookInfo ? bookInfo.avartar : ''" />
|
<el-image class="imges" :src="bookInfo ? bookInfo.avartar : ''" />
|
||||||
</div>
|
</div>
|
||||||
<div class="stand-head-right">
|
<div class="stand-head-right">
|
||||||
<div class="stand-head-right-tit">{{bookInfo ? bookInfo.bookName : ''}}</div>
|
<div class="stand-head-right-tit">{{bookInfo ? bookInfo.itemtitle : ''}}</div>
|
||||||
<i class="iconfont icon-yidongdaozu stand-head-right-icon" @click="dialogVisible = true"></i>
|
<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">
|
||||||
<div class="stand-head-right-row-time">更新2024.9.10</div>
|
<div class="stand-head-right-row-time">更新2024.9.10</div>
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
<div class="booklist">
|
<div class="booklist">
|
||||||
<div :class="{'item': true,'active': booksel === idx}" v-for="item,idx in bookList" :key="idx" @click="bookChange(item,idx)">
|
<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" />
|
<el-image class="bookimg" :src="item.avartar" />
|
||||||
<div class="bookname">{{item.bookName}}</div>
|
<div class="bookname">{{item.itemtitle}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
@ -247,11 +247,12 @@ const getAllSubject = async () => {
|
||||||
rows && rows.map(item => {
|
rows && rows.map(item => {
|
||||||
if(edustage === item.edustage && item.edusubject === edusubject){
|
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)}
|
bookInfo.value = {...item,avartar: import.meta.env.VITE_APP_BUILD_BASE_PATH + item.avartar,bookName: bookNameFormat(item.edustage,item.edusubject)}
|
||||||
}
|
|
||||||
if(item.fileurl !== ''){
|
if(item.fileurl !== ''){
|
||||||
bookList.value.push({...item,avartar: import.meta.env.VITE_APP_BUILD_BASE_PATH + item.avartar,bookName: bookNameFormat(item.edustage,item.edusubject)})
|
bookList.value.push(bookInfo.value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
console.log(bookList)
|
||||||
const textselidx = bookList.value.findIndex(item => item.edustage === edustage && item.edusubject === edusubject)
|
const textselidx = bookList.value.findIndex(item => item.edustage === edustage && item.edusubject === edusubject)
|
||||||
booksel.value = textselidx
|
booksel.value = textselidx
|
||||||
const filePath = import.meta.env.VITE_APP_RES_FILE_PATH + bookList.value[textselidx].fileurl.replace('.txt','.pdf')
|
const filePath = import.meta.env.VITE_APP_RES_FILE_PATH + bookList.value[textselidx].fileurl.replace('.txt','.pdf')
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<el-image class="imges" :src="bookInfo ? bookInfo.avartar : ''" />
|
<el-image class="imges" :src="bookInfo ? bookInfo.avartar : ''" />
|
||||||
</div>
|
</div>
|
||||||
<div class="stand-head-right">
|
<div class="stand-head-right">
|
||||||
<div class="stand-head-right-tit">{{bookInfo ? bookInfo.bookName: ''}}</div>
|
<div class="stand-head-right-tit">{{bookInfo ? bookInfo.itemtitle: ''}}</div>
|
||||||
<i class="iconfont icon-yidongdaozu stand-head-right-icon" @click="dialogVisible = true"></i>
|
<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">
|
||||||
<div class="stand-head-right-row-time">更新2024.9.10</div>
|
<div class="stand-head-right-row-time">更新2024.9.10</div>
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
<div class="booklist">
|
<div class="booklist">
|
||||||
<div :class="{'item': true,'active': booksel === idx}" v-for="item,idx in bookList" :key="idx" @click="bookChange(item,idx)">
|
<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" />
|
<el-image class="bookimg" :src="item.avartar" />
|
||||||
<div class="bookname">{{item.bookName}}</div>
|
<div class="bookname">{{item.itemtitle}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
@ -249,7 +249,11 @@ const getAllSubject = async () => {
|
||||||
const dataList = [];
|
const dataList = [];
|
||||||
rows && rows.map((item,idx) => {
|
rows && rows.map((item,idx) => {
|
||||||
if(item.fileurl !== ''){
|
if(item.fileurl !== ''){
|
||||||
dataList.push({...item,avartar: import.meta.env.VITE_APP_BUILD_BASE_PATH + item.avartar,bookName: item.fileurl.replace('.txt','')})
|
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)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
bookList.value = dataList
|
bookList.value = dataList
|
||||||
|
|
|
@ -128,7 +128,7 @@ const closeHomework = async() => {
|
||||||
const successHomework = (data)=>{
|
const successHomework = (data)=>{
|
||||||
// console.log('推送成功', data)
|
// console.log('推送成功', data)
|
||||||
// 发送im消息-推送作业(app|平板)
|
// 发送im消息-推送作业(app|平板)
|
||||||
ipcMsgInvoke('im-chat:msg', data, MsgEnum.HEADS.MSG_0016)
|
// ipcMsgInvoke('im-chat:msg', data, MsgEnum.HEADS.MSG_0016)
|
||||||
}
|
}
|
||||||
// 章节目录change
|
// 章节目录change
|
||||||
const changeChapter = async (data)=>{
|
const changeChapter = async (data)=>{
|
||||||
|
|
|
@ -12,7 +12,7 @@ const props = defineProps({
|
||||||
})
|
})
|
||||||
const imChatObj = reactive({imChat:null})
|
const imChatObj = reactive({imChat:null})
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
ipcMainHandle() // 绑定-监听ipcMain im相关消息
|
// ipcMainHandle() // 绑定-监听ipcMain im相关消息
|
||||||
})
|
})
|
||||||
// 初始化 im-chat
|
// 初始化 im-chat
|
||||||
const initImChat = async (timGroupId) => {
|
const initImChat = async (timGroupId) => {
|
||||||
|
|
|
@ -105,7 +105,7 @@ const getClassInfo = async () => {
|
||||||
const chat = await imChatRef.value?.initImChat(timGroupId) // 初始化im-chat
|
const chat = await imChatRef.value?.initImChat(timGroupId) // 初始化im-chat
|
||||||
if (!timGroupId) timGroupId = chat?.timGroupId
|
if (!timGroupId) timGroupId = chat?.timGroupId
|
||||||
if (!timGroupId) return ElMessage.error('房间创建-失败')
|
if (!timGroupId) return ElMessage.error('房间创建-失败')
|
||||||
classManageApi.startClass(classObj.id, timGroupId) // 开始上课
|
if (data.status != '上课中') classManageApi.startClass(classObj.id, timGroupId) // 开始上课
|
||||||
}
|
}
|
||||||
// 切换tab-change
|
// 切换tab-change
|
||||||
const tabChange = (val) => {
|
const tabChange = (val) => {
|
||||||
|
@ -158,7 +158,7 @@ const touchChange = (e) => {
|
||||||
const chatChange = (type, data, ...args) => {
|
const chatChange = (type, data, ...args) => {
|
||||||
if (type == 'createGroup') { // 创建群-监听
|
if (type == 'createGroup') { // 创建群-监听
|
||||||
console.log('创建群:', data)
|
console.log('创建群:', data)
|
||||||
!!data && classManageApi.startClass(classObj.id, data)
|
// !!data && classManageApi.startClass(classObj.id, data)
|
||||||
} else if (type == 'msg') { // im-chat 消息监听
|
} else if (type == 'msg') { // im-chat 消息监听
|
||||||
if (!data) return // 没有msg数据 message_msg_id
|
if (!data) return // 没有msg数据 message_msg_id
|
||||||
const msgId = (args||[])[0].message_msg_id
|
const msgId = (args||[])[0].message_msg_id
|
||||||
|
|
Loading…
Reference in New Issue