diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index d2f712ac..4043c0ac 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -1,10 +1,33 @@
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
-use tauri::Manager;
+#[tauri::command]
+async fn mys_login(handle: AppHandle) {
+ // 创建新窗口
+ let mys_window = WindowBuilder::new(
+ &handle,
+ "mys-login", /* the unique window label */
+ WindowUrl::External("https://bbs.mihoyo.com/ys/".parse().unwrap()),
+ )
+ .build()
+ .unwrap();
+ // 执行 js 代码
+ let js_code = "
+ var cookie = document.cookie;
+ if(cookie == null || cookie == ''){
+ alert('请在该网页登录后关闭窗口再试');
+ } else {
+ prompt('请复制以下内容', `mys-login:${cookie}`);
+ }
+ ";
+ mys_window.eval(js_code).ok().unwrap();
+}
+
+use tauri::{AppHandle, Manager, WindowBuilder, WindowUrl};
fn main() {
tauri::Builder::default()
+ .invoke_handler(tauri::generate_handler![mys_login])
.setup(|app| {
#[cfg(debug_assertions)] // only include this code on debug builds
{
diff --git a/src/pages/Config.vue b/src/pages/Config.vue
index c80d8049..19bf62b2 100644
--- a/src/pages/Config.vue
+++ b/src/pages/Config.vue
@@ -98,6 +98,11 @@
+
+
+ mdi-cookie
+
+
@@ -127,7 +132,7 @@ import { getBuildTime } from "../utils/TGBuild";
import TLoading from "../components/t-loading.vue";
import TConfirm from "../components/t-confirm.vue";
// tauri
-import { dialog, fs, app, os } from "@tauri-apps/api";
+import { dialog, fs, app, os, tauri } from "@tauri-apps/api";
// store
import { useAppStore } from "../store/modules/app";
import { useHomeStore } from "../store/modules/home";
@@ -209,6 +214,11 @@ function tryConfirm (oper: string) {
confirmOper.value = "delApp";
confirmShow.value = true;
break;
+ case "getCookie":
+ confirmText.value = "请根据新窗口的提示操作。";
+ confirmOper.value = "getCookie";
+ confirmShow.value = true;
+ break;
}
}
@@ -224,6 +234,9 @@ async function doConfirm (oper: string) {
case "delApp":
await initAppData();
break;
+ case "getCookie":
+ await getCookie();
+ break;
default:
break;
}
@@ -289,11 +302,16 @@ async function submitHome () {
return;
}
// 设置
- await homeStore.setShowValue(show);
+ homeStore.setShowValue(show);
snackbarText.value = "已修改!";
snackbarColor.value = "success";
snackbar.value = true;
}
+
+// 获取 Cookie
+async function getCookie () {
+ await tauri.invoke("mys_login");
+}