mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-13 09:28:14 +08:00
45 lines
1.3 KiB
Rust
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();
|
|
}
|