diff --git a/package.json b/package.json
index b75c60a..54dce3e 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "frpilot",
"private": true,
- "version": "1.0.0",
+ "version": "0.9.0",
"type": "module",
"scripts": {
"dev": "vite",
diff --git a/src/assets/images/app-icon.webp b/src/assets/images/app-icon.webp
new file mode 100644
index 0000000..8523a31
Binary files /dev/null and b/src/assets/images/app-icon.webp differ
diff --git a/src/assets/main.css b/src/assets/main.css
index e14c6bd..1542499 100644
--- a/src/assets/main.css
+++ b/src/assets/main.css
@@ -112,7 +112,7 @@ body {
.glass-panel {
border-radius: 16px;
border: 1px solid rgba(255, 255, 255, 0.55);
- background: rgba(255, 255, 255, 0.35);
+ background: rgba(255, 255, 255, 0.45);
backdrop-filter: blur(18px) saturate(160%);
-webkit-backdrop-filter: blur(18px) saturate(160%);
box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12);
@@ -120,7 +120,7 @@ body {
.dark .glass-panel {
border-color: rgba(255, 255, 255, 0.08);
- background: rgba(15, 23, 42, 0.55);
+ background: rgba(15, 23, 42, 0.45);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}
@@ -131,7 +131,7 @@ body {
*/
.glass-card.ant-card {
border: 1px solid rgba(255, 255, 255, 0.5) !important;
- background: rgba(255, 255, 255, 0.5) !important;
+ background: rgba(255, 255, 255, 0.45) !important;
backdrop-filter: blur(16px) saturate(160%);
-webkit-backdrop-filter: blur(16px) saturate(160%);
box-shadow: 0 6px 22px rgba(15, 23, 42, 0.08) !important;
diff --git a/src/components/TitleBarActions.vue b/src/components/TitleBarActions.vue
index fc47811..20ff203 100644
--- a/src/components/TitleBarActions.vue
+++ b/src/components/TitleBarActions.vue
@@ -2,22 +2,14 @@
-
-
+
+
+
+
-
-
+
+
{{ item.label }}
@@ -25,69 +17,50 @@
-
+
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
+
+
-
-
+
+
+
+
-
-
+
+
+
+
-
-
+
+
+
+
diff --git a/src/components/UpdateModal.vue b/src/components/UpdateModal.vue
index 9db245e..00c9f5a 100644
--- a/src/components/UpdateModal.vue
+++ b/src/components/UpdateModal.vue
@@ -1,15 +1,6 @@
-
+
🎉
diff --git a/src/components/WindowsTitleBar.vue b/src/components/WindowsTitleBar.vue
index 3bf03dd..bd63903 100644
--- a/src/components/WindowsTitleBar.vue
+++ b/src/components/WindowsTitleBar.vue
@@ -1,12 +1,14 @@
-
-
+
+
-
F
+
Frpilot
@@ -17,21 +19,7 @@
-
-
diff --git a/src/stores/update.ts b/src/stores/update.ts
index d48b56a..0471c86 100644
--- a/src/stores/update.ts
+++ b/src/stores/update.ts
@@ -60,11 +60,19 @@ export const useUpdateStore = defineStore("update", () => {
return
}
+ // 已检测到可用更新(例如用户点过「取消」关掉了弹窗):直接重新打开,
+ // 避免重复联网检查、重复创建后端资源;徽标也因此能持续提示。
+ if (pending) {
+ modalOpen.value = true
+ return
+ }
+
checking.value = true
try {
const update = await checkForAppUpdate()
if (!update) {
+ info.value = null
if (!silent) message.success(translate("update.upToDate"))
return
}
@@ -107,9 +115,12 @@ export const useUpdateStore = defineStore("update", () => {
}
}
- /** 取消(本次不更新,下次启动仍会提示) */
+ /**
+ * 取消:仅关闭弹窗,保留已检测到的可用更新。
+ * 顶部栏 / 关于页的圆点徽标会继续提示,再次点击「检查更新」可重新打开弹窗。
+ */
function cancel() {
- void discard()
+ modalOpen.value = false
}
/** 忽略该版本(持久化,静默检查不再提示) */
diff --git a/src/types/components.d.ts b/src/types/components.d.ts
index 8a0af41..fdae036 100644
--- a/src/types/components.d.ts
+++ b/src/types/components.d.ts
@@ -11,6 +11,7 @@ export {}
/* prettier-ignore */
declare module 'vue' {
export interface GlobalComponents {
+ ABadge: typeof import('ant-design-vue/es')['Badge']
AButton: typeof import('ant-design-vue/es')['Button']
ACard: typeof import('ant-design-vue/es')['Card']
ACol: typeof import('ant-design-vue/es')['Col']
diff --git a/src/views/setting/About.vue b/src/views/setting/About.vue
index 2013a3d..17f1584 100644
--- a/src/views/setting/About.vue
+++ b/src/views/setting/About.vue
@@ -48,9 +48,11 @@
{{ t("about.currentVersion") }}
v{{ version }}
-
- {{ t("about.checkUpdate") }}
-
+
+
+ {{ t("about.checkUpdate") }}
+
+
{{ t("about.newVersion", { version: updateStore.info?.version }) }}