main.rs 856 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #![cfg_attr(
  2. all(not(debug_assertions), target_os = "windows"),
  3. windows_subsystem = "windows"
  4. )]
  5. mod cmd;
  6. use serde::Serialize;
  7. #[derive(Serialize)]
  8. struct Reply {
  9. data: String,
  10. }
  11. fn main() {
  12. tauri::AppBuilder::default()
  13. .setup(|webview_manager| async move {
  14. let dispatcher = webview_manager.current_webview().unwrap();
  15. let dispatcher_ = dispatcher.clone();
  16. dispatcher.listen("js-event", move |msg| {
  17. println!("got js-event with message '{:?}'", msg);
  18. let reply = Reply {
  19. data: "something else".to_string(),
  20. };
  21. dispatcher_
  22. .emit("rust-event", Some(reply))
  23. .expect("failed to emit");
  24. });
  25. })
  26. .invoke_handler(tauri::generate_handler![
  27. cmd::log_operation,
  28. cmd::perform_request
  29. ])
  30. .build(tauri::generate_context!())
  31. .run();
  32. }