diff --git a/splashscreen.html b/splashscreen.html
new file mode 100644
index 0000000..3d83e9a
--- /dev/null
+++ b/splashscreen.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Loading
+
+
+
+
正在加载!
+
+
正在加载所需资源!
+
+
+
+
\ No newline at end of file
diff --git a/src-tauri/src/commands.rs b/src-tauri/src/commands.rs
index a610c83..5bcced9 100644
--- a/src-tauri/src/commands.rs
+++ b/src-tauri/src/commands.rs
@@ -1,9 +1,17 @@
use crate::{
app_error::AppError,
pe_parse::{header::ImageDosHeader, pe::PE},
- services::{self, file::{get_nt_headers_data, ResponseDOSHeaderData, ResponseFileHeaderData, ResponseNTHeaderData}, GLOBAL_FILE_DATA},
+ services::{
+ self,
+ file::{
+ get_nt_headers_data, ResponseDOSHeaderData, ResponseFileHeaderData,
+ ResponseNTHeaderData,
+ },
+ GLOBAL_FILE_DATA,
+ },
};
use serde::Serialize;
+use tauri::{async_runtime::Mutex, AppHandle, Manager, State};
#[derive(Serialize)]
pub struct PeNodeTreeData {
@@ -11,6 +19,15 @@ pub struct PeNodeTreeData {
key: String,
children: Vec,
}
+// set_complete
+#[tauri::command]
+pub fn set_complete(app: AppHandle) -> Result<(), AppError> {
+ let splash_window = app.get_webview_window("splashscreen").unwrap();
+ let main_window = app.get_webview_window("main").unwrap();
+ splash_window.close().unwrap();
+ main_window.show().unwrap();
+ Ok(())
+}
// TODO: 获取PE节点树的JSON数据
#[tauri::command]
@@ -103,4 +120,4 @@ pub fn command_get_pe_data_nt_header() -> Result
pub fn command_get_pe_data_file_header() -> Result {
let result = services::file::get_file_header_data()?;
Ok(result)
-}
\ No newline at end of file
+}
diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs
index c3b6501..a96589d 100644
--- a/src-tauri/src/lib.rs
+++ b/src-tauri/src/lib.rs
@@ -15,6 +15,7 @@ pub fn run() {
commands::command_get_pe_data_dos_header,
commands::command_get_pe_data_nt_header,
commands::command_get_pe_data_file_header,
+ commands::set_complete
])
.run(tauri::generate_context!())
.expect("error while running tauri application");
diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
index 7299f80..9652d86 100644
--- a/src-tauri/tauri.conf.json
+++ b/src-tauri/tauri.conf.json
@@ -12,9 +12,15 @@
"app": {
"windows": [
{
- "title": "test-tauri",
- "width": 800,
- "height": 600
+ "label": "main",
+ "title": "My CFF",
+ "width": 1000,
+ "height": 800,
+ "visible": false
+ },
+ {
+ "label": "splashscreen",
+ "url": "/splashscreen"
}
],
"security": {
diff --git a/src/components/DosHeader/DosHeader.tsx b/src/components/DosHeader/DosHeader.tsx
index 6d2d431..07fd8e6 100644
--- a/src/components/DosHeader/DosHeader.tsx
+++ b/src/components/DosHeader/DosHeader.tsx
@@ -358,7 +358,7 @@ const App = () => {
render: (text) => {
return offsetHex ? `0x${text.toString(16).toUpperCase()}` : text;
},
- onHeaderCell: (column) => ({
+ onHeaderCell: () => ({
onClick: () => {
setOffsetHex(!offsetHex);
}
diff --git a/src/components/FileHeader/FileHeader.tsx b/src/components/FileHeader/FileHeader.tsx
index 0cad445..6a8c055 100644
--- a/src/components/FileHeader/FileHeader.tsx
+++ b/src/components/FileHeader/FileHeader.tsx
@@ -157,7 +157,7 @@ const App = () => {
render: (text) => {
return offsetHex ? `0x${text.toString(16).toUpperCase()}` : text;
},
- onHeaderCell: (column) => ({
+ onHeaderCell: () => ({
onClick: () => {
setOffsetHex(!offsetHex);
},
diff --git a/src/components/NTHeader/NTHeader.tsx b/src/components/NTHeader/NTHeader.tsx
index 2d5ce7e..545a7e2 100644
--- a/src/components/NTHeader/NTHeader.tsx
+++ b/src/components/NTHeader/NTHeader.tsx
@@ -115,7 +115,7 @@ const App = () => {
render: (text) => {
return offsetHex ? `0x${text.toString(16).toUpperCase()}` : text;
},
- onHeaderCell: (column) => ({
+ onHeaderCell: () => ({
onClick: () => {
setOffsetHex(!offsetHex);
},
diff --git a/src/components/side_tree/SideTree.tsx b/src/components/side_tree/SideTree.tsx
index 53baf0f..5bf9b10 100644
--- a/src/components/side_tree/SideTree.tsx
+++ b/src/components/side_tree/SideTree.tsx
@@ -16,7 +16,7 @@ export default function SiderTree({
// 受控 选择的节点
const [selectedKey, setSelectedKey] = useState(defaultSelectedKey);
- const onSelect: TreeProps["onSelect"] = (selectedKeys, info) => {
+ const onSelect: TreeProps["onSelect"] = (_, info) => {
let key = info.node.key as string;
console.log("onSelect", key);
setSelectedKey(key);
diff --git a/src/main.tsx b/src/main.tsx
index 2be325e..f595d3a 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,6 +1,17 @@
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
+import { invoke } from "@tauri-apps/api/core";
+import { delay} from "lodash-es"
+
+async function setup() {
+ invoke('set_complete')
+}
+
+window.addEventListener("DOMContentLoaded", () => {
+ setup();
+})
+
ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(