WechatExplorer · LOCAL INTELLIGENCE
-
AI 智能检索
+
问问你的微信
在本地聊天记录中提炼主题、结论和可追溯证据
diff --git a/src/renderer/src/styles/chat.scss b/src/renderer/src/styles/chat.scss
index 6914cb7..2ad11b1 100644
--- a/src/renderer/src/styles/chat.scss
+++ b/src/renderer/src/styles/chat.scss
@@ -1178,15 +1178,106 @@
}
.database-login-workspace {
+ box-sizing: border-box;
display: grid;
- place-items: center;
+ align-items: start;
+ justify-items: center;
min-width: 0;
+ min-height: 0;
+ overflow-y: auto;
padding: 48px clamp(40px, 7vw, 96px);
background: #fff;
}
.database-login-panel {
width: min(520px, 100%);
+ margin: auto 0;
+}
+
+.database-login-start {
+ margin-bottom: 22px;
+
+ h2 {
+ margin: 0;
+ color: var(--login-text);
+ font-size: 22px;
+ line-height: 29px;
+ letter-spacing: -0.02em;
+ }
+
+ > p:not(.database-login-eyebrow) {
+ margin: 7px 0 18px;
+ color: var(--login-muted);
+ font-size: 12px;
+ line-height: 18px;
+ }
+
+ ol {
+ display: grid;
+ gap: 9px;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ }
+
+ li {
+ display: flex;
+ align-items: flex-start;
+ gap: 10px;
+ color: #35423d;
+
+ > span {
+ width: 20px;
+ height: 20px;
+ flex: 0 0 20px;
+ display: grid;
+ place-items: center;
+ border-radius: 50%;
+ color: var(--login-primary-dark);
+ background: #e2f0eb;
+ font-size: 11px;
+ font-weight: 700;
+ }
+
+ strong,
+ small {
+ display: block;
+ }
+
+ strong {
+ font-size: 12px;
+ line-height: 17px;
+ }
+
+ small {
+ margin-top: 1px;
+ color: var(--login-muted);
+ font-size: 11px;
+ line-height: 16px;
+ }
+ }
+}
+
+.database-login-eyebrow {
+ margin: 0 0 5px;
+ color: var(--login-primary);
+ font-size: 11px;
+ font-weight: 700;
+ letter-spacing: 0.08em;
+ text-transform: uppercase;
+}
+
+.database-login-guide-link {
+ display: inline-block;
+ margin-top: 15px;
+ color: var(--login-primary);
+ font-size: 11px;
+ line-height: 17px;
+ text-decoration: none;
+}
+
+.database-login-guide-link:hover {
+ text-decoration: underline;
}
.database-login-tabs {
@@ -1217,6 +1308,16 @@
box-shadow: 0 1px 3px rgba(24, 28, 27, 0.08);
}
+.database-login-tabs .database-login-manual-tab {
+ color: #7a8580;
+ font-size: 11px;
+ font-weight: 500;
+}
+
+.database-login-tabs .database-login-manual-tab.active {
+ color: #58645f;
+}
+
.database-login-state-card {
padding: 18px;
border: 1px solid var(--login-border);
@@ -1396,6 +1497,33 @@
text-decoration: none;
}
+.database-login-platform-note {
+ margin: 12px 0 0;
+ color: #77817d;
+ font-size: 11px;
+ line-height: 17px;
+ text-align: center;
+}
+
+.database-login-platform-note a {
+ color: var(--login-primary);
+ text-decoration: none;
+}
+
+.database-login-platform-note a:hover {
+ text-decoration: underline;
+}
+
+.database-login-manual-note {
+ margin: 0 0 20px;
+ padding: 10px 12px;
+ border-radius: 7px;
+ color: #65706b;
+ background: var(--login-surface-low);
+ font-size: 11px;
+ line-height: 17px;
+}
+
.database-login-manual {
padding-top: 2px;
}
diff --git a/src/renderer/src/styles/foundation.scss b/src/renderer/src/styles/foundation.scss
index 84eead1..161dc5a 100644
--- a/src/renderer/src/styles/foundation.scss
+++ b/src/renderer/src/styles/foundation.scss
@@ -144,6 +144,56 @@ body {
-webkit-app-region: no-drag;
}
+.app-guide-launcher {
+ box-sizing: border-box;
+ width: 100%;
+ min-height: 52px;
+ flex: 0 0 auto;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 3px;
+ margin: 0 0 8px;
+ padding: 5px 0;
+ border: 0;
+ border-radius: var(--wxex-radius-md);
+ color: var(--wxex-text-secondary);
+ background: transparent;
+ cursor: pointer;
+ font-family: var(--wxex-font);
+ -webkit-app-region: no-drag;
+
+ &:hover {
+ color: var(--wxex-brand);
+ background: var(--wxex-brand-soft);
+ }
+}
+
+.app-guide-launcher-icon {
+ width: 22px;
+ height: 22px;
+ display: grid;
+ place-items: center;
+
+ svg {
+ width: 20px;
+ height: 20px;
+ fill: none;
+ stroke: currentColor;
+ stroke-width: 1.7;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ }
+}
+
+.app-guide-launcher-label {
+ font-size: 11px;
+ line-height: 15px;
+ font-weight: 600;
+ white-space: nowrap;
+}
+
.account-summary {
box-sizing: border-box;
width: 100%;
diff --git a/src/renderer/src/styles/shell-overlays.scss b/src/renderer/src/styles/shell-overlays.scss
index 43719c9..09340c9 100644
--- a/src/renderer/src/styles/shell-overlays.scss
+++ b/src/renderer/src/styles/shell-overlays.scss
@@ -137,6 +137,244 @@
transition: width 0.18s ease-out;
}
+/* 首次连接成功后的下一步引导 */
+.first-use-welcome-overlay {
+ position: fixed;
+ inset: 0;
+ z-index: 1200;
+ display: grid;
+ place-items: center;
+ padding: 24px;
+ background: rgba(16, 27, 23, 0.42);
+ backdrop-filter: blur(4px);
+ animation: settings-fade-in 0.16s ease-out;
+}
+
+.first-use-welcome {
+ position: relative;
+ width: min(520px, 100%);
+ padding: 34px;
+ border: 1px solid rgba(203, 222, 214, 0.9);
+ border-radius: 18px;
+ background: #fff;
+ box-shadow: 0 24px 70px rgba(16, 35, 28, 0.24);
+ animation: settings-pop-in 0.18s ease-out;
+}
+
+.first-use-welcome-close {
+ position: absolute;
+ top: 14px;
+ right: 16px;
+ width: 30px;
+ height: 30px;
+ border: 0;
+ border-radius: 50%;
+ color: #7c8882;
+ background: transparent;
+ cursor: pointer;
+ font-size: 23px;
+ line-height: 1;
+}
+
+.first-use-welcome-close:hover {
+ color: #26342d;
+ background: #f0f4f1;
+}
+
+.first-use-welcome-mark {
+ width: 42px;
+ height: 42px;
+ display: grid;
+ place-items: center;
+ margin-bottom: 18px;
+ border-radius: 13px;
+ color: #fff;
+ background: linear-gradient(135deg, #176b57, #42a27f);
+ box-shadow: 0 7px 16px rgba(23, 107, 87, 0.22);
+ font-size: 22px;
+}
+
+.first-use-welcome-eyebrow {
+ margin: 0 0 5px;
+ color: #247a63;
+ font-size: 11px;
+ font-weight: 700;
+ letter-spacing: 0.08em;
+}
+
+.first-use-welcome h2 {
+ margin: 0;
+ color: #1f2c26;
+ font-size: 25px;
+ line-height: 34px;
+ letter-spacing: -0.025em;
+}
+
+.first-use-welcome-lead {
+ margin: 8px 0 24px;
+ color: #66756d;
+ font-size: 13px;
+ line-height: 21px;
+}
+
+.first-use-welcome-actions {
+ display: grid;
+ gap: 9px;
+}
+
+.first-use-welcome-feature {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 18px;
+ width: 100%;
+ padding: 17px 16px;
+ border: 1px solid #247a63;
+ border-radius: 12px;
+ color: #fff;
+ background: linear-gradient(135deg, #247a63, #176b57);
+ cursor: pointer;
+ text-align: left;
+ transition:
+ border-color 0.15s ease,
+ background 0.15s ease,
+ transform 0.15s ease;
+
+ &:hover {
+ border-color: #00604c;
+ background: linear-gradient(135deg, #176b57, #00604c);
+ transform: translateY(-1px);
+ }
+}
+
+.first-use-welcome-feature-icon {
+ width: 34px;
+ height: 34px;
+ flex: 0 0 34px;
+ display: grid;
+ place-items: center;
+ border-radius: 10px;
+ color: #176b57;
+ background: #fff;
+ font-size: 18px;
+}
+
+.first-use-welcome-feature-copy {
+ min-width: 0;
+ flex: 1;
+}
+
+.first-use-welcome-feature-arrow {
+ flex: 0 0 auto;
+ font-size: 11px;
+ font-weight: 650;
+ white-space: nowrap;
+}
+
+.first-use-welcome-feature-copy strong,
+.first-use-welcome-feature-copy small {
+ display: block;
+}
+
+.first-use-welcome-feature-copy strong {
+ font-size: 14px;
+ line-height: 20px;
+}
+
+.first-use-welcome-feature-copy small {
+ margin-top: 2px;
+ color: rgba(255, 255, 255, 0.76);
+ font-size: 11px;
+ line-height: 16px;
+}
+
+.first-use-welcome-secondary-actions {
+ display: flex;
+ gap: 22px;
+ margin: 16px 0 22px;
+}
+
+.first-use-welcome-secondary-actions button {
+ padding: 0;
+ border: 0;
+ color: #53645b;
+ background: transparent;
+ cursor: pointer;
+ font-size: 12px;
+}
+
+.first-use-welcome-secondary-actions button:hover {
+ color: #247a63;
+ text-decoration: underline;
+}
+
+.first-use-welcome-footer {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 16px;
+ margin-top: 23px;
+ padding-top: 16px;
+ border-top: 1px solid #edf1ef;
+
+ span,
+ button,
+ a {
+ color: #68766f;
+ background: transparent;
+ font-size: 11px;
+ text-decoration: none;
+ }
+
+ button {
+ padding: 0;
+ border: 0;
+ cursor: pointer;
+ }
+
+ button:hover,
+ a:hover {
+ color: #247a63;
+ text-decoration: underline;
+ }
+}
+
+@media (max-width: 640px), (max-height: 560px) {
+ .first-use-welcome-overlay {
+ display: block;
+ overflow: auto;
+ padding: 18px;
+ }
+
+ .first-use-welcome {
+ width: auto;
+ margin: 0 auto;
+ padding: 26px 22px 22px;
+ }
+
+ .first-use-welcome h2 {
+ font-size: 22px;
+ line-height: 29px;
+ }
+
+ .first-use-welcome-feature {
+ align-items: flex-start;
+ flex-wrap: wrap;
+ gap: 10px;
+ }
+
+ .first-use-welcome-feature-arrow {
+ width: 100%;
+ margin-left: 44px;
+ }
+
+ .first-use-welcome-footer {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 9px;
+ }
+}
+
/* 设置面板 */
.settings-overlay {
position: fixed;