diff --git a/src/renderer/src/assets/iconfont/iconfont.css b/src/renderer/src/assets/iconfont/iconfont.css index 48ced18..1e0727e 100644 --- a/src/renderer/src/assets/iconfont/iconfont.css +++ b/src/renderer/src/assets/iconfont/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* Project id 4723712 */ - src: url('iconfont.woff2?t=1733880548695') format('woff2'), - url('iconfont.woff?t=1733880548695') format('woff'), - url('iconfont.ttf?t=1733880548695') format('truetype'); + src: url('iconfont.woff2?t=1734337029245') format('woff2'), + url('iconfont.woff?t=1734337029245') format('woff'), + url('iconfont.ttf?t=1734337029245') format('truetype'); } .iconfont { @@ -13,6 +13,10 @@ -moz-osx-font-smoothing: grayscale; } +.icon-yinle:before { + content: "\e6c9"; +} + .icon-yuyin:before { content: "\e648"; } diff --git a/src/renderer/src/assets/iconfont/iconfont.js b/src/renderer/src/assets/iconfont/iconfont.js index 55c5cce..0104497 100644 --- a/src/renderer/src/assets/iconfont/iconfont.js +++ b/src/renderer/src/assets/iconfont/iconfont.js @@ -1 +1 @@ -window._iconfont_svg_string_4723712='',(l=>{var h=(c=(c=document.getElementsByTagName("script"))[c.length-1]).getAttribute("data-injectcss"),c=c.getAttribute("data-disable-injectsvg");if(!c){var a,v,t,i,z,p=function(h,c){c.parentNode.insertBefore(h,c)};if(h&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(h){console&&console.log(h)}}a=function(){var h,c=document.createElement("div");c.innerHTML=l._iconfont_svg_string_4723712,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(h=document.body).firstChild?p(c,h.firstChild):h.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(v=function(){document.removeEventListener("DOMContentLoaded",v,!1),a()},document.addEventListener("DOMContentLoaded",v,!1)):document.attachEvent&&(t=a,i=l.document,z=!1,o(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,M())})}function M(){z||(z=!0,t())}function o(){try{i.documentElement.doScroll("left")}catch(h){return void setTimeout(o,50)}M()}})(window); \ No newline at end of file +window._iconfont_svg_string_4723712='',(l=>{var h=(c=(c=document.getElementsByTagName("script"))[c.length-1]).getAttribute("data-injectcss"),c=c.getAttribute("data-disable-injectsvg");if(!c){var a,v,t,i,z,p=function(h,c){c.parentNode.insertBefore(h,c)};if(h&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(h){console&&console.log(h)}}a=function(){var h,c=document.createElement("div");c.innerHTML=l._iconfont_svg_string_4723712,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(h=document.body).firstChild?p(c,h.firstChild):h.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(v=function(){document.removeEventListener("DOMContentLoaded",v,!1),a()},document.addEventListener("DOMContentLoaded",v,!1)):document.attachEvent&&(t=a,i=l.document,z=!1,o(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,M())})}function M(){z||(z=!0,t())}function o(){try{i.documentElement.doScroll("left")}catch(h){return void setTimeout(o,50)}M()}})(window); \ No newline at end of file diff --git a/src/renderer/src/assets/iconfont/iconfont.json b/src/renderer/src/assets/iconfont/iconfont.json index 7e335cb..9074987 100644 --- a/src/renderer/src/assets/iconfont/iconfont.json +++ b/src/renderer/src/assets/iconfont/iconfont.json @@ -5,6 +5,13 @@ "css_prefix_text": "icon-", "description": "", "glyphs": [ + { + "icon_id": "11819186", + "name": "音乐", + "font_class": "yinle", + "unicode": "e6c9", + "unicode_decimal": 59081 + }, { "icon_id": "6338162", "name": "语音生成", diff --git a/src/renderer/src/assets/iconfont/iconfont.ttf b/src/renderer/src/assets/iconfont/iconfont.ttf index 51df6e8..cc1b0d5 100644 Binary files a/src/renderer/src/assets/iconfont/iconfont.ttf and b/src/renderer/src/assets/iconfont/iconfont.ttf differ diff --git a/src/renderer/src/assets/iconfont/iconfont.woff b/src/renderer/src/assets/iconfont/iconfont.woff index e9b9ac1..e3e4f22 100644 Binary files a/src/renderer/src/assets/iconfont/iconfont.woff and b/src/renderer/src/assets/iconfont/iconfont.woff differ diff --git a/src/renderer/src/assets/iconfont/iconfont.woff2 b/src/renderer/src/assets/iconfont/iconfont.woff2 index ac355d5..ad28332 100644 Binary files a/src/renderer/src/assets/iconfont/iconfont.woff2 and b/src/renderer/src/assets/iconfont/iconfont.woff2 differ diff --git a/src/renderer/src/components/file-image/index.vue b/src/renderer/src/components/file-image/index.vue index 0c1b1a5..74a5341 100644 --- a/src/renderer/src/components/file-image/index.vue +++ b/src/renderer/src/components/file-image/index.vue @@ -41,6 +41,7 @@ const getFileTypeIcon = () => { airobot: 'icon-jiqirenfushi', // 数字人生成 aiimg: 'icon-xiangmuicon_maobishufa', // 文生图片 aidraw: 'icon-meishu-F', // 文生连环画 + aiyinyue: 'icon-yinle' //文生音乐 } if (iconObj[name]) { return '#' + iconObj[name] diff --git a/src/renderer/src/utils/tool.js b/src/renderer/src/utils/tool.js index 02aeae2..c30db4e 100644 --- a/src/renderer/src/utils/tool.js +++ b/src/renderer/src/utils/tool.js @@ -422,6 +422,19 @@ export const toLinkWeb = (path) => { cookieData: { ...config } }) } + +/** + * @description 外部跳转-web网页 + * @param {*} url + */ +export const toLinkLeftWeb = (url) => { + // 通知主进程 + ipcRenderer.send('openWindow', { + key: `win-${Date.now()}`, + fullPath: url + }) +} + /** * @description 外部跳转-web网页 * @param {*} path diff --git a/src/renderer/src/views/model/index.vue b/src/renderer/src/views/model/index.vue index c27c811..4bc6ebb 100644 --- a/src/renderer/src/views/model/index.vue +++ b/src/renderer/src/views/model/index.vue @@ -90,7 +90,7 @@ import { dataSetJson } from '@/utils/comm' // 数据集id文生图 import { sessionStore } from '@/utils/store' import {listEntpcourse} from "@/api/teaching/classwork"; import {addEntpcoursefileReturnId, getEntpcoursefile} from "@/api/education/entpcoursefile"; -import {createWindow, ipcMsgSend} from "@/utils/tool"; +import {createWindow, toLinkLeftWeb} from "@/utils/tool"; import {ElMessage} from "element-plus"; import {PPTXFileToJson} from "@/AixPPTist/src/hooks/useImport"; import * as API_entpcoursefile from "@/api/education/entpcoursefile"; @@ -161,6 +161,11 @@ const tools = reactive([{ name: '视频生成', path: '', img: 'aivideo' +},{ + name: '音乐生成', + path: 'https://ai.ysaix.com:7845/', + type: 'link', + img: 'aiyinyue' }]) const uploadData = ref({ @@ -173,6 +178,11 @@ const uploadData = ref({ const currentFileList = ref([]) const gotoRoute = (item) => { + if (item.type === 'link') { + //link方式 + toLinkLeftWeb(item.path); + return + } if (item.path) { if (item.path === '/model/aiKolors') { gotoAiKolors(item.path)