From a740d4b058198c5840dbfa2729e6c132851e6522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com> Date: Fri, 12 Dec 2025 13:51:45 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B7=B9=E6=B2=A1?= =?UTF-8?q?=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/common/addMapSource.ts | 96 ++++++++++--------- .../views/components/propertyBox/Submerge.vue | 1 + 2 files changed, 50 insertions(+), 47 deletions(-) diff --git a/src/renderer/src/common/addMapSource.ts b/src/renderer/src/common/addMapSource.ts index c648528..f155818 100644 --- a/src/renderer/src/common/addMapSource.ts +++ b/src/renderer/src/common/addMapSource.ts @@ -11,54 +11,56 @@ export const addMapSource = async ({ type, id, sourceName = '未命名对象', o if (window.earth.entityMap.get(id)) { window.earth.entityMap.get(id).remove() } - let options: any = await initMapData(type, opt, cd) - let selectedNodes = window.treeObj.getSelectedNodes() - let node = selectedNodes && selectedNodes[selectedNodes.length - 1] - function getParentId(nd: any) { - if (nd.sourceType === 'directory') { - return nd.id - } else { - let parentNode = window.treeObj.getNodeByParam("id", nd.parentId, null); - if (parentNode) { - return getParentId(parentNode) - } - else { - return + setTimeout(async () => { + let options: any = await initMapData(type, opt, cd) + let selectedNodes = window.treeObj.getSelectedNodes() + let node = selectedNodes && selectedNodes[selectedNodes.length - 1] + function getParentId(nd: any) { + if (nd.sourceType === 'directory') { + return nd.id + } else { + let parentNode = window.treeObj.getNodeByParam("id", nd.parentId, null); + if (parentNode) { + return getParentId(parentNode) + } + else { + return + } } } - } - let parentId - if (node) { - parentId = getParentId(node) - } - delete options.host - if (options.attribute && options.attribute.rtmp) { - delete options.attribute.rtmp - } - switch (type) { - case 'rendezvous': - case 'attackArrow': - case 'pincerArrow': - delete options.label.ground - delete options.label.position - break; - case 'path': - delete options.label.text - break; - } - console.log('options', options) - let params: any = { - id: id, - sourceName: sourceName, - sourceType: type, - // isShow: 1, - parentId: parentId, - // "treeIndex": 0, - params: options - } - TreeApi.addOtherSource(params) - params.params = JSON.stringify(params.params) - params.isShow = true + let parentId + if (node) { + parentId = getParentId(node) + } + delete options.host + if (options.attribute && options.attribute.rtmp) { + delete options.attribute.rtmp + } + switch (type) { + case 'rendezvous': + case 'attackArrow': + case 'pincerArrow': + delete options.label.ground + delete options.label.position + break; + case 'path': + delete options.label.text + break; + } + console.log('options', options) + let params: any = { + id: id, + sourceName: sourceName, + sourceType: type, + // isShow: 1, + parentId: parentId, + // "treeIndex": 0, + params: options + } + TreeApi.addOtherSource(params) + params.params = JSON.stringify(params.params) + params.isShow = true - cusAddNodes(window.treeObj, params.parentId, [params]) + cusAddNodes(window.treeObj, params.parentId, [params]) + }, 10); } diff --git a/src/renderer/src/views/components/propertyBox/Submerge.vue b/src/renderer/src/views/components/propertyBox/Submerge.vue index bd8ae39..32dfa2b 100644 --- a/src/renderer/src/views/components/propertyBox/Submerge.vue +++ b/src/renderer/src/views/components/propertyBox/Submerge.vue @@ -231,6 +231,7 @@ var readOnly = ref(true) const changeWater = () => { submerge.restart() + isPausng.value = false } eventBus.on('submergeDialog', () => { From 8dba346d9ebe34dc9b73c7305293619d35f1968f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com> Date: Fri, 12 Dec 2025 13:54:58 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/java/app/sdk/geographysdk.jar | Bin 41974410 -> 41974962 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/java/app/sdk/geographysdk.jar b/resources/java/app/sdk/geographysdk.jar index 9d149b93ba71dbc2526488996652dabd50397bb6..de983b71c9beb96354981b760db378a72784e8ff 100644 GIT binary patch delta 10522 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 KPmc?KdHx5N)w6Q| delta 10078 zcmZvi2|O0t|M;Jo=dthEcWJRiNSo{=NwyGeLbM^YN994=Rgt8r(9vyAh|1F*)x9X~ zn-HZ{658ulexJ__#rOa3^?JYioORBenK*M!rQecO(mo}t$oqQo1u8sANl9K^!pdpP zZI=)m0UKGq(AQ-0YiOC|*pso;{X=}nW!w)_BbBh2*XxfGlUzcnFng1Js!2)nc#=Hq zim5nES+Z?DLK`;de~dC?%CArYX2uapn$6NHq|C|Hi9%YQnP1eM_qe#b8Yy=X(o!;f z!JkgCj3~MaX*tHCfRbeU7+TU(zs6fgOUmIL{b`X@K-sg^F7^an1=LtJXWUV0JR4*l zrJUH{-cib(4PabuY`|S`9A1zVc3<#FA?3=oE2Rv{F(_2(GsvMu)Ht?$SrO&H2B(TB z4>o{)%^1sKO0!Q&k`WeDN^BOig*hswwAd6}-I)zw>c+4^$gw^Hn}7prI@UcfZm^Ii zAPylg6|#M10_Mqu?E|I+CK0PCE{(P5J6*?1C~HAIz6l)y4HGsZ4LUWHJ`=j1mS&tv z;UPgW<5k){vdmIyA=~SaNSb@PZlyH zQxVjY;4XB!nVP|sLS=0(8r4c&r`cghyrVX-^%$sUP1a2k(wd^iPU;5NxcC$G7h93} z^@Fk}asEPDU6k>aist%(%-38oT+jNX4t+|B9Tuj@MK_pyay~#vtBQ=I>BU@+yX9zW zwlOm#hBhnfM_=b=A;XZiCNBc9e=QAK=1;GTuP!Z4CQZhY4)67p`ne) zvOhhYn<_}Y;R;}0$B)HOr@#lU2xi@a>+uzrZN!sSn^mg{~{?ztGOJAL>N&K(z%ZjEi zIWk?gtK`e)|FGGh^W3!KaFy$YBqzU%7yKViv~Mgpx%iW|UywnPtC`-Sc9kmgA+ZYO z8N!tOH2M%7=@;ds{jPoK_mitD)1v%_ysO(jPphnKZR@&^lMJ2&yDq&q_l|^^+PJ}A zM{66r5;`0@neKm2+;789>9l|vmlCIzlhtCgKWP;O>}W{4qElyIaMZ3jZ+6w@ok_d4 z9SKb@Pm!H+prGx<3Gusf+C_TS^@Rqr2Lzdtf^a<-+S>Tkj8W@1eSey`IV^eFHA7{+ z`Agb@&xy)bzS*9VWAts%Rt5UKKH>lf$#in@y6lD&kIE~a>^>R;xYkU51LjD{DU5=wen zDIEE_W?N>|o1*E<4sS?^dK|H@KCJ3_OaCY52b{bXe)pi^y4A^aWn5*TWWYAJ($YMs zR}$v~->j|J`|)a0$1wLrk-N0tNuS>Smv&HCa`v#9e|sK$+FI-%wlyxV=#Us04bSrz<`o}HQR_!iA}&AispgHvli zTtB#B-!`Lt4ekMUriI%Zw=X#sv;3BCNA2>>5p7Y?rxTam)0jB*xO&om0dJX@_?HF> z&&$pTR^=4BSAV=RI&0Yz*#rDq^(%8aPNdvC@>OSdSmBAcA=j-ECx3}jDiA$9Hmb$% zVd*0;`sk->^S?*jO_n?GZuG~W*|{f6yBrQSe^}m_8dB`k8DN-vt8C9HZEefCS>Bue z3RcgU=23j?Uenu_M};jdUYkQdCutektda|nzq#p3^SBSUoR~0CONgnzPr#`9CANbf z9`+*j>U*ow#+QBJ9j^FT_aV3R{o%QLwGB6=9QR}-sx5Edej`51-0X36ZRw!4Z8LV> z(odZIy!p6410Ua??J}CqzGPOV)Ux=+N8)w zwkKwcV_s$#%34H^Jonik)AQTZJ2gKRC`^0U{-Z^CgGQHGS#r@|rh6WT{tQ>rofwq* zVu~6+IroMoKYM{;%LB^=P7ltH)iNli-m4k7I=*G&VVV=Xcdda~ysq`F!45HQZxHP9w<`^<(&F&Zkl$f2$$q z54g-L4pNZRw9r)1@$VQDyUJ@_{hTGS_Xj;#zWmJGM**7_%!`@l-TYDC;+?kb=eqrs zUye7-^Eft7!P7tZteTJavlBHQ-_DJU5?-5|Ze-aubMfYY4*{9uytG!dWE=gPt{Z9< zSs`tml0;XWXq|g0ciTT%XXKwA>p%a%1>KbDoYQ7!%yP4$E=g-DBrlmlQazfzO-*Eq z;`?b%32NV;J<3a8sD1axEyZk~ZGT;=&ST`GHdV^i7c>pCr8R@Zy2hqjR0)Tul^l50 z5oNYMX4l%sIi0Q2^voxA(hcxL>3LDD~xSEMptgr;c(3)Q~{WC^|w zyKu?xiQCHTfUPS6(;m%??>B+APM=wEabRi_X=V=847%^x@N-ux)49Z^Wlda%^qlo^ z8V)9QudGTB4gA%vS@TZA*&{1p(#~?P>-SI3u}V^r8CP=Z-(}(-Y+WuimnsF^dwxFo zjc*7ox|sTD#J8k9Kbq?V@3t%&v@f?ZZoJ8bYxRc;I@kYrbzA+t(XEcMNy=3-w9TXv z3NG(Zm#$jjVVQhgD*92Gg>m}yUx~(XMTa^9k4lN9-OFBCvnAtF_TJj5%66%r(|tPz zI+*I~GYYE&k4K0F?nx0O6r?Ttdc*MG08!}@6~2_+VsTg9wQJWV4X6!#R=jn>vLMx@ zVaY!F&VGxQ&>8y4Gt+%0>mJPcp>g@_Ij5@5RgF>$?Z4E?%K6@SY`VI($jRhcaJ9w$ zC8u=5jyex`5N;dvW$(ICl~ZNI`Fc-J=`ZUvEy)Zisx*oI_lr_R>g%npV zKfO}DzC&+nr_YV1SAqZWCnS9z_3neq3Jtf{73N>XL)^AZn$YQW?%ziy;y)zQ`^ES* zt{&CAL{N1z@kNg13g1dMn9Djg zKdND{bGV zk1gs4y!G?v-MMVD&#c2PcO!X!KBN6}Qpk!lmj&J$UB?SF+AD9~bqmjADxC6b9n%gr zUO8@b&c!nG^@l_4DRaJA*s1QH-nI2v@z>7}ckgOaob${yX?@d&$1CqFR$P>n|EcZc zcYPcA_#eu2mxQmUgk<`F3iB)QNiw+~kJtBGr`Hz@Pb9FX|KpZp?3xIc=n5o#s*si- z#$b8TBv<+xx443}B)f#?%KM38-09EUvhIr=Jsel^63kC8Xc!kNq!mP>iL@lQyoH4u z+mK!DONgM(O0IytVtFy8NE)UIX%$h85B*fOXGP345j~$yk7Yl1M6k~O$*!wKu#A-C z#tchpZbdIETCk7~l3^RevbKAf&wdR^lcpI$x}Qj8HLcHG7uJEjD`+#xN%S*zZ9GRv zn{Xq5MQcwTnVCXbS@d8No%-jyOSB=IzRWE@y&2k$>lY$3(dixZBCfz<7oE)&z-N#l z6UWdJqK+K;E|&)%Jl%QidG!9@9hiv93B5{83O_~I2SwW3l_))OD-2e{OyYhz6bHJ# zaX$_40RbQehyxOUBp?My12TXtAP2|;3V(}3x~3?KxU34{V+KsYc9hyWsi*}xoNE-(+64@3dcKn$<|hy~(+cwiy02v`g( z0hR*GfaSmnAOT1O@L8_{Rs%_Z5J(16fK*@&uohSctOqs#e*tO0Mqm@L8At~*fGt2K zuocJxwgK6|c7OqP06T$QKn{=#<@0^|dGfWLvgz&>Ced*B1`5%>gr2EG7afp5Tf;6LC8@Dun2bZu7aB` zdMJIA0jfXB5H$cb5H$!j7-fVqMwy^YQA1E>D09?Mlm*HXWrZ4svPKO@jX;e=jY5q^ z*`UUtY*BV7dz1sp5#@w(M!BF|QDaeVsBtKF)OeH!Y68j=H4){7@<#cfd{KU=Nhp6* z04fkQ85M*IMomFYMNLCZN6kQmpk|^%QDLZX)GSm4DiSptH3u~pH4il(6@`jM#h@0T zVo`CZc+^7FBGh8k64X-EGSqU^3RD6r5w#Mv3bh)Qgc72XQ7NcY)Ed-U)H>99)CSaF zs5I0@)F#wsR5~gHwFQ-l+KS3TZ9`?Fwxbx-4%AN6E>sRG7nO(FjUuRg)E?B|sJ*Ct zsQst|sDr3OsKclur~=ecR3WMeRg5}@DnXT^j-yVXPNK?CBGf6=Y1A3iS=2eydDI2e zMN~Pe0(A*>8FdBq59(i3C8`Qljk=1uhN?kbN8Lc(MBPH&M%_W(McqT)M?FA2MAf1m zq3Tfes0P$yR3oYh^#t`4)r@+EdX9R5dWm|4dW~v9y+O62-lE!2?@;Zi4pb-VJ?aDM zBkB|CGwKWKE9x8SJL*5w57bZ8FH{!=KmKS4C=`w2qXZ~1lsHNPC5e(kNuy*?vM4!} zJW2tjh*CoJLn)(FP^u_3lsZZSrHRr)X`^&dx+p!AKFR>qA7zLdfEtJzgc^)8LK&k> zP^PFMC^M8fYADJAWr?yv4MSO@hNDKHMxsWcMx$&{V^FpzJCr@j0p*BtLOG*cP_C%4 zC^ytNlsjrX$^$h4<%ybz@MbA+;;c?aoX+|b_^mcvXrcnWD_?wIJ-FFh@?2GaUm zno5NEs(>_ic*L+zN)k?lxKTMnMwC}wQqQ$nG zI)8F(gMi1o28XP6ecH8-{oi(a?2Qz|7K%1)HQ`Sww+GT|pM=Q6)`t??|B^Stzb8;U z-YA;KbLrFnX3zg$4;my1UI$sW?Rvr4{7P9K@15rV-jlmmciZ0^Ee7n^y5PFnbmG+B zJ;P>;I?;pe4zAPE>e!5In505Q9?!ndfIf$F&A8K4CjA&C%gl+S`~A;MANf8j?GVhE zILz3Hz8%c()qyP0fE^lcl55MHgDhouych!>Z+M?3R9x>S4D9#FksV_#yT|(Xp7qLN zFnKY6ZJ%~oiM`r!2gKZ#5c`aF!+EhbO|ANW>KL)}x^>=@*_ALH4Rv@feYzdCx_1*M zq=b@U@?qnPT!0?gJtT6S?K>o`cSVA`N&4&)Fo#H+Hp=3P8Q4*hHS_hPXchjS|Ceww z_sx!1a9w}6Ez>^N*UV=9HM|#n?&M=fDc_CIjMb*eD(oiMU_6E=-{5|=`7(QZ6|lQw(j?yv zUJ33OLzBfzE&A|YvOHW!+wfmP<&x@ws*KYCdLU_oJY)XnvhF^jKM%6hpBdf7dhR-`&WO_mJnxPyMXSSj^E-Cq5DQTk1`O1||oSQb-!p8+H)O zNH`KFoshJrsmE;6ia6i73#9_&9?PQ#%p3xv?aQ}Avm-mXf-i45K=KlyfgQXVTv-1-&_4vshRopDpzpqm7E(wUn zk~8@?utc3~f}}IQdB#(&qFv}yz3z%~F;G#k{OAiF@r#F_K*R$woCM>>yzI$12pQJ= zc;A;?TX=QEm|K%x_V1o*!v%Pyw);PR7t4`I$aCU9eEoybY5ieHu0qn7zhXicTZKr+ z;uUOC#VB$c-W?T^wN{K$>v`b*(p2yH80IHUd|_bPrQLN;lrssq12s@ zg|q{`^cyLLz?1K4qfeX`!EZvM1&ZGo_2s(N; zo1;f=%&n(nh|?0ddx4R014W)D;=h3e*9OSmY}!D{k~U}|P1cTWpj70!SAfUcm+TLV z#O}&PP^8#h?F00rM@R1^%1d#L%4~d1k;j`~Q^q6%GK^{K7IGSbAVI7{D@8iJEa6vK zjZ-V7N}QJA7>vE&_GGX1eGA>DFUPCrL7|>Nsb5=9;R2O5N~ycB6AS6Lbwmm3`UtLk z89;aUoCq1Vf|0I+dNQ)y2Ek+E`uq%qdV+v$gL?`sR^Y!}zJSC*;Kh&i9ZKRMQYMv? zhSG}U8N|kdZBs1h?swwdGz(h4`xTp*fSn~=?Nca0ZoRR9|7!EB#sXfU?jKKBkq+-9 zHzAlLDDbr8E^pmEs&JTpJ;Ca8-P!5{MN~`vb ot?gm>CDA3tt<8 From 8e6ad6ba2dd09875b132fb988cdcc04ba5651981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com> Date: Fri, 12 Dec 2025 14:58:06 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/java/app/application.yml | 2 +- src/main/index.ts | 42 +++++++- .../setPup/components/engineering.vue | 97 ++++++++++--------- 3 files changed, 89 insertions(+), 52 deletions(-) diff --git a/resources/java/app/application.yml b/resources/java/app/application.yml index 7536787..e353dfa 100644 --- a/resources/java/app/application.yml +++ b/resources/java/app/application.yml @@ -1,7 +1,7 @@ server: host: 127.0.0.1 port: 8849 - path: C:\Users\MSI\AppData\Roaming\dzsp_shijingjun_offline_Y_save + path: C:\Users\Administrator\AppData\Roaming\dzsp_shijingjun_offline_Y_save poi: global: enabled: false diff --git a/src/main/index.ts b/src/main/index.ts index 8903001..0512eff 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -12,9 +12,10 @@ import { GetHomeDir } from './config' import { start, getServer } from "./app"; const http = require("http"); const yaml = require("js-yaml"); -let Store = require('electron-store') -Store.initRenderer(); -const store = new Store() +// 移除 electron-store,使用 Electron 提供的用户数据目录 +// let Store = require('electron-store') +// Store.initRenderer(); +// const store = new Store() process.on('unhandledRejection', (reason) => { @@ -147,7 +148,8 @@ function createWindow(): void { ymlBatPath = process.platform === 'win32' ? ymlBatPath.replace(/^(\w:)/, '/$1') : ymlBatPath let ymlPath = ymlBatPath.substring(1, 200) const ymlContent = yaml.load(fs.readFileSync(ymlPath, 'utf8')); - ymlContent.server.path = path.dirname(store.path) + ymlContent.server.path = app.getPath('userData') + // ymlContent.server.path = path.dirname(store.path) fs.writeFileSync(ymlPath, yaml.dump(ymlContent)); ipcMain.on("getIniConfig", (event, option) => { let ymlPath = ymlBatPath.substring(1, 200) @@ -215,6 +217,38 @@ function createWindow(): void { event.sender.send("selectedItem", arr); }); }); + ipcMain.handle('get-user-data-path', () => { + return app.getPath('userData') + }); + ipcMain.on('import-project-override', async (event, { srcZip, dst }) => { + try { + const compressing = require('compressing') + await compressing.zip.uncompress(srcZip, dst) + event.sender.send('import-project-override-res', { ok: true }) + } catch (e: any) { + event.sender.send('import-project-override-res', { ok: false, error: e.message }) + } + }); + ipcMain.on("export-project", (event, { dst }) => { + try { + const archiver = require('archiver'); + const output = fs.createWriteStream(dst); + const archive = archiver('zip', { zlib: { level: 9 } }); + output.on('close', () => { + event.sender.send('export-project-res', { ok: true }); + }); + archive.on('error', (err) => { + event.sender.send('export-project-res', { ok: false, error: err.message }); + }); + archive.pipe(output); + const dbPath = path.join(app.getPath('userData'), 'app.db'); + console.log('dbPath', dbPath); + archive.file(dbPath, { name: 'app.db' }); + archive.finalize(); + } catch (e: any) { + event.sender.send('export-project-res', { ok: false, error: e.message }); + } + }); ipcMain.on("saveFile", (event, { title, filename, filters }) => { dialog .showSaveDialog({ diff --git a/src/renderer/src/views/components/headers/components/setPup/components/engineering.vue b/src/renderer/src/views/components/headers/components/setPup/components/engineering.vue index a3448fc..d9d31a0 100644 --- a/src/renderer/src/views/components/headers/components/setPup/components/engineering.vue +++ b/src/renderer/src/views/components/headers/components/setPup/components/engineering.vue @@ -521,35 +521,28 @@ const importProject = () => { if (paths.length > 0) { // let loadingInstance = this.$openLoading('拼命导入中...') importWin = false - let arr = getElectronPath().replaceAll('\\', '/').split('/') - console.log(arr, 'arrarr') - arr.pop() - // let path: any = 'C:/Users/Administrator/AppData/Roaming/yjearth' - console.log(paths[0], arr.join('/'), 'pathpath') - unzip_file(paths[0], arr.join('/')) - .then((res) => { - // loadingInstance.close() - // ElMessage({ - // message: '导入成功', - // type: 'success' - // }) - setTimeout(() => { + const { ipcRenderer } = require('electron') + ipcRenderer.invoke('get-user-data-path').then((userDataPath) => { + ipcRenderer.send('import-project-override', { srcZip: paths[0], dst: userDataPath }) + ipcRenderer.once('import-project-override-res', (ev, res) => { + if (res && res.ok) { + setTimeout(() => { + ElMessage({ + message: '载入成功,将在2s后自动重启', + type: 'success' + }) + }, 1000) + setTimeout(() => { + $sendElectronChanel('restart') + }, 3000) + } else { ElMessage({ - message: '载入成功,将在2s后自动重启', - type: 'success' + message: res?.error || '导入失败', + type: 'warning' }) - }, 1000) - setTimeout(() => { - $sendElectronChanel('restart') - }, 3000) - }) - .catch((err) => { - console.log(err) - ElMessage({ - message: err, - type: 'warning' - }) + } }) + }) } else { importWin = false } @@ -657,31 +650,41 @@ function derive() { $sendElectronChanel('saveFile', option) $recvElectronChanel('selectedFileItem', (e, path) => { if (path) { - // if (result.canceled) { - // this.exportWin = !this.exportWin - // return - // } - // let loadingInstance = this.$openLoading('拼命导出中...') - // exportWin = !exportWin - let arr = getElectronPath().replaceAll('\\', '/').split('/') - arr.pop() - arr[arr.length - 1] = 'yjearth/app.db' - let db_path: any = arr.join('/') - // let db_path: any = 'C:/Users/Administrator/AppData/Roaming/yjearth/app.db' - try { - zip_file([db_path], path, () => { - // loadingInstance.close() + const { ipcRenderer } = require('electron') + ipcRenderer.send('export-project', { dst: path }) + ipcRenderer.once('export-project-res', (ev, res) => { + if (res && res.ok) { ElMessage({ message: '导出完成', type: 'success' }) - }) - } catch (error) { - ElMessage({ - message: error, - type: 'error' - }) - } + } else { + ElMessage({ + message: res?.error || '导出失败', + type: 'error' + }) + } + }) + + // let arr = getElectronPath().replaceAll('\\', '/').split('/') + // arr.pop() + // arr[arr.length - 1] = 'yjearth/app.db' + // let db_path: any = arr.join('/') + // console.log(db_path, 'db_pathdb_path') + // try { + // zip_file([db_path], path, () => { + // // loadingInstance.close() + // ElMessage({ + // message: '导出完成', + // type: 'success' + // }) + // }) + // } catch (error) { + // ElMessage({ + // message: error, + // type: 'error' + // }) + // } } }) From b3aa4e4bba072002639b790cc1b435daecb785fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com> Date: Fri, 12 Dec 2025 15:01:07 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../headers/components/setPup/components/photoManage.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/src/views/components/headers/components/setPup/components/photoManage.vue b/src/renderer/src/views/components/headers/components/setPup/components/photoManage.vue index b0eefb4..1edcdf3 100644 --- a/src/renderer/src/views/components/headers/components/setPup/components/photoManage.vue +++ b/src/renderer/src/views/components/headers/components/setPup/components/photoManage.vue @@ -292,7 +292,7 @@ watch(photoName, (val) => { // treeRef.value!.filter(val) // } getModelList() - modelList.value = [] + currModelList.value = [] }) const filterNode: any = (value, data) => { if (!value) return true From deeabf9c97a1d7f1ddd711a12f8853ffa5f03d51 Mon Sep 17 00:00:00 2001 From: zyl <731870902@qq.com> Date: Fri, 12 Dec 2025 17:13:13 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/views/TS/cabin.vue | 9 ++-- .../src/views/TS/components/chart.vue | 3 +- .../src/views/TS/components/eventParams.vue | 42 +++++++++++++++++++ src/renderer/src/views/TS/deduction.vue | 13 ++++-- src/renderer/src/views/TS/newEvent.vue | 21 ++++++---- src/renderer/src/views/TS/sdk/Store.ts | 18 ++++---- src/renderer/src/views/TS/sdk/index.ts | 6 ++- 7 files changed, 89 insertions(+), 23 deletions(-) diff --git a/src/renderer/src/views/TS/cabin.vue b/src/renderer/src/views/TS/cabin.vue index f2da2c7..5cb64cc 100644 --- a/src/renderer/src/views/TS/cabin.vue +++ b/src/renderer/src/views/TS/cabin.vue @@ -156,7 +156,7 @@ const initTreeCallBack = () => { } } if (layerTypes.includes(arr[i].sourceType)) { - console.log(detail, params) + // console.log(detail, params) if (!detail && !params) { detail = { id: arr[i].id, @@ -168,10 +168,10 @@ const initTreeCallBack = () => { sourceType: arr[i].sourceType, detail: {...detail, ...params, layerIndex: layers.length + 1} } - console.log(layer) + // console.log(layer) layers.push(layer) } else { - console.log({...detail, ...params}) + // console.log({...detail, ...params}) let details = {...detail, ...params} details.show = Boolean(arr[i].isShow) initMapData(arr[i].sourceType, details) @@ -188,6 +188,7 @@ const initTreeCallBack = () => { let speed = (distance / duration_S) * window['tsObj']._Store._multiplier detail.speed = speed console.log("event的detail", detail) + // detail.viewFollow = true initMapData("guiji", detail, (TrajectoryMotionObject) => { TrajectoryMotionObject.state = false; TrajectoryMotionObject.oldSpeed = distance / duration_S * multiplier; @@ -359,7 +360,7 @@ const onCheck = async (event: any, treeId: any, treeNode: any) => { sourceStatus(treeNode) console.log("ids", ids) - return + // return const res = await TsApi.updateTreeShow(ids) if (res.code == 0 || res.code == 200) { ElMessage({ diff --git a/src/renderer/src/views/TS/components/chart.vue b/src/renderer/src/views/TS/components/chart.vue index bf24c01..8044e5a 100644 --- a/src/renderer/src/views/TS/components/chart.vue +++ b/src/renderer/src/views/TS/components/chart.vue @@ -24,7 +24,7 @@ const selectedEventId = ref(null) const eventBus: any = inject('bus') const props = defineProps(['eventList', 'hr', 'originHrOffset', 'scrollLeft']) let clickEventBar = (event) => { - console.log("点击事件块", selectedEventId.value, event.id) + console.log("点击事件块", selectedEventId.value, event) let entity = window['_entityMap'].get(event.sourceId) entity && entity.flyTo() selectedEventId.value = (selectedEventId.value == null || selectedEventId.value != event.id) ? event.id : null @@ -90,6 +90,7 @@ let getWidth = (durationTime) => { // 6. 让 progressStyle 间接依赖 refreshKey(通过 getWidth) let progressStyle = (task) => { let taskLeft = task.startTime - window['tsObj']._Store._startTimestamp; + console.log("taskLeft", task, taskLeft, getWidth(taskLeft)) let width = 1 if (!['display', 'hide'].includes(task.callback)) width = getWidth(task.duration_time) * 1000 diff --git a/src/renderer/src/views/TS/components/eventParams.vue b/src/renderer/src/views/TS/components/eventParams.vue index 7acba96..adecaf2 100644 --- a/src/renderer/src/views/TS/components/eventParams.vue +++ b/src/renderer/src/views/TS/components/eventParams.vue @@ -4,6 +4,22 @@
{{ eventObj.name }}
+