he wei
2023-02-13 d432b95803ea9bbe3e43b154f799b10e37960c19
UDA 整理
5个文件已删除
240 文件已重命名
8个文件已添加
5个文件已修改
1284 ■■■■ 已修改文件
dependent/ResMeterManager.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/ResMeterManager.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dependent/licence.txt 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dependent/remove_service.bat 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/COPYRIGHT 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/LICENSE 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/README.txt 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/THIRDPARTYLICENSEREADME-JAVAFX.txt 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/THIRDPARTYLICENSEREADME.txt 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/Welcome.html 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/JAWTAccessBridge-64.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/JavaAccessBridge-64.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/WindowsAccessBridge-64.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-console-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-datetime-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-debug-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-errorhandling-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-file-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-file-l1-2-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-file-l2-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-handle-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-heap-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-interlocked-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-libraryloader-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-localization-l1-2-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-memory-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-namedpipe-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-processenvironment-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-processthreads-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-processthreads-l1-1-1.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-profile-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-rtlsupport-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-string-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-synch-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-synch-l1-2-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-sysinfo-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-timezone-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-core-util-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-conio-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-convert-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-environment-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-filesystem-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-heap-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-locale-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-math-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-multibyte-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-private-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-process-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-runtime-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-stdio-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-string-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-time-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/api-ms-win-crt-utility-l1-1-0.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/attach.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/awt.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/bci.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/concrt140.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/dcpr.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/decora_sse.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/deploy.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/dt_shmem.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/dt_socket.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/dtplugin/deployJava1.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/dtplugin/npdeployJava1.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/eula.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/fontmanager.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/fxplugins.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/glass.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/glib-lite.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/gstreamer-lite.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/hprof.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/instrument.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/j2pcsc.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/j2pkcs11.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jaas_nt.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jabswitch.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/java-rmi.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/java.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/java.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/java_crw_demo.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/javacpl.cpl 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/javacpl.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/javafx_font.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/javafx_font_t2k.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/javafx_iio.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/javaw.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/javaws.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jawt.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jdwp.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jfr.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jfxmedia.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jfxwebkit.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jjs.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jli.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jp2iexp.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jp2launcher.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jp2native.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jp2ssv.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jpeg.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jsdt.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jsound.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/jsoundds.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/keytool.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/kinit.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/klist.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/ktab.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/lcms.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/management.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/mlib_image.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/msvcp140.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/msvcr100.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/net.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/nio.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/npt.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/orbd.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/pack200.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/plugin2/msvcr100.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/plugin2/npjp2.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/policytool.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/prism_common.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/prism_d3d.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/prism_sw.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/resource.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/rmid.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/rmiregistry.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/sawindbg.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/server/Xusage.txt 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/server/classes.jsa 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/server/jvm.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/servertool.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/splashscreen.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/ssv.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/ssvagent.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/sunec.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/sunmscapi.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/t2k.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/tnameserv.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/ucrtbase.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/unpack.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/unpack200.exe 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/vcruntime140.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/verify.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/w2k_lsa_auth.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/wsdetect.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/bin/zip.dll 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/accessibility.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/amd64/jvm.cfg 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/calendars.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/charsets.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/classlist 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/cmm/CIEXYZ.pf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/cmm/GRAY.pf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/cmm/LINEAR_RGB.pf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/cmm/PYCC.pf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/cmm/sRGB.pf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/content-types.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/currency.data 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/ffjcext.zip 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_de.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_es.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_fr.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_it.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_ja.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_ko.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_pt_BR.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_sv.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_zh_CN.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_zh_HK.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/messages_zh_TW.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/splash.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/splash@2x.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/splash_11-lic.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/deploy/splash_11@2x-lic.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/access-bridge-64.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/cldrdata.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/dnsns.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/jaccess.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/jfxrt.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/localedata.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/meta-index 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/nashorn.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/sunec.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/sunjce_provider.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/sunmscapi.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/sunpkcs11.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/ext/zipfs.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/flavormap.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fontconfig.bfc 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fontconfig.properties.src 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fonts/LucidaBrightDemiBold.ttf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fonts/LucidaBrightDemiItalic.ttf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fonts/LucidaBrightItalic.ttf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fonts/LucidaBrightRegular.ttf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fonts/LucidaSansDemiBold.ttf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fonts/LucidaSansRegular.ttf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fonts/LucidaTypewriterBold.ttf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/fonts/LucidaTypewriterRegular.ttf 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/hijrah-config-umalqura.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/images/cursors/cursors.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/images/cursors/invalid32x32.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/images/cursors/win32_CopyDrop32x32.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/images/cursors/win32_CopyNoDrop32x32.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/images/cursors/win32_LinkDrop32x32.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/images/cursors/win32_LinkNoDrop32x32.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/images/cursors/win32_MoveDrop32x32.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/images/cursors/win32_MoveNoDrop32x32.gif 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/javafx.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/javaws.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/jce.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/jfr.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/jfr/default.jfc 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/jfr/profile.jfc 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/jfxswt.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/jsse.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/jvm.hprof.txt 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/logging.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/management-agent.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/management/jmxremote.access 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/management/jmxremote.password.template 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/management/management.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/management/snmp.acl.template 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/meta-index 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/net.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/plugin.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/psfont.properties.ja 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/psfontj2d.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/resources.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/rt.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/blacklist 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/blacklisted.certs 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/cacerts 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/java.policy 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/java.security 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/javaws.policy 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/policy/limited/US_export_policy.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/policy/limited/local_policy.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/policy/unlimited/US_export_policy.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/policy/unlimited/local_policy.jar 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/security/trusted.libraries 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/sound.properties 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/tzdb.dat 补丁 | 查看 | 原始文档 | blame | 历史
dependent/runtime/lib/tzmappings 补丁 | 查看 | 原始文档 | blame | 历史
dependent/setup_service.bat 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dependent/stop.bat 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/app_x64.exe 补丁 | 查看 | 原始文档 | blame | 历史
public/bin/testElectronJ 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/bin/testElectronJ.bat 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/icon/1.png 补丁 | 查看 | 原始文档 | blame | 历史
public/icon/icon1.png 补丁 | 查看 | 原始文档 | blame | 历史
src/background.js 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/preload.js 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/routes.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/result-mcp.vue 354 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/result-res.vue 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/selectFile.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dependent/ResMeterManager.jar
Binary files differ
dependent/ResMeterManager.xml
New file
@@ -0,0 +1,21 @@
<service>
  <id>ResMeterManager</id>
  <name>ResMeterManager</name>
  <description>内阻计测方式xml文件解析 java服务</description>
  <executable>"%BASE%\runtime\bin\java"</executable>
  <arguments>-jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=2048m -Xms1024m -Xmx2048m "%BASE%\ResMeterManager.jar"</arguments>
  <!-- 服务启动方式:Automatic, Manual, Boot, System -->
  <startmode>Automatic</startmode>
  <onfailure action="restart" delay="10 sec"/>
  <onfailure action="restart" delay="20 sec"/>
  <!-- 日志保存路径 -->
  <logpath>%BASE%\logs</logpath>
  <!-- 日志保存方式 -->
  <log mode="roll-by-size-time">
      <sizeThreshold>10240</sizeThreshold>
      <pattern>yyyyMMdd</pattern>
      <autoRollAtTime>00:00:00</autoRollAtTime>
      <zipOlderThanNumDays>5</zipOlderThanNumDays>
      <zipDateFormat>yyyyMM</zipDateFormat>
  </log>
</service>
dependent/licence.txt
New file
@@ -0,0 +1,8 @@
The MIT License (MIT)
Copyright (c) 2022 whyc
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
dependent/remove_service.bat
New file
@@ -0,0 +1,13 @@
@echo off
::echo 当前盘符:%~d0
%~d0
::echo %cd%
cd %~dp0
echo %cd%
set java_path=%cd%\runtime\bin\java.exe
wmic process where "ExecutablePath='%java_path:\=\\%'" call terminate
ResMeterManager.exe stop
ResMeterManager.exe uninstall
exit
dependent/runtime/COPYRIGHT
dependent/runtime/LICENSE
dependent/runtime/README.txt
dependent/runtime/THIRDPARTYLICENSEREADME-JAVAFX.txt
dependent/runtime/THIRDPARTYLICENSEREADME.txt
dependent/runtime/Welcome.html
dependent/runtime/bin/JAWTAccessBridge-64.dll
Binary files differ
dependent/runtime/bin/JavaAccessBridge-64.dll
Binary files differ
dependent/runtime/bin/WindowsAccessBridge-64.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-console-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-datetime-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-debug-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-errorhandling-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-file-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-file-l1-2-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-file-l2-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-handle-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-heap-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-interlocked-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-libraryloader-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-localization-l1-2-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-memory-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-namedpipe-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-processenvironment-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-processthreads-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-processthreads-l1-1-1.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-profile-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-rtlsupport-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-string-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-synch-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-synch-l1-2-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-sysinfo-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-timezone-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-core-util-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-conio-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-convert-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-environment-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-filesystem-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-heap-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-locale-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-math-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-multibyte-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-private-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-process-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-runtime-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-stdio-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-string-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-time-l1-1-0.dll
Binary files differ
dependent/runtime/bin/api-ms-win-crt-utility-l1-1-0.dll
Binary files differ
dependent/runtime/bin/attach.dll
Binary files differ
dependent/runtime/bin/awt.dll
Binary files differ
dependent/runtime/bin/bci.dll
Binary files differ
dependent/runtime/bin/concrt140.dll
Binary files differ
dependent/runtime/bin/dcpr.dll
Binary files differ
dependent/runtime/bin/decora_sse.dll
Binary files differ
dependent/runtime/bin/deploy.dll
Binary files differ
dependent/runtime/bin/dt_shmem.dll
Binary files differ
dependent/runtime/bin/dt_socket.dll
Binary files differ
dependent/runtime/bin/dtplugin/deployJava1.dll
Binary files differ
dependent/runtime/bin/dtplugin/npdeployJava1.dll
Binary files differ
dependent/runtime/bin/eula.dll
Binary files differ
dependent/runtime/bin/fontmanager.dll
Binary files differ
dependent/runtime/bin/fxplugins.dll
Binary files differ
dependent/runtime/bin/glass.dll
Binary files differ
dependent/runtime/bin/glib-lite.dll
Binary files differ
dependent/runtime/bin/gstreamer-lite.dll
Binary files differ
dependent/runtime/bin/hprof.dll
Binary files differ
dependent/runtime/bin/instrument.dll
Binary files differ
dependent/runtime/bin/j2pcsc.dll
Binary files differ
dependent/runtime/bin/j2pkcs11.dll
Binary files differ
dependent/runtime/bin/jaas_nt.dll
Binary files differ
dependent/runtime/bin/jabswitch.exe
Binary files differ
dependent/runtime/bin/java-rmi.exe
Binary files differ
dependent/runtime/bin/java.dll
Binary files differ
dependent/runtime/bin/java.exe
Binary files differ
dependent/runtime/bin/java_crw_demo.dll
Binary files differ
dependent/runtime/bin/javacpl.cpl
Binary files differ
dependent/runtime/bin/javacpl.exe
Binary files differ
dependent/runtime/bin/javafx_font.dll
Binary files differ
dependent/runtime/bin/javafx_font_t2k.dll
Binary files differ
dependent/runtime/bin/javafx_iio.dll
Binary files differ
dependent/runtime/bin/javaw.exe
Binary files differ
dependent/runtime/bin/javaws.exe
Binary files differ
dependent/runtime/bin/jawt.dll
Binary files differ
dependent/runtime/bin/jdwp.dll
Binary files differ
dependent/runtime/bin/jfr.dll
Binary files differ
dependent/runtime/bin/jfxmedia.dll
Binary files differ
dependent/runtime/bin/jfxwebkit.dll
Binary files differ
dependent/runtime/bin/jjs.exe
Binary files differ
dependent/runtime/bin/jli.dll
Binary files differ
dependent/runtime/bin/jp2iexp.dll
Binary files differ
dependent/runtime/bin/jp2launcher.exe
Binary files differ
dependent/runtime/bin/jp2native.dll
Binary files differ
dependent/runtime/bin/jp2ssv.dll
Binary files differ
dependent/runtime/bin/jpeg.dll
Binary files differ
dependent/runtime/bin/jsdt.dll
Binary files differ
dependent/runtime/bin/jsound.dll
Binary files differ
dependent/runtime/bin/jsoundds.dll
Binary files differ
dependent/runtime/bin/keytool.exe
Binary files differ
dependent/runtime/bin/kinit.exe
Binary files differ
dependent/runtime/bin/klist.exe
Binary files differ
dependent/runtime/bin/ktab.exe
Binary files differ
dependent/runtime/bin/lcms.dll
Binary files differ
dependent/runtime/bin/management.dll
Binary files differ
dependent/runtime/bin/mlib_image.dll
Binary files differ
dependent/runtime/bin/msvcp140.dll
Binary files differ
dependent/runtime/bin/msvcr100.dll
Binary files differ
dependent/runtime/bin/net.dll
Binary files differ
dependent/runtime/bin/nio.dll
Binary files differ
dependent/runtime/bin/npt.dll
Binary files differ
dependent/runtime/bin/orbd.exe
Binary files differ
dependent/runtime/bin/pack200.exe
Binary files differ
dependent/runtime/bin/plugin2/msvcr100.dll
Binary files differ
dependent/runtime/bin/plugin2/npjp2.dll
Binary files differ
dependent/runtime/bin/policytool.exe
Binary files differ
dependent/runtime/bin/prism_common.dll
Binary files differ
dependent/runtime/bin/prism_d3d.dll
Binary files differ
dependent/runtime/bin/prism_sw.dll
Binary files differ
dependent/runtime/bin/resource.dll
Binary files differ
dependent/runtime/bin/rmid.exe
Binary files differ
dependent/runtime/bin/rmiregistry.exe
Binary files differ
dependent/runtime/bin/sawindbg.dll
Binary files differ
dependent/runtime/bin/server/Xusage.txt
dependent/runtime/bin/server/classes.jsa
Binary files differ
dependent/runtime/bin/server/jvm.dll
Binary files differ
dependent/runtime/bin/servertool.exe
Binary files differ
dependent/runtime/bin/splashscreen.dll
Binary files differ
dependent/runtime/bin/ssv.dll
Binary files differ
dependent/runtime/bin/ssvagent.exe
Binary files differ
dependent/runtime/bin/sunec.dll
Binary files differ
dependent/runtime/bin/sunmscapi.dll
Binary files differ
dependent/runtime/bin/t2k.dll
Binary files differ
dependent/runtime/bin/tnameserv.exe
Binary files differ
dependent/runtime/bin/ucrtbase.dll
Binary files differ
dependent/runtime/bin/unpack.dll
Binary files differ
dependent/runtime/bin/unpack200.exe
Binary files differ
dependent/runtime/bin/vcruntime140.dll
Binary files differ
dependent/runtime/bin/verify.dll
Binary files differ
dependent/runtime/bin/w2k_lsa_auth.dll
Binary files differ
dependent/runtime/bin/wsdetect.dll
Binary files differ
dependent/runtime/bin/zip.dll
Binary files differ
dependent/runtime/lib/accessibility.properties
dependent/runtime/lib/amd64/jvm.cfg
dependent/runtime/lib/calendars.properties
dependent/runtime/lib/charsets.jar
Binary files differ
dependent/runtime/lib/classlist
dependent/runtime/lib/cmm/CIEXYZ.pf
Binary files differ
dependent/runtime/lib/cmm/GRAY.pf
Binary files differ
dependent/runtime/lib/cmm/LINEAR_RGB.pf
Binary files differ
dependent/runtime/lib/cmm/PYCC.pf
Binary files differ
dependent/runtime/lib/cmm/sRGB.pf
Binary files differ
dependent/runtime/lib/content-types.properties
dependent/runtime/lib/currency.data
Binary files differ
dependent/runtime/lib/deploy.jar
Binary files differ
dependent/runtime/lib/deploy/ffjcext.zip
Binary files differ
dependent/runtime/lib/deploy/messages.properties
dependent/runtime/lib/deploy/messages_de.properties
dependent/runtime/lib/deploy/messages_es.properties
dependent/runtime/lib/deploy/messages_fr.properties
dependent/runtime/lib/deploy/messages_it.properties
dependent/runtime/lib/deploy/messages_ja.properties
dependent/runtime/lib/deploy/messages_ko.properties
dependent/runtime/lib/deploy/messages_pt_BR.properties
dependent/runtime/lib/deploy/messages_sv.properties
dependent/runtime/lib/deploy/messages_zh_CN.properties
dependent/runtime/lib/deploy/messages_zh_HK.properties
dependent/runtime/lib/deploy/messages_zh_TW.properties
dependent/runtime/lib/deploy/splash.gif

dependent/runtime/lib/deploy/splash@2x.gif

dependent/runtime/lib/deploy/splash_11-lic.gif

dependent/runtime/lib/deploy/splash_11@2x-lic.gif

dependent/runtime/lib/ext/access-bridge-64.jar
Binary files differ
dependent/runtime/lib/ext/cldrdata.jar
Binary files differ
dependent/runtime/lib/ext/dnsns.jar
Binary files differ
dependent/runtime/lib/ext/jaccess.jar
Binary files differ
dependent/runtime/lib/ext/jfxrt.jar
Binary files differ
dependent/runtime/lib/ext/localedata.jar
Binary files differ
dependent/runtime/lib/ext/meta-index
dependent/runtime/lib/ext/nashorn.jar
Binary files differ
dependent/runtime/lib/ext/sunec.jar
Binary files differ
dependent/runtime/lib/ext/sunjce_provider.jar
Binary files differ
dependent/runtime/lib/ext/sunmscapi.jar
Binary files differ
dependent/runtime/lib/ext/sunpkcs11.jar
Binary files differ
dependent/runtime/lib/ext/zipfs.jar
Binary files differ
dependent/runtime/lib/flavormap.properties
dependent/runtime/lib/fontconfig.bfc
Binary files differ
dependent/runtime/lib/fontconfig.properties.src
dependent/runtime/lib/fonts/LucidaBrightDemiBold.ttf
Binary files differ
dependent/runtime/lib/fonts/LucidaBrightDemiItalic.ttf
Binary files differ
dependent/runtime/lib/fonts/LucidaBrightItalic.ttf
Binary files differ
dependent/runtime/lib/fonts/LucidaBrightRegular.ttf
Binary files differ
dependent/runtime/lib/fonts/LucidaSansDemiBold.ttf
Binary files differ
dependent/runtime/lib/fonts/LucidaSansRegular.ttf
Binary files differ
dependent/runtime/lib/fonts/LucidaTypewriterBold.ttf
Binary files differ
dependent/runtime/lib/fonts/LucidaTypewriterRegular.ttf
Binary files differ
dependent/runtime/lib/hijrah-config-umalqura.properties
dependent/runtime/lib/images/cursors/cursors.properties
dependent/runtime/lib/images/cursors/invalid32x32.gif

dependent/runtime/lib/images/cursors/win32_CopyDrop32x32.gif

dependent/runtime/lib/images/cursors/win32_CopyNoDrop32x32.gif

dependent/runtime/lib/images/cursors/win32_LinkDrop32x32.gif

dependent/runtime/lib/images/cursors/win32_LinkNoDrop32x32.gif

dependent/runtime/lib/images/cursors/win32_MoveDrop32x32.gif

dependent/runtime/lib/images/cursors/win32_MoveNoDrop32x32.gif

dependent/runtime/lib/javafx.properties
dependent/runtime/lib/javaws.jar
Binary files differ
dependent/runtime/lib/jce.jar
Binary files differ
dependent/runtime/lib/jfr.jar
Binary files differ
dependent/runtime/lib/jfr/default.jfc
dependent/runtime/lib/jfr/profile.jfc
dependent/runtime/lib/jfxswt.jar
Binary files differ
dependent/runtime/lib/jsse.jar
Binary files differ
dependent/runtime/lib/jvm.hprof.txt
dependent/runtime/lib/logging.properties
dependent/runtime/lib/management-agent.jar
Binary files differ
dependent/runtime/lib/management/jmxremote.access
dependent/runtime/lib/management/jmxremote.password.template
dependent/runtime/lib/management/management.properties
dependent/runtime/lib/management/snmp.acl.template
dependent/runtime/lib/meta-index
dependent/runtime/lib/net.properties
dependent/runtime/lib/plugin.jar
Binary files differ
dependent/runtime/lib/psfont.properties.ja
dependent/runtime/lib/psfontj2d.properties
dependent/runtime/lib/resources.jar
Binary files differ
dependent/runtime/lib/rt.jar
Binary files differ
dependent/runtime/lib/security/blacklist
dependent/runtime/lib/security/blacklisted.certs
dependent/runtime/lib/security/cacerts
Binary files differ
dependent/runtime/lib/security/java.policy
dependent/runtime/lib/security/java.security
dependent/runtime/lib/security/javaws.policy
dependent/runtime/lib/security/policy/limited/US_export_policy.jar
Binary files differ
dependent/runtime/lib/security/policy/limited/local_policy.jar
Binary files differ
dependent/runtime/lib/security/policy/unlimited/US_export_policy.jar
Binary files differ
dependent/runtime/lib/security/policy/unlimited/local_policy.jar
Binary files differ
dependent/runtime/lib/security/trusted.libraries
dependent/runtime/lib/sound.properties
dependent/runtime/lib/tzdb.dat
Binary files differ
dependent/runtime/lib/tzmappings
dependent/setup_service.bat
New file
@@ -0,0 +1,12 @@
@echo off
::echo 当前盘符:%~d0
%~d0
::echo %cd%
cd %~dp0
echo %cd%
ResMeterManager.exe stop
ResMeterManager.exe uninstall
ResMeterManager.exe install
ResMeterManager.exe start
exit
dependent/stop.bat
New file
@@ -0,0 +1,12 @@
@echo off
::echo 当前盘符:%~d0
%~d0
::echo %cd%
cd %~dp0
echo %cd%
set java_path=%cd%\runtime\bin\java.exe
wmic process where "ExecutablePath='%java_path:\=\\%'" call terminate
exit
package.json
@@ -17,12 +17,14 @@
  },
  "main": "background.js",
  "dependencies": {
    "@electron/remote": "^2.0.8",
    "core-js": "^3.6.5",
    "tree-kill": "^1.2.2",
    "vue": "2.6.10",
    "vue-router": "3.0.6",
    "axios": "0.18.1",
    "vue-layer": "^1.2.0",
    "electron-log": "^4.4.8",
    "vue-template-compiler": "2.6.10"
  },
  "devDependencies": {
@@ -43,6 +45,7 @@
    "less-loader": "^6.2.0",
    "sass": "1.26.8",
    "sass-loader": "8.0.2",
    "minimal-request-promise": "^1.5.0",
    "vue-cli-plugin-electron-builder": "~2.1.1"
  },
  "eslintConfig": {
public/app_x64.exe
Binary files differ
public/bin/testElectronJ
File was deleted
public/bin/testElectronJ.bat
File was deleted
public/icon/1.png
Binary files differ
public/icon/icon1.png
Binary files differ
src/background.js
@@ -1,12 +1,19 @@
'use strict'
const { app, protocol, BrowserWindow, Menu, ipcMain, ipcRenderer } = require('electron');
const { app, protocol, BrowserWindow, Menu, ipcMain, dialog, shell } = require('electron');
const { createProtocol } = require('vue-cli-plugin-electron-builder/lib');
const path = require('path');
const child_process = require('child_process');
const log = require('electron-log');
const appUrl = 'http://localhost:8099/fbx/test/hello';
const requestPromise = require('minimal-request-promise');
const remote = require('@electron/remote/main');
remote.initialize();
const isDevelopment = process.env.NODE_ENV !== 'production'
let win = null;
let loadingWin = null;
// 单例锁
const gotTheLock = app.requestSingleInstanceLock()
@@ -19,6 +26,10 @@
    if (win) {
      if (win.isMinimized()) win.restore()
      win.focus()
      // TODO 双击文件 打开程序时 发送的事件
      if (commandLine[2]) {
        win.webContents.send('selected-file', { filePaths: [commandLine[2]] }, 'MenuList');
      }
    }
  })
@@ -31,7 +42,7 @@
// loading 窗口
const loadingURL = isDevelopment ? path.join(__dirname, './loading.html') : `file://${__dirname}/loading.html`;
const showLoading = (cb) => {
const showLoading = (cb, argFn) => {
  loadingWin = new BrowserWindow({
    // show: false,
    frame: false,
@@ -50,37 +61,63 @@
  loadingWin.loadURL(loadingURL);
  loadingWin.setSkipTaskbar(true);
  // loadingWin.show();
  cb(true);
  cb(true, argFn);
  // 启动java程序
  if (platform === 'win32') {
    ipcMain.once('renderer-ready', (event, data) => {
      let dir = path.resolve(__dirname, '..');
      serverProcess = require('child_process').execFile(dir + '/app_x64.exe');
  // if (platform === 'win32') {
  //   ipcMain.once('renderer-ready', (event, data) => {
  //     let dir = path.resolve(__dirname, '..');
  //     serverProcess = require('child_process').execFile(dir + '/app_x64.exe');
  //   });
  // }
  requestPromise.get(appUrl).then(function () {
    log.info('窗口初始化 服务正常');
    // ipcRenderer.send('java-ready');
    loadingWin.webContents.send('java-ready');
  }, function () {
    log.info('窗口初始化 接口不通 重启服务');
    child_process.exec(`"${process.cwd()}\\ResMeterManager.exe" restart`, (err) => {
      if (err) {
        log.info('重启服务出错了stderr: ' + JSON.stringify(err));
        return
      }
      log.info('服务重启成功,连接中');
      // 等到服务就绪再重启
      checkService(() => {
        loadingWin.webContents.send('java-ready');
      });
    });
  }
  });
}
// let appUrl = 'http://localhost:8099/test/hello';
const platform = process.platform
let appStarted = false
const checkService = function (cb) {
  requestPromise.get(appUrl).then(function (response) {
    log.info(response);
    log.info('Server started!');
    cb();
  }, function (response) {
    log.warn(response);
    log.info('Waiting for the server start...');
    setTimeout(function () {
      checkService(cb);
    }, 500)
  })
}
// const platform = process.platform
let serverProcess
if (!isDevelopment) {
  Menu.setApplicationMenu(null);
}
async function createWindow(wait) {
async function createWindow(wait, cb) {
  // Create the browser window.
  win = new BrowserWindow({
    show: !wait,
    width: 1200,
    height: 800,
    icon: `${__static}/icon/icon.png`,
    width: 1000,
    height: 600,
    webPreferences: {
      // webSecurity: false,
      // Use pluginOptions.nodeIntegration, leave this alone
      // See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info
      // nodeIntegration: true,
      // contextIsolation: false
      // nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
      // contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION
      nodeIntegration: false,
@@ -89,11 +126,11 @@
      allowRunningInsecureContent: false,
      contextIsolation: true,
      enableRemoteModule: false,
      preload: path.join(__dirname, './preload.js')
      // preload: `${__dirname}/preload.js`
      preload: path.join(__dirname, 'preload.js')
    }
  });
  })
  // remote.enable(win.webContents);
  if (process.env.WEBPACK_DEV_SERVER_URL) {
    // Load the url of the dev server if in development mode
    await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL)
@@ -101,97 +138,108 @@
  } else {
    createProtocol('app')
    // Load the index.html when not in development
    // win.webContents.openDevTools();
    win.loadURL('app://./index.html')
  }
  if (wait) {
    ipcMain.once("main-window-ready", () => {
    ipcMain.on("java-ready", () => {
      log.info('java-ready!');
      loadingWin.hide();
      loadingWin.close();
      win.show();
    });
  }
  if (cb && 'function' == typeof cb) {
    win.once('ready-to-show', () => {
      cb(win.webContents);
    })
  }
  // 自动检测更新 软件的第一个实例打开后 为了不影响加载速度 在指定时间后做一次自检
  // win.once('ready-to-show', () => {
  //   log.info('ready event');
  //   // TODO
  //   setTimeout(() => {
  //     update(win.webContents, true);
  //   }, 1000 * 30);
  // });
  win.webContents.session.on('will-download', (e, item) => {
    //监听下载结束事件
    item.on('done', (e, state) => {
      //如果窗口还在的话,去掉进度条
      // if (!win.isDestroyed()) {
      //   win.setProgressBar(-1);
      // }
      //下载被取消或中断了
      if (state === 'interrupted') {
        dialog.showErrorBox('下载失败', `文件 ${item.getFilename()} 因为某些原因被中断下载`);
      }
      // 下载成功后打开文件所在文件夹
      if (state === 'completed') {
        setTimeout(() => {
          shell.showItemInFolder(item.getSavePath())
        }, 1000);
      }
    });
  });
}
// Quit when all windows are closed.
app.on('window-all-closed', (e) => {
  if (serverProcess && process.platform !== 'darwin') {
    e.preventDefault()
    const kill = require('tree-kill')
    kill(serverProcess.pid, 'SIGTERM', function () {
      console.log('Server process killed')
      serverProcess = null
      app.quit()
    })
  } else {
    // On macOS it is common for applications and their menu bar
    // to stay active until the user quits explicitly with Cmd + Q
    if (process.platform !== 'darwin') {
      app.quit()
    }
app.on('window-all-closed', () => {
  // On macOS it is common for applications and their menu bar
  // to stay active until the user quits explicitly with Cmd + Q
  if (process.platform !== 'darwin') {
    app.quit()
  }
})
app.on('activate', () => {
  // On macOS it's common to re-create a window in the app when the
  // dock icon is clicked and there are no other windows open.
  if (BrowserWindow.getAllWindows().length === 0 && appStarted) createWindow()
  if (BrowserWindow.getAllWindows().length === 0) createWindow()
})
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
// const startUp = function () {
//   const requestPromise = require('minimal-request-promise')
//   requestPromise.get(appUrl).then(function (response) {
//     // require('child_process').spawn('cmd.exe', ['/c', 'echo '+JSON.stringify(response)+' success >> 123.txt'])
//     console.log(response);
//     console.log('Server started!');
//     ipcRenderer.sendSync('java-ready');
//     // createWindow();
//     appStarted = true
//   }, function (response) {
//     console.log(response)
//     // console.log('Waiting for the server start...');
//     // require('child_process').spawn('cmd.exe', ['/c', 'echo '+JSON.stringify(response)+' error >> 123.txt'])
//     setTimeout(function () {
//       startUp()
//     }, 500)
//   })
// }
// // 启动java程序
// if (isDevelopment) {
//   serverProcess = true;
// } else {
//   if (platform === 'win32') {
//     ipcMain.once('renderer-ready', (event, data) => {
//       serverProcess = require('child_process').execFile(__dirname + '/app_x64.exe');
//       startUp();
//     });
//   }
// }
// 禁用本地缓存
// app.commandLine.appendSwitch("--disable-http-cache");
app.on('ready', async () => {
  // require('child_process').spawn('cmd.exe', ['/c', 'echo ready >> 123.txt'])
  // startUp();
  log.info('app ready event');
  let cb = undefined;
  if (process.argv[1]) {
    cb = (sender) => {
      log.info('call selected-file..' + process.argv[1]);
      sender.send('selected-file', { filePaths: [process.argv[1]] }, 'MenuList');
    }
  }
  if (isDevelopment) {
    createWindow();
  } else {
    showLoading(createWindow);
    showLoading(createWindow, cb);
  }
})
app.on('will-quit', () => {
  // 注销快捷键
  globalShortcut.unregister('CommandOrControl+X')
ipcMain.on('open-file-dialog', (event, data) => {
  log.info('open file dialog')
  dialog.showOpenDialog({
    filters: [{ name: 'all', extensions: ['fbx', 'fbxc', 'mcp', 'mch', 'bres', 'alm'] }, { name: 'fbx', extensions: ['fbx', 'fbxc'] }, { name: 'fbs', extensions: ["mcp", "mch"] }, { name: 'res', extensions: ["bres"] }, { name: 'alm', extensions: ["alm"] }],
    properties: ['openFile']
  }).then((files) => {
    // console.log(files, '0000000')
    if (files) {
      event.sender.send('selected-file', files, data);
    }
  })
});
  // 注销所有快捷键
  globalShortcut.unregisterAll()
})
// app.on('will-quit', () => {
//   // 注销快捷键
//   globalShortcut.unregister('CommandOrControl+X')
//   // 注销所有快捷键
//   globalShortcut.unregisterAll()
// })
// Exit cleanly on request from parent process in development mode.
if (isDevelopment) {
  if (process.platform === 'win32') {
src/preload.js
@@ -3,7 +3,16 @@
  ipcRenderer
} = require('electron');
const validChannels = ['renderer-ready', 'main-window-ready'];
const validChannels = [
  'renderer-ready',
  'main-window-ready',
  'open-file-dialog',
  'selected-file',
  "show-save-dialog",
  "java-ready"
];
contextBridge.exposeInMainWorld('api', {
  send: (channel, data) => {
@@ -11,9 +20,13 @@
      ipcRenderer.send(channel, data);
    }
  },
  receive: (channel, func) => {
  receive: (channel, func, replace) => {
    if (validChannels.includes(channel)) {
      console.log('receive: ' + channel);
      // console.log('receive: ' + channel);
      // 如果replace 则channel事件会被覆盖 避免重复触发
      if (replace) {
        ipcRenderer._events[channel] = [];
      }
      ipcRenderer.on(channel, (event, ...args) => func(...args));
    }
  }
src/router/routes.js
@@ -11,9 +11,27 @@
  },
  // 结果页面
  {
    path: '/result',
    path: '/result-fbx',
    name: 'result',
    meta: {},
    component: () => import('@/views/result')
  }
  },
  {
    path: '/result-mcp',
    name: 'result-mcp',
    meta: {},
    component: () => import('@/views/result-mcp')
  },
  {
    path: '/result-res',
    name: 'result-res',
    meta: {},
    component: () => import('@/views/result-res')
  },
  // {
  //   path: '/result',
  //   name: 'result',
  //   meta: {},
  //   component: () => import('@/views/result')
  // }
];
src/views/result-mcp.vue
New file
@@ -0,0 +1,354 @@
<template>
  <flex-layout>
    <div class="content_header" slot="header">
      <three-btn @click="goSelect">选择文件</three-btn>
      <three-btn @click="exportExcel">导出</three-btn>
      <div class="summary">
        <div class="summary-item">
          记录开始时间:<span>{{ summary.testStartTime }}</span>
        </div>
        <div class="summary-item">
          测试类型:<span>{{ summary.testType }}</span>
        </div>
      </div>
    </div>
    <div class="main">
      <div class="flex-row">
        <div class="flex-row-inner contain-flex-column">
          <div class="item">
            <flex-box class="item-inner" size="mini" title="组端电压折线图">
              <normal-lines
                id="groupVol"
                ref="groupVol"
                unit="V"
              ></normal-lines>
            </flex-box>
          </div>
          <div class="item">
            <flex-box class="item-inner" size="mini" title="电池电流折线图">
              <normal-lines
                id="groupCurr"
                ref="groupCurr"
                unit="A"
              ></normal-lines>
            </flex-box>
          </div>
        </div>
      </div>
      <div class="flex-row">
        <div class="flex-row-inner contain-flex-column">
          <div class="item">
            <flex-box class="item-inner" size="mini" title="单体电压折线图">
              <normal-lines id="vol" ref="vol" unit="V"></normal-lines>
            </flex-box>
          </div>
          <div class="item">
            <flex-box class="item-inner" size="mini" :title="optsTitle">
              <!-- <div slot="tools" class="chart-tools-wrapper">
                <el-select
                  v-model="chartType"
                  size="mini"
                  @change="changeChartType"
                >
                  <el-option
                    v-for="item in chartTypes"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  ></el-option>
                </el-select>
              </div> -->
              <normal-lines id="other" ref="other"></normal-lines>
            </flex-box>
          </div>
        </div>
      </div>
    </div>
    <!-- 导出用的图表 可变的那组图 -->
    <div class="hideContain">
      <normal-lines id="hideChart" ref="hideChart"></normal-lines>
    </div>
  </flex-layout>
</template>
<script>
import NormalLines from "@/components/myCharts/NormalLines";
import FlexBox from "@/components/FlexBox";
import ThreeBtn from "@/components/ThreeBtn";
import axios from "@/assets/js/axios";
const dataType = {
  0xfa: "放电",
  0xfb: "充电"
};
export default {
  name: "",
  components: {
    NormalLines,
    FlexBox,
    ThreeBtn,
  },
  data() {
    let info = this.$route.query.data;
    let { fbsDatas, monitorDataInfo, file_type } = info;
    let lastRecord = fbsDatas[fbsDatas.length - 1];
    return {
      info,
      battInf: monitorDataInfo.battparam,
      testCapOption: null,
      // tempEnviOption: null,
      // humiEnviOption: null,
      summary: {
        testStartTime: monitorDataInfo.monitorstate.startDT.time,
        testType: dataType[file_type] || '未知',
      },
      optsTitle: '测试容量折线图'
    };
  },
  methods: {
    formatData() {
      let { fbsDatas, monitorDataInfo } = this.info;
      // console.log(fbsDatas, fbsDatasStart, fbsDatasStop, "=====data?");
      let monCount = monitorDataInfo.battparam.eachGroupBattCount;
      let times = [],
        groupVol = [],
        groupCurr = [],
        testCap = [],
        // actualCap = [],
        // residualCap = [],
        // residualTime = [],
        // PosInsRes = [],
        // NegInsRes = [],
        // humiEnvi = [],
        SingleVol = [];
      for (let i = 0, j = monCount; i < j; i++) {
        SingleVol[i] = {
          name: "#" + (i + 1) + "电压",
          type: "line",
          symbolSize: 0,
          sampling: "average",
          data: [],
        };
      }
      for (let i = 0, j = fbsDatas.length; i < j; i++) {
        let item = fbsDatas[i];
        let testtime = item.testTime;
        let hour = testtime.hour > 9 ? testtime.hour : "0" + testtime.hour;
        let minute =
          testtime.minute > 9 ? testtime.minute : "0" + testtime.minute;
        let second =
          testtime.second > 9 ? testtime.second : "0" + testtime.second;
        let time = "" + hour + ":" + minute + ":" + second;
        // 时间
        times.push(time);
        // 总电压
        groupVol.push(item.vcData.groupvol[0]);
        // 总电流
        groupCurr.push(item.vcData.battcurr[0]);
        // 测试容量
        testCap.push(item.vcData.battcap[0]);
        // 实际容量
        // actualCap.push(item.actualCap);
        // 剩余容量
        // residualCap.push(item.residualCap);
        // 剩余时间
        // residualTime.push(item.residualTime);
        // 正极绝缘电阻
        // PosInsRes.push(item.PosInsRes);
        // 负极绝缘电阻
        // NegInsRes.push(item.NegInsRes);
        // 环境温度
        // tempEnvi.push(item.Temp_Envi);
        // 环境湿度
        // humiEnvi.push(item.Humi_Envi);
        // 单体电压
        for (let m = 0, n = monCount; m < n; m++) {
          SingleVol[m].data.push(item.mvol.vol[m]);
        }
      }
      let groupVolOption = {
        xData: times,
        series: [
          {
            name: "组端电压",
            type: "line",
            symbolSize: 0,
            sampling: "average",
            data: groupVol,
          },
        ],
      };
      let currOption = {
        xData: times,
        series: [
          {
            name: "电流",
            type: "line",
            symbolSize: 0,
            sampling: "average",
            data: groupCurr,
          },
        ],
      };
      let volOption = {
        xData: times,
        series: SingleVol,
      };
      let testCapOption = {
          unit: "AH",
          xData: times,
          series: [
            {
              name: "测试容量",
              type: "line",
              symbolSize: 0,
              sampling: "average",
              data: testCap,
            },
          ],
        };
      this.testCapOption = testCapOption;
      // this.tempEnviOption = tempEnviOption;
      // this.humiEnviOption = humiEnviOption;
      this.$refs.groupVol.setData(groupVolOption);
      this.$refs.groupCurr.setData(currOption);
      this.$refs.vol.setData(volOption);
      this.$refs.other.setData(testCapOption);
      // 建立联动
      this.$G.chartManage.connect(["groupVol", "groupCurr", "vol", "other"]);
    },
    // changeChartType(v) {
    //   let label = this.chartTypes.filter((val) => {
    //     return val.value == v;
    //   })[0].label;
    //   this.optsTitle = label + "折线图";
    //   this.$refs.other.setData(this[v + "Option"]);
    // },
    goSelect() {
      this.$router.push({ path: "/selectFile", query: { reselect: 1 } });
    },
    // 导出报表
    exportExcel() {
      // 容量折线图
      let arr = ["testCap", "tempEnvi", "humiEnvi"];
      let o_pic = {};
      arr.forEach((v) => {
        let option = this[v + "Option"];
        this.$refs.hideChart.setData(option);
        o_pic[v] = this.$refs.hideChart.getDataURL();
      });
      let params = {
        filePath: this.info.filePath,
        groupVol_echart: this.$refs.groupVol.getDataURL(),
        curr_echart: this.$refs.groupCurr.getDataURL(),
        vol_echart: this.$refs.vol.getDataURL(),
        tempEnvi_echart: o_pic.tempEnvi,
        humiEnvi_echart: o_pic.humiEnvi,
      };
      // if (this.capTest) {
      //   params.cap_echart = o_pic.testCap;
      // }
      let baseURL = axios.defaults.baseURL;
      baseURL = baseURL ? baseURL : "";
      var actionUrl = baseURL + "export";
      this.construtFormSubmit(actionUrl, params);
    },
    construtFormSubmit(actionUrl, parms) {
      var form = document.createElement("form");
      form.id = "specialGraph";
      form.style.display = "none";
      form.action = actionUrl;
      form.enctype = "multipart/form-data";
      form.method = "post";
      document.body.appendChild(form);
      for (var key in parms) {
        var input = document.createElement("input");
        input.type = "hidden";
        input.name = key;
        input.value = parms[key];
        form.appendChild(input);
      }
      form.submit();
      document.body.removeChild(form);
    },
  },
  mounted() {
    console.log(this.info, this);
    if (!this.info || !this.info.fbsDatas) {
      this.$router.push("/selectFile");
    } else {
      this.formatData();
    }
  },
};
</script>
<style scoped>
.main {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.flex-row {
  flex: 1;
  position: relative;
}
.item-inner,
.flex-row-inner {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.contain-flex-column {
  display: flex;
  flex-direction: row;
}
.item {
  background: #0d43a7;
  flex: 1;
  position: relative;
}
.content_header {
  padding: 8px 8px 12px;
  display: flex;
  color: #fff;
  align-items: center;
}
.summary {
  display: flex;
  flex-wrap: wrap;
}
.summary-item {
  margin-left: 1em;
}
.summary-item span {
  color: #ff0;
}
>>> .three-btn {
  flex-shrink: 0;
}
>>> .three-btn + .three-btn {
  margin-left: 8px;
}
.item + .item {
  margin-left: 8px;
}
.flex-row + .flex-row {
  margin-top: 8px;
}
.hideContain {
  position: absolute;
  width: 0;
  height: 0;
  display: none;
}
</style>
src/views/result-res.vue
New file
@@ -0,0 +1,260 @@
<template>
  <flex-layout>
    <div class="content_header" slot="header">
      <three-btn @click="goSelect">选择文件</three-btn>
      <three-btn @click="exportExcel">导出</three-btn>
      <div class="summary">
        <div class="summary-item">
          测试类型:<span>内阻测试</span>
        </div>
      </div>
    </div>
    <div class="main">
      <div class="flex-row">
        <div class="flex-row-inner contain-flex-column">
          <div class="item">
            <flex-box class="item-inner" size="mini" title="单体电压折线图">
              <normal-lines
                id="vol"
                ref="vol"
                unit="V"
              ></normal-lines>
            </flex-box>
          </div>
          <div class="item">
            <flex-box class="item-inner" size="mini" title="单体内阻折线图">
              <normal-lines
                id="res"
                ref="res"
                unit="mΩ"
              ></normal-lines>
            </flex-box>
          </div>
        </div>
      </div>
      <div class="flex-row">
        <div class="flex-row-inner contain-flex-column">
          <div class="item">
            <flex-box class="item-inner" size="mini" title="单体温度折线图">
              <normal-lines id="temp" ref="temp" unit="℃"></normal-lines>
            </flex-box>
          </div>
        </div>
      </div>
    </div>
    <!-- 导出用的图表 可变的那组图 -->
    <div class="hideContain">
      <normal-lines id="hideChart" ref="hideChart"></normal-lines>
    </div>
  </flex-layout>
</template>
<script>
import NormalLines from "@/components/myCharts/NormalLines";
import FlexBox from "@/components/FlexBox";
import ThreeBtn from "@/components/ThreeBtn";
import axios from "@/assets/js/axios";
export default {
  name: "",
  components: {
    NormalLines,
    FlexBox,
    ThreeBtn,
  },
  data() {
    let info = this.$route.query.data;
    let { resDatas } = info;
    let lastRecord = resDatas[resDatas.length - 1];
    return {
      info,
      testCapOption: null,
      optsTitle: '测试容量折线图'
    };
  },
  methods: {
    formatData() {
      let { resDatas } = this.info;
      // console.log(resDatas, resDatasStart, resDatasStop, "=====data?");
      let monCount = resDatas[0] ? resDatas[0].battSum : 0;
      let times = [],
        vol = [],
        res = [],
        temp = [];
      for (let i = 0, j = monCount; i < j; i++) {
        vol[i] = {
          name: "#" + (i + 1) + "电压",
          type: "line",
          symbolSize: 0,
          sampling: "average",
          data: [],
        };
        res[i] = {
          name: "#" + (i + 1) + "内阻",
          type: "line",
          symbolSize: 0,
          sampling: "average",
          data: [],
        };
        temp[i] = {
          name: "#" + (i + 1) + "温度",
          type: "line",
          symbolSize: 0,
          sampling: "average",
          data: [],
        };
      }
      for (let i = 0, j = resDatas.length; i < j; i++) {
        let item = resDatas[i];
        let testtime = item.data_Time;
        // 时间
        times.push(testtime);
        for (let m = 0, n = monCount; m < n; m++) {
          vol[m].data.push(item.monomerVol[m]);
          res[m].data.push(item.monomerRes[m]);
          temp[m].data.push(item.monomerTemp[m]);
        }
      }
      let volOption = {
        xData: times,
        series: vol,
      };
      let resOption = {
        xData: times,
        series: res,
      };
      let tempOption = {
        xData: times,
        series: temp,
      };
      this.$refs.vol.setData(volOption);
      this.$refs.res.setData(resOption);
      this.$refs.temp.setData(tempOption);
      // 建立联动
      this.$G.chartManage.connect(["vol", "res", "temp"]);
    },
    // changeChartType(v) {
    //   let label = this.chartTypes.filter((val) => {
    //     return val.value == v;
    //   })[0].label;
    //   this.optsTitle = label + "折线图";
    //   this.$refs.other.setData(this[v + "Option"]);
    // },
    goSelect() {
      this.$router.push({ path: "/selectFile", query: { reselect: 1 } });
    },
    // 导出报表
    exportExcel() {
      let params = {
        filePath: this.info.filePath,
        vol_echart: this.$refs.vol.getDataURL(),
        res_echart: this.$refs.res.getDataURL(),
        tmp_echart: this.$refs.temp.getDataURL(),
      };
      // if (this.capTest) {
      //   params.cap_echart = o_pic.testCap;
      // }
      let baseURL = axios.defaults.baseURL;
      baseURL = baseURL ? baseURL : "";
      var actionUrl = baseURL + "export";
      this.construtFormSubmit(actionUrl, params);
    },
    construtFormSubmit(actionUrl, parms) {
      var form = document.createElement("form");
      form.id = "specialGraph";
      form.style.display = "none";
      form.action = actionUrl;
      form.enctype = "multipart/form-data";
      form.method = "post";
      document.body.appendChild(form);
      for (var key in parms) {
        var input = document.createElement("input");
        input.type = "hidden";
        input.name = key;
        input.value = parms[key];
        form.appendChild(input);
      }
      form.submit();
      document.body.removeChild(form);
    },
  },
  mounted() {
    console.log(this.info, this);
    if (!this.info || !this.info.resDatas) {
      this.$router.push("/selectFile");
    } else {
      this.formatData();
    }
  },
};
</script>
<style scoped>
.main {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.flex-row {
  flex: 1;
  position: relative;
}
.item-inner,
.flex-row-inner {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.contain-flex-column {
  display: flex;
  flex-direction: row;
}
.item {
  background: #0d43a7;
  flex: 1;
  position: relative;
}
.content_header {
  padding: 8px 8px 12px;
  display: flex;
  color: #fff;
  align-items: center;
}
.summary {
  display: flex;
  flex-wrap: wrap;
}
.summary-item {
  margin-left: 1em;
}
.summary-item span {
  color: #ff0;
}
>>> .three-btn {
  flex-shrink: 0;
}
>>> .three-btn + .three-btn {
  margin-left: 8px;
}
.item + .item {
  margin-left: 8px;
}
.flex-row + .flex-row {
  margin-top: 8px;
}
.hideContain {
  position: absolute;
  width: 0;
  height: 0;
  display: none;
}
</style>
src/views/selectFile.vue
@@ -1,20 +1,11 @@
<template>
  <div class="main">
    <el-upload
      class="upload"
      action=""
      drag
      :auto-upload="false"
      :on-change="change"
      @drop.native="drop"
      accept=".fbx,.fbxc"
    >
      <!-- <i class="icon el-icon-plus"></i> -->
      <div ref="tt" class="el-upload__text">
        将.fbx或.fbxc文件拖到此处,或点击此处选择文件
    <div class="upload" @click="selectFile" @dragover="dragover" @drop="drop">
      <div ref="txt" class="upload__text">
        将文件拖到此处,或点击此处选择文件
      </div>
      <div class="el-upload__tip" slot="tip">只能解析.fbx和.fbxc文件</div>
    </el-upload>
    </div>
    <div class="upload__tip" slot="tip">只能解析.fbx .fbxc .mcp .mch .bres .alm文件</div>
  </div>
</template>
@@ -42,36 +33,60 @@
      console.log(file);
      this.loadFile(file.raw);
    },
    loadFile(file) {
      if (!/\.fbxc?$/.test(file.name.toLowerCase().trim())) {
    loadFile(url) {
      // TODO 文件类型判断
      let arr = url.split(".");
      let type = arr.length > 1 ? arr[arr.length - 1].toLowerCase() : "";
      // 支持的类型
      let allowList = ["fbx", "fbxc", "mcp", "mch", "bres", "alm"];
      if (!allowList.some((v) => v == type)) {
        this.$layer.msg("文件类型错误");
        return false;
      }
      let suffixes = "";
      switch (type) {
        case "fbx":
        case "fbxc":
          suffixes = "fbx";
          break;
        case "mcp":
        case "mch":
          suffixes = "mcp";
          break;
        case "bres":
          suffixes = "res";
          break;
        case "alm":
          suffixes = "alm";
          break;
      }
      let loading = this.$layer.loading(1);
      axios({
        url: "readFboFile",
        method: "GET",
        params: {
          filePath: file.path,
          filePath: url,
        },
      }).then((res) => {
        let {
          code,
          data,
        } = res.data;
        let { code, data } = res.data;
        // console.log(res, res.code, "=========res");
        this.$layer.close(loading);
        if (code) {
          data.filePath = file.path;
          data.filePath = url;
          // 解析成功 跳转到结果页面
          this.$router.push({
            path: "/result",
            path: `/result-${suffixes}`,
            query: {
              data,
            },
          });
        }
      });
    },
    dragover(e) {
      e.preventDefault();
      return true;
    },
    drop(e) {
      // console.log(e);
@@ -81,26 +96,49 @@
      //获得拖拽的文件集合
      var files = e.dataTransfer.files;
      console.log(files);
      // console.log(files);
      if (!files) {
        return false;
      }
      this.loadFile(files[0]);
      let url = files[0] ? files[0].path : "";
      if (url) {
        this.loadFile(url);
      }
    },
    initEvents() {
      console.log('initEvents')
      window.api.receive("selected-file", (path, data) => {
        console.log(path, data, "selected-file");
        if (data && data == "selectFile") {
          let url = path.filePaths[0];
          if (url) {
            this.loadFile(path.filePaths[0]);
          }
        }
      }, true);
    },
    selectFile() {
      // console.log("openfile");
      window.api.send("open-file-dialog", "selectFile");
    },
  },
  mounted() {
    this.initEvents();
    if (this.reselect) {
      this.$refs.tt.click();
      this.$refs.txt.click();
    }
  },
};
</script>
<style scoped>
<style lang="less" scoped>
.main {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@@ -111,22 +149,28 @@
  display: flex;
  flex-direction: column;
  text-align: center;
}
>>> .el-upload {
  width: 100%;
  height: 100%;
}
>>> .el-upload-dragger {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 8px;
  justify-content: center;
}
>>> .el-upload-list {
  display: none;
}
>>> .el-upload__tip {
.upload__tip {
  color: #fff;
}
// >>> .el-upload {
//   width: 100%;
//   height: 100%;
// }
// >>> .el-upload-dragger {
//   width: 100%;
//   height: 100%;
//   display: flex;
//   flex-direction: column;
//   justify-content: center;
// }
// >>> .el-upload-list {
//   display: none;
// }
// >>> .el-upload__tip {
//   color: #fff;
// }
</style>