Support clearing cache and shortcut keys

This commit is contained in:
Tw93
2025-12-08 14:34:26 +08:00
parent 2767fc1b94
commit ca6a56d689
8 changed files with 48 additions and 5 deletions

View File

@@ -151,6 +151,7 @@
| <kbd>⌘</kbd> + <kbd>L</kbd> | <kbd>Ctrl</kbd> + <kbd>L</kbd> | Copy Current Page URL | | <kbd>⌘</kbd> + <kbd>L</kbd> | <kbd>Ctrl</kbd> + <kbd>L</kbd> | Copy Current Page URL |
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | Go to Home Page | | <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | Go to Home Page |
| <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>I</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> | Toggle Developer Tools (Debug Only) | | <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>I</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> | Toggle Developer Tools (Debug Only) |
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>⌫</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Del</kbd> | Clear Cache & Restart |
In addition, double-click the title bar to switch to full-screen mode. For Mac users, you can also use the gesture to go to the previous or next page and drag the title bar to move the window. The new menu also offers options for navigation, zoom, and window controls. In addition, double-click the title bar to switch to full-screen mode. For Mac users, you can also use the gesture to go to the previous or next page and drag the title bar to move the window. The new menu also offers options for navigation, zoom, and window controls.

View File

@@ -152,6 +152,7 @@
| <kbd>⌘</kbd> + <kbd>L</kbd> | <kbd>Ctrl</kbd> + <kbd>L</kbd> | 复制当前页面网址 | | <kbd>⌘</kbd> + <kbd>L</kbd> | <kbd>Ctrl</kbd> + <kbd>L</kbd> | 复制当前页面网址 |
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | 回到首页 | | <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | 回到首页 |
| <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>I</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> | 开启调试 (仅开发版) | | <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>I</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> | 开启调试 (仅开发版) |
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>⌫</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Del</kbd> | 清除缓存并重启 |
此外还支持双击头部全屏切换拖拽头部移动窗口Mac 用户支持手势返回和前进,新菜单也提供了导航、缩放和窗口控制等选项。 此外还支持双击头部全屏切换拖拽头部移动窗口Mac 用户支持手势返回和前进,新菜单也提供了导航、缩放和窗口控制等选项。

View File

@@ -150,6 +150,7 @@
| <kbd>⌘</kbd> + <kbd>L</kbd> | <kbd>Ctrl</kbd> + <kbd>L</kbd> | 現在のURLをコピー | | <kbd>⌘</kbd> + <kbd>L</kbd> | <kbd>Ctrl</kbd> + <kbd>L</kbd> | 現在のURLをコピー |
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | ホームページに戻る | | <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | ホームページに戻る |
| <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>I</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> | 開発者ツール (デバッグのみ) | | <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>I</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> | 開発者ツール (デバッグのみ) |
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>⌫</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Del</kbd> | キャッシュをクリアして再起動 |
さらに、タイトルバーをダブルクリックして全画面モードに切り替えることができます。Mac ユーザーは、ジェスチャーを使用して前のページまたは次のページに移動することもできます。新しいメニューには、ナビゲーション、ズーム、ウィンドウ制御などのオプションも用意されています。 さらに、タイトルバーをダブルクリックして全画面モードに切り替えることができます。Mac ユーザーは、ジェスチャーを使用して前のページまたは次のページに移動することもできます。新しいメニューには、ナビゲーション、ズーム、ウィンドウ制御などのオプションも用意されています。

2
package.json vendored
View File

@@ -1,6 +1,6 @@
{ {
"name": "pake-cli", "name": "pake-cli",
"version": "3.5.3", "version": "3.6.0",
"description": "🤱🏻 Turn any webpage into a desktop app with one command. 🤱🏻 一键打包网页生成轻量桌面应用。", "description": "🤱🏻 Turn any webpage into a desktop app with one command. 🤱🏻 一键打包网页生成轻量桌面应用。",
"engines": { "engines": {
"node": ">=18.0.0" "node": ">=18.0.0"

2
src-tauri/Cargo.lock generated
View File

@@ -2588,7 +2588,7 @@ dependencies = [
[[package]] [[package]]
name = "pake" name = "pake"
version = "3.5.4" version = "3.6.0"
dependencies = [ dependencies = [
"serde", "serde",
"serde_json", "serde_json",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "pake" name = "pake"
version = "3.5.4" version = "3.6.0"
description = "🤱🏻 Turn any webpage into a desktop app with Rust." description = "🤱🏻 Turn any webpage into a desktop app with Rust."
authors = ["Tw93"] authors = ["Tw93"]
license = "MIT" license = "MIT"

View File

@@ -116,7 +116,7 @@ pub fn send_notification(app: AppHandle, params: NotificationParams) -> Result<(
} }
#[command] #[command]
pub fn update_theme_mode(app: AppHandle, mode: String) { pub async fn update_theme_mode(app: AppHandle, mode: String) {
let window = app.get_webview_window("pake").unwrap(); let window = app.get_webview_window("pake").unwrap();
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
{ {
@@ -128,3 +128,23 @@ pub fn update_theme_mode(app: AppHandle, mode: String) {
let _ = window.set_theme(Some(theme)); let _ = window.set_theme(Some(theme));
} }
} }
#[command]
#[allow(unreachable_code)]
pub fn clear_cache_and_restart(app: AppHandle) -> Result<(), String> {
if let Some(window) = app.get_webview_window("pake") {
match window.clear_all_browsing_data() {
Ok(_) => {
// Clear all browsing data successfully
app.restart();
Ok(())
}
Err(e) => {
eprintln!("Failed to clear browsing data: {}", e);
Err(format!("Failed to clear browsing data: {}", e))
}
}
} else {
Err("Main window not found".to_string())
}
}

View File

@@ -13,7 +13,10 @@ use tauri::menu::{AboutMetadata, Menu, MenuItem, PredefinedMenuItem, Submenu};
use tauri_plugin_opener::OpenerExt; // Add this use tauri_plugin_opener::OpenerExt; // Add this
use app::{ use app::{
invoke::{download_file, download_file_by_binary, send_notification, update_theme_mode}, invoke::{
clear_cache_and_restart, download_file, download_file_by_binary, send_notification,
update_theme_mode,
},
setup::{set_global_shortcut, set_system_tray}, setup::{set_global_shortcut, set_system_tray},
window::set_window, window::set_window,
}; };
@@ -65,6 +68,7 @@ pub fn run_app() {
download_file_by_binary, download_file_by_binary,
send_notification, send_notification,
update_theme_mode, update_theme_mode,
clear_cache_and_restart,
]) ])
.setup(move |app| { .setup(move |app| {
// --- Menu Construction Start --- // --- Menu Construction Start ---
@@ -91,6 +95,15 @@ pub fn run_app() {
// File Menu // File Menu
let file_menu = Submenu::new(app, "File", true)?; let file_menu = Submenu::new(app, "File", true)?;
file_menu.append(&PredefinedMenuItem::close_window(app, None)?)?; file_menu.append(&PredefinedMenuItem::close_window(app, None)?)?;
file_menu.append(&PredefinedMenuItem::separator(app)?)?;
file_menu.append(&MenuItem::with_id(
app,
"clear_cache_restart",
"Clear Cache & Restart",
true,
Some("CmdOrCtrl+Shift+Backspace"),
)?)?;
// Edit Menu // Edit Menu
let edit_menu = Submenu::new(app, "Edit", true)?; let edit_menu = Submenu::new(app, "Edit", true)?;
@@ -277,6 +290,13 @@ pub fn run_app() {
window.eval("navigator.clipboard.writeText(window.location.href)"); window.eval("navigator.clipboard.writeText(window.location.href)");
} }
} }
"clear_cache_restart" => {
if let Some(window) = app_handle.get_webview_window("pake") {
if let Ok(_) = window.clear_all_browsing_data() {
app_handle.restart();
}
}
}
"always_on_top" => { "always_on_top" => {
if let Some(window) = app_handle.get_webview_window("pake") { if let Some(window) = app_handle.get_webview_window("pake") {
let is_on_top = window.is_always_on_top().unwrap_or(false); let is_on_top = window.is_always_on_top().unwrap_or(false);