Files
TeyvatGuide/src-tauri/src/client/mod.rs
2024-08-11 15:40:17 +08:00

45 lines
1.3 KiB
Rust

//! @file src/client/mod.rs
//! @desc 客户端模块,负责操作米游社客户端
//! @since Beta v0.5.2
mod menu;
mod utils;
use tauri::{AppHandle, Manager, WebviewWindowBuilder};
use tauri_utils::config::WebviewUrl;
#[tauri::command]
pub async fn create_mhy_client(handle: AppHandle, func: String, url: String) {
let mut win_width = 400.0;
let mut win_height = 800.0;
let win_ua = "Mozilla/5.0 (Linux; Android 12) Mobile miHoYoBBS/2.72.2";
let url_parse;
if url != "" {
url_parse = WebviewUrl::External(url.parse().unwrap());
} else {
url_parse = menu::get_mhy_client_url(func.clone());
}
if func == "birthday"
|| func == "web_act"
|| url.starts_with("https://webstatic.mihoyo.com/ys/event/e20220303-birthday/index.html")
{
win_width = 1280.0;
win_height = 720.0;
}
let window_find = handle.get_webview_window("mhy_client");
if window_find.is_some() {
window_find.unwrap().destroy().unwrap();
return;
}
let trans_size = utils::get_window_size(handle.clone(), win_width, win_height);
WebviewWindowBuilder::new(&handle, "mhy_client", url_parse)
.inner_size(trans_size.0, trans_size.1)
.title("米游社")
.center()
.user_agent(win_ua)
.menu(menu::create_mhy_menu(handle.clone()))
.on_menu_event(move |app, event| menu::handle_menu_event(app, event))
.build()
.unwrap();
}