This commit is contained in:
lyc 2024-08-08 11:22:54 +08:00
commit 9a8d0e61d5
12 changed files with 134 additions and 34 deletions

View File

@ -1,9 +1,9 @@
@font-face {
font-family: "iconfont"; /* Project id 2794390 */
src: url('iconfont.woff2?t=1722393125520') format('woff2'),
url('iconfont.woff?t=1722393125520') format('woff'),
url('iconfont.ttf?t=1722393125520') format('truetype'),
url('iconfont.svg?t=1722393125520#iconfont') format('svg');
src: url('iconfont.woff2?t=1723022855912') format('woff2'),
url('iconfont.woff?t=1723022855912') format('woff'),
url('iconfont.ttf?t=1723022855912') format('truetype'),
url('iconfont.svg?t=1723022855912#iconfont') format('svg');
}
.iconfont {
@ -14,6 +14,26 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-kechengziyuan1:before {
content: "\e647";
}
.icon-tubiaozhizuomobanyihuifu-:before {
content: "\e69d";
}
.icon-window-01:before {
content: "\e70b";
}
.icon-chuangkou-chuangkouhua:before {
content: "\e64b";
}
.icon-a-lujing13357:before {
content: "\e64c";
}
.icon-icon:before {
content: "\e640";
}

File diff suppressed because one or more lines are too long

View File

@ -5,6 +5,41 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "3053509",
"name": "课程资源",
"font_class": "kechengziyuan1",
"unicode": "e647",
"unicode_decimal": 58951
},
{
"icon_id": "4427402",
"name": "窗口",
"font_class": "tubiaozhizuomobanyihuifu-",
"unicode": "e69d",
"unicode_decimal": 59037
},
{
"icon_id": "18418603",
"name": "窗口",
"font_class": "window-01",
"unicode": "e70b",
"unicode_decimal": 59147
},
{
"icon_id": "30970631",
"name": "窗口-窗口化",
"font_class": "chuangkou-chuangkouhua",
"unicode": "e64b",
"unicode_decimal": 58955
},
{
"icon_id": "41196567",
"name": "下课",
"font_class": "a-lujing13357",
"unicode": "e64c",
"unicode_decimal": 58956
},
{
"icon_id": "680440",
"name": "教材",

View File

@ -14,6 +14,16 @@
/>
<missing-glyph />
<glyph glyph-name="kechengziyuan1" unicode="&#58951;" d="M530.299631 315.712191a54.537462 54.537462 0 0 0-34.299976 12.187492L19.862486 563.299519l-3.749997 3.749997a55.187462 55.187462 0 0 0 0 77.949946l3.749997 3.749998L495.687155 883.836796A54.537462 54.537462 0 0 0 530.299631 895.999288a54.562462 54.562462 0 0 0 34.299976-12.162492l476.137169-235.424836 3.749997-3.749998a55.199962 55.199962 0 0 0 0-77.949945l-3.749997-3.749998-476.137169-235.399836a54.562462 54.562462 0 0 0-34.299976-11.849992z m-455.874683 289.999798l455.874683-225.449843 455.874683 225.437343-455.874683 225.749843z m0 0M530.299631 94.012346a54.574962 54.574962 0 0 0-34.299976 12.162491L24.537483 339.149675a31.174978 31.174978 0 1 0 27.749981 55.812461l474.899669-234.849836 3.112498-1.874999 3.124998 1.874999 474.887169 235.112336a31.174978 31.174978 0 0 0 27.749981-55.812461L564.599607 105.862337a54.562462 54.562462 0 0 0-34.299976-11.849991z m0 0M530.299631-128a54.862462 54.862462 0 0 0-34.299976 12.149992L24.537483 116.46233a31.174978 31.174978 0 1 0 27.749981 55.812461l474.899669-233.862337 3.112498-1.874999 3.124998 1.874999 474.887169 235.112336a31.724978 31.724978 0 1 0 27.749981-57.06246L564.599607-115.850008a55.199962 55.199962 0 0 0-34.299976-12.149992z m0 0" horiz-adv-x="1060" />
<glyph glyph-name="tubiaozhizuomobanyihuifu-" unicode="&#59037;" d="M695.48 353.85m-15 0a15 15 0 1 1 30 0 15 15 0 1 1-30 0ZM586.39 17.63A28.63 28.63 0 0 0 557.76-11H122.39V424.37A28.63 28.63 0 0 0 151 453h156.39v79H152A108.63 108.63 0 0 1 43.39 423.37V-91h514.37a108.63 108.63 0 0 1 108.63 108.63V174h-80zM359.39 749v-523h523a100 100 0 0 1 100 100V849h-523a100 100 0 0 1-100-100z m523-443h-443V749a20 20 0 0 0 20 20h443v-443a20 20 0 0 0-20-20zM751.9 339h102a15.5 15.5 0 0 1 15.5 15.5V581.9a5.25 5.25 0 0 1-1.54 3.75c-13 12.72-28.46 3.75-28.46-8.84v-202.64a5.17 5.17 0 0 0-5.17-5.17H746.8a5.25 5.25 0 0 1-3.75-1.54c-12.71-12.95-3.74-28.46 8.85-28.46z" horiz-adv-x="1024" />
<glyph glyph-name="window-01" unicode="&#59147;" d="M176 664c0 30.93 25.07 56 56 56h616v56c0 30.93-25.07 56-56 56H120c-30.93 0-56-25.07-56-56v-672c0-30.93 25.07-56 56-56h56V664zM176-8V664c0 30.93 25.07 56 56 56h672c30.93 0 56-25.07 56-56v-672c0-30.93-25.07-56-56-56H232c-30.93 0-56 25.07-56 56zM960 548.5H176V664c0 30.93 25.07 56 56 56h672c30.93 0 56-25.07 56-56v-115.5zM274 634.25m-24.5 0a24.5 24.5 0 1 1 49 0 24.5 24.5 0 1 1-49 0ZM347.5 634.25m-24.5 0a24.5 24.5 0 1 1 49 0 24.5 24.5 0 1 1-49 0ZM421 634.25m-24.5 0a24.5 24.5 0 1 1 49 0 24.5 24.5 0 1 1-49 0ZM629.25 381.08h-269.5c-20.3 0-36.75-16.45-36.75-36.75s16.45-36.75 36.75-36.75h269.5c20.3 0 36.75 16.45 36.75 36.75s-16.45 36.75-36.75 36.75zM776.25 176.92h-416.5c-20.3 0-36.75-16.45-36.75-36.75s16.45-36.75 36.75-36.75h416.5c20.3 0 36.75 16.45 36.75 36.75 0 20.29-16.45 36.75-36.75 36.75z" horiz-adv-x="1024" />
<glyph glyph-name="chuangkou-chuangkouhua" unicode="&#58955;" d="M877.714286 164.571429h-146.285715v-146.285715c0-80.790674-65.49504-146.285714-146.285714-146.285714H146.285714c-80.790674 0-146.285714 65.49504-146.285714 146.285714V457.142857c0 80.790674 65.49504 146.285714 146.285714 146.285714h146.285715V749.714286C292.571429 830.50496 358.066469 896 438.857143 896h438.857143c80.790674 0 146.285714-65.49504 146.285714-146.285714v-438.857143c0-80.790674-65.49504-146.285714-146.285714-146.285714zM146.285714 530.285714c-40.398263 0-73.142857-32.744594-73.142857-73.142857v-438.857143c0-40.398263 32.744594-73.142857 73.142857-73.142857h438.857143c40.398263 0 73.142857 32.744594 73.142857 73.142857V457.142857c0 40.398263-32.744594 73.142857-73.142857 73.142857H146.285714zM950.857143 749.714286c0 40.398263-32.744594 73.142857-73.142857 73.142857H438.857143c-40.398263 0-73.142857-32.744594-73.142857-73.142857v-146.285715H585.142857c80.790674 0 146.285714-65.49504 146.285714-146.285714v-219.428571h146.285715c40.398263 0 73.142857 32.744594 73.142857 73.142857V749.714286z" horiz-adv-x="1024" />
<glyph glyph-name="a-lujing13357" unicode="&#58956;" d="M826.923942 449.891603c0 160.392197-86.723391 296.927783-236.108782 330.664923v36.552834a78.89064 78.89064 0 0 1-157.781281 0v-36.808807c-149.385392-36.552834-236.108782-170.835864-236.108782-330.664922v-262.781089L91.92529 81.854735v-52.781473h839.99846v53.037445l-104.999808 104.999808zM511.92452-127.888908a57.491362 57.491362 0 0 1 20.887333 2.610917 105.25578 105.25578 0 0 1 84.112474 104.999807h-209.897226A105.921308 105.921308 0 0 1 511.92452-127.888908zM94.024262 466.580992a25.597223 25.597223 0 0 0-6.245722 0.511944 40.955556 40.955556 0 0 0-35.017001 47.55964A596.77365 596.77365 0 0 0 227.744153 855.761166 41.723473 41.723473 0 1 0 285.696265 795.658887a514.504176 514.504176 0 0 1-150.460475-293.600144 42.03064 42.03064 0 0 0-41.211528-35.477751z m835.85171 0a25.597223 25.597223 0 0 1 6.245722 0.511944 40.955556 40.955556 0 0 1 35.017001 47.55964A596.77365 596.77365 0 0 1 796.156081 855.761166a41.774667 41.774667 0 1 1-58.054501-60.102279 514.504176 514.504176 0 0 0 150.460475-293.600144 42.03064 42.03064 0 0 1 41.262723-35.528945z" horiz-adv-x="1024" />
<glyph glyph-name="icon" unicode="&#58944;" d="M817.068044 743.163079 804.40463 743.163079l0 0.814552c0 54.475705-44.572148 99.047854-99.047854 99.047854L206.750831 843.025485c-54.4491 0-98.998735-44.550659-98.998735-98.999758l0-608.958262c0-54.475705 44.570101-99.045807 99.045807-99.045807l12.664438 0 0-0.815575c0-54.475705 44.570101-99.045807 99.045807-99.045807l498.559896 0c54.475705 0 99.047854 44.570101 99.047854 99.045807L916.115897 644.116249C916.115897 698.591955 871.543749 743.163079 817.068044 743.163079zM148.374282 157.929148 148.374282 721.158926c0 44.683688 36.559661 81.244372 81.244372 81.244372l452.878484 0c44.707225 0 81.286328-36.579103 81.286328-81.287351l0-563.185776c0-44.708248-36.579103-81.286328-81.286328-81.286328L229.66061 76.643843C184.952362 76.64282 148.374282 113.2209 148.374282 157.929148zM875.493711 58.067766c0-44.708248-36.579103-81.286328-81.286328-81.286328L341.370855-23.218562c-37.036521 0-68.249407 25.203008-77.943187 59.240219l441.929108 0c54.475705 0 99.047854 44.570101 99.047854 99.045807L804.40463 701.456189c39.885406-5.097088 71.089082-38.987966 71.089082-80.202647L875.493711 58.067766zM392.899438 313.767426c0-5.712095-2.856048-8.568143-8.569166-8.568143l-71.406307 0 0-38.560224 89.971128 0c25.706475 0 38.559201 14.772448 38.559201 44.272319l0 22.849404 21.421892 0 0 41.416272-19.99438 0 11.425214 21.421892 0 44.271296-84.259032 0 4.284583 15.709797 88.543615 0 0 41.415248-55.69651 0 0 34.275641 55.69651 0 0 39.987736-55.69651 0 0 21.421892-48.555879 0 0-19.993357-61.409628 0 0-41.415248 61.409628 0 0-34.275641-61.409628 0 0-41.415248 22.850427 0-4.284583-14.281261c-3.815909-4.77577-7.631818-7.140631-11.425214-7.140631l-7.140631 0 0-44.272319 34.274618 0c11.425214 0 20.463054 2.856048 27.13501 8.569166l42.843784 0-12.853749-24.27794-91.399663 0 0-41.416272 95.684246 0L392.898415 313.767426zM525.71435 503.707382l5.713119 24.27794 98.540294 0 0 39.987736-89.972151 0 5.712095 21.421892-48.555879 0-12.853749-49.984415c-1.918699-6.671956-5.712095-9.529027-11.425214-8.569166l-5.713119 0 0-41.416272 32.847106 0C512.370437 489.426121 520.939603 494.179378 525.71435 503.707382zM537.139563 275.208225l11.425214 22.849404 12.852726-21.421892c6.650467-12.362562 15.21861-18.565844 25.706475-18.565844l44.272319 0 0 38.559201-14.281261 0c-6.67298-0.959861-11.916401 3.793396-15.709797 14.281261l-24.278963 55.697533 47.128367 132.814911-58.552557 0-19.99438-65.694211-18.565844 42.843784-57.125045 0 48.556902-111.394043-19.99438-57.124022c-3.815909-8.569166-9.060353-12.853749-15.709797-12.853749l-17.137309 0 0-37.130665 47.128367 0C524.286838 259.030777 532.363793 264.742872 537.139563 275.208225z" horiz-adv-x="1024" />
<glyph glyph-name="ke" unicode="&#58945;" d="M898.357594 896H133.939604C62.429691 896 4.14672 837.712018 4.14672 766.205864v-764.416738c0-71.504902 58.282971-129.787873 129.792884-129.787873h764.41799c71.504902 0 129.787873 58.282971 129.787873 129.787873V766.205864C1028.145467 837.712018 969.862496 896 898.357594 896z m61.306917-150.971773v-722.056454c0-45.545824-37.100324-82.489564-82.494575-82.489564H155.278835c-45.545824 0-82.494575 37.100324-82.494574 82.489564V744.866632c0 45.547077 37.110345 82.495827 82.494574 82.495828H877.169936c45.394251 0.161594 82.494575-36.787156 82.494575-82.334233z m0 0M219.605939 497.65098h140.299026v-256.17099c16.695584 15.442914 31.943082 30.269515 45.72245 44.469781l15.658373-60.754489c-33.411211-33.411211-70.775848-64.512499-112.113953-93.323906l-22.548058 52.612135c10.432235 9.179565 15.658373 19.621821 15.658373 31.316747V440.6545H219.605939V497.65098z m85.181551 181.637132c40.085436-30.484974 73.907523-61.175386 101.46626-92.071236l-40.711771-41.338106c-25.053398 29.64318-59.296381 60.53903-102.71893 92.697571L304.78749 679.288112z m134.662012-16.911044H759.506655V412.469428H626.723648v-47.601455h160.341744v-55.117475h-112.113954c26.306067-49.275022 69.307719-93.744803 129.024997-133.409341l-38.206431-47.601455c-64.307061 54.696577-109.824073 115.030169-136.541016 181.010796h-2.50534v-202.306184h-55.74381V309.750498H569.100834c-30.064077-73.496647-78.291867-134.035677-144.683371-181.637131L393.727051 178.846497c58.03369 35.485632 101.250801 79.12364 129.651332 130.904001h-110.234949v55.117475h157.836404v47.601455h-131.530336V662.377068zM493.940641 560.2844729999999h77.039197v50.73313H493.940641V560.2844729999999z m77.039197-97.70825v49.48046H493.940641V462.576223h77.039197zM626.723648 611.017603V560.2844729999999h78.291867v50.73313H626.723648zM705.015515 462.576223v49.48046H626.723648V462.576223h78.291867z" horiz-adv-x="1056" />

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 261 KiB

View File

@ -24,8 +24,7 @@
<div class="flex-type flex">
<span class="name">类别</span>
<el-select v-model="item.fileData.fileFlag" placeholder="Select" style="width: 100px">
<el-option v-for="el in resourceType" :key="el.alue" :label="el.label" :value="el.value"
:disabled="checkFile(el, item)" />
<el-option v-for="el in resourceType" :key="el.alue" :label="el.label" :value="el.value" />
</el-select>
</div>

View File

@ -58,6 +58,12 @@ export function ipcMsgSend(key, data, type) {
return ipcRenderer?.invoke(key, data)
}
}
export function ipcMsgSend2(key, ...args) {
return ipcRenderer?.send(key, ...args)
}
export function ipcMsgInvoke(key, ...args) {
return ipcRenderer?.invoke(key, ...args)
}
/**
* @description 封装ipcRenderer事件监听
* @param {*} fn on once handle invoke
@ -197,9 +203,9 @@ const eventHandles = (type, win) => {
const setIgnore = (_, ignore) => {win.setIgnoreMouseEvents(ignore, {forward: true})}
Remote.ipcMain.handle('tool-sphere:set:ignore', setIgnore) // 异步
// 关闭窗口
Remote.ipcMain.once('tool-sphere:close', () => { win&&win.destroy() })
// 放大监听-测试
Remote.ipcMain.once('maximize-window', () => {win&&win.destroy()})
Remote.ipcMain.handleOnce('tool-sphere:close', () => {win&&win.destroy()})
// // 放大监听-测试
// Remote.ipcMain.once('maximize-window', () => {win&&win.destroy()})
const on = {
onClosed: () => {
Remote.ipcMain.removeHandler('tool-sphere:set:ignore', setIgnore)

View File

@ -39,10 +39,10 @@ const props = defineProps({
data: { //
type: Array,
default: () => [
{ label: '资源', prop: 'resource', icon: 'icon-hudong' },
{ label: '资源', prop: 'resource', icon: 'icon-kechengziyuan1' },
{ label: '互动', prop: 'interact', icon: 'icon-hudong' },
{ label: '窗口', prop: 'win', icon: 'icon-hudong' },
{ label: '下课', prop: 'over', icon: 'icon-hudong' },
{ label: '窗口', prop: 'win', icon: 'icon-tubiaozhizuomobanyihuifu-' },
{ label: '下课', prop: 'over', isExtra: true, icon: 'icon-a-lujing13357' },
]
}
})
@ -75,12 +75,14 @@ const getStyle = (style,index) => {
}
//
const clickHandel = (o, e) => {
const node = e.target.parentNode.getBoundingClientRect()
const isColse = activeObj.value && activeObj.value.prop === o.prop && isVisible.value
isVisible.value = !isColse //
activeObj.value = o
const nodeH = parseInt(node.height / 2) //
topPos.value = parseInt(node.top) - posBtnAll.top + nodeH
if (!o.isExtra) { // :
const node = e.target.parentNode.getBoundingClientRect()
const isColse = activeObj.value && activeObj.value.prop === o.prop && isVisible.value
isVisible.value = !isColse //
activeObj.value = o
const nodeH = parseInt(node.height / 2) //
topPos.value = parseInt(node.top) - posBtnAll.top + nodeH
}
emit('change', o)
}
</script>
@ -101,7 +103,6 @@ const clickHandel = (o, e) => {
cursor: pointer;
.iconfont{
font-size: 20px;
color: attr(color);
}
span{font-size: 12px;}
&:hover{

View File

@ -29,7 +29,8 @@ class Ignore {
})
}
changeHandle(e) {
const customEvent = new CustomEvent('ignore-mounted', {detail:{ignore: this, e}})
const data = {detail:{ignore: this, e, type: e.type}}
const customEvent = new CustomEvent('ignore-mounted', data)
this.el.dispatchEvent(customEvent)
}
}

View File

@ -3,7 +3,7 @@
<!-- 画板 -->
<board-vue v-model="tabActive" v-show="isShow" ref="boardVueRef"></board-vue>
<!-- 侧边工具栏 -->
<side-vue v-ignore></side-vue>
<side-vue v-ignore @ignore-mounted="sideMouse" @change="sideChange"></side-vue>
<!-- 底部工具栏 :style="dataPos.style"-->
<div class="tool-bottom-all" @mouseenter="mouseChange(0)" @mouseleave="mouseChange(1)">
<div v-drag="{handle:'.tool-bottom-all', dragtime}"
@ -36,7 +36,7 @@ import sideVue from './components/side.vue' // 画板-子组件
import vDrag from './directive/drag' // -
import vIgnore from './directive/ignore' // -穿
import { useToolState } from '@/store/modules/tool'
import { ipcMsgSend, ipcHandle, ipcMain } from '@/utils/tool' //
import { ipcMsgSend, ipcHandle, ipcMain, ipcMsgInvoke } from '@/utils/tool' //
const tabActive = ref('select') //
const isFold = ref(false) //
const isDrag = ref(false) //
@ -53,44 +53,71 @@ const btnList = [ // 工具栏按钮列表
// { label: '', value: 'focus', icon: 'icon-jujiao' },
// { label: '', value: 'more', icon: 'icon-xiazai9' },
]
//
// === ===
onMounted(async() => {
resetStatus() // -
})
// const test = (e) => { console.log('test', e) }
// ==== ===
const tabChange = (val) => { // tab-change
// const test = (e) => { console.log('test', e) }
// tab-change
const tabChange = (val) => {
const bool = !toolStore.isPdfWin && !toolStore.showBoardAll
if(bool) toolStore.showBoardAll = true
// ipcMsgSend('tool-sphere:close')
toolStore.model = val // tab
}
const logoHandle = (e,t) => { // logo - |
// logo - |
const logoHandle = (e,t) => {
if (Date.now() - dragtime.value < 200) {
isFold.value = !isFold.value
}
}
const mouseChange = (bool) => { // 穿
// -穿
const mouseChange = (bool) => {
let resBool = false
if (tabActive.value == 'select') resBool = !!bool
if (!isShow.value) resBool = !!bool
setIgnore(resBool)
}
const setIgnore = (bool) => { // 穿
ipcMsgSend('tool-sphere:set:ignore', bool)
}
const resetStatus = () => { //
// 穿
const setIgnore = (bool) => {ipcMsgSend('tool-sphere:set:ignore', bool)}
// : |
const resetStatus = () => {
if (toolStore.isToolWin) return // -
ipcMain?.handle?.('tool-sphere:reset', () => {
setTimeout(() => {
boardVueRef.value.handleMode(tabActive.value)
mouseChange(1)
mouseChange(1)
}, 500)
})
toolStore.isToolWin = true //
}
// :
const sideMouse = e => {
const {type} = e.detail
mouseChange(type == 'mouseleave')
}
// :
const sideChange = o => {
// console.log(o)
switch(o.prop) {
case 'resource': //
break
case 'interact': //
break
case 'win': //
break
case 'over': //
toolStore.isToolWin = false
ipcMsgSend('tool-sphere:close')
break
}
}
watchEffect(() => { //
// === ===
watchEffect(() => {
// , : -
const show = !toolStore.isPdfWin && toolStore.showBoardAll
if (show != isShow.value) isShow.value = show
@ -119,6 +146,7 @@ watchEffect(() => { // 监听
height: 5rem;
border-radius: 50%;
box-shadow: 0px 0px 8px rgb(0 0 0 / 40%);
user-select: none;
// &:hover{
// .el-image{transform: scale(1.1);}
// }