diff --git a/src/pages/logs/index.vue b/src/pages/logs/index.vue
index f60b813..e43153a 100644
--- a/src/pages/logs/index.vue
+++ b/src/pages/logs/index.vue
@@ -1,18 +1,9 @@
-
-
- 记录时间线
- 按时间回看真实抽烟节奏
-
-
- +
- 记录
-
-
+
-
+
{
+ setupNavBar()
initPage()
})
@@ -356,56 +360,13 @@ onShareAppMessage(() => {
display: flex;
flex-direction: column;
background:
- radial-gradient(circle at 10% 0%, rgba(103, 232, 249, 0.16), transparent 32%),
linear-gradient(180deg, #F6F8F6 0%, #EFF4F1 54%, #E9F0EC 100%);
padding: 0 32rpx;
box-sizing: border-box;
}
-.page-head {
- flex-shrink: 0;
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 24rpx;
- padding: 34rpx 0 18rpx;
-}
-
-.page-title {
- display: block;
- font-size: 42rpx;
- line-height: 1.2;
- font-weight: 900;
- color: #1E293B;
-}
-
-.page-subtitle {
- display: block;
- margin-top: 8rpx;
- font-size: 23rpx;
- line-height: 1.45;
- color: #64748B;
-}
-
-.head-action {
- flex-shrink: 0;
- height: 62rpx;
- padding: 0 20rpx;
- display: flex;
- align-items: center;
- gap: 8rpx;
- border-radius: 999rpx;
- background: linear-gradient(135deg, #10B981, #06B6D4);
- box-shadow: 0 12rpx 28rpx rgba(16, 185, 129, 0.18);
- color: #FFFFFF;
- font-size: 23rpx;
- font-weight: 900;
-}
-
-.head-action-plus {
- font-size: 32rpx;
- line-height: 1;
- font-weight: 700;
+.status-bar {
+ background: transparent;
}
.filters-sticky {
@@ -420,7 +381,12 @@ onShareAppMessage(() => {
left: 32rpx;
right: 32rpx;
z-index: 50;
- margin: 8rpx 0 0;
+ padding-top: 8rpx;
+ padding-bottom: 14rpx;
+ background: rgba(246, 248, 246, 0.9);
+ box-sizing: border-box;
+ -webkit-backdrop-filter: blur(14px);
+ backdrop-filter: blur(14px);
}
.tabs {
diff --git a/src/pages/profile/index.vue b/src/pages/profile/index.vue
index 4a7d720..2323e87 100644
--- a/src/pages/profile/index.vue
+++ b/src/pages/profile/index.vue
@@ -1,5 +1,6 @@
+
@@ -30,7 +31,7 @@
点击头像或昵称可修改
{{ modeText }}
- {{ shareToken ? '分享已启用' : '分享未生成' }}
+ {{ achievementTitle }}
@@ -41,19 +42,14 @@
@@ -357,6 +582,15 @@ onShow(async () => {
box-sizing: border-box;
}
+.poster-canvas {
+ position: fixed;
+ left: -9999px;
+ top: -9999px;
+ width: 750px;
+ height: 1334px;
+ pointer-events: none;
+}
+
.page-bg {
position: absolute;
top: 0;
@@ -551,24 +785,6 @@ onShow(async () => {
color: #999999;
}
-.menu-actions {
- margin-top: 8rpx;
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- gap: 12rpx;
- font-size: 24rpx;
-}
-
-.menu-action {
- color: #10B981;
- font-weight: 500;
-}
-
-.menu-action-sep {
- color: #D4D4D4;
-}
-
.share-btn {
margin: 0;
padding: 12rpx 32rpx;
diff --git a/src/pages/stats/index.vue b/src/pages/stats/index.vue
index 647b301..58a14c2 100644
--- a/src/pages/stats/index.vue
+++ b/src/pages/stats/index.vue
@@ -2,19 +2,8 @@
-
-
- 数据分析
- 少抽趋势、节省金额和健康恢复进度
-
-
- {{ statusArrow }}
- {{ statusText }}
-
-
-
-
+
{
return `${formatRangeText(start, end)} · 固定展示最近 7 天`
})
-const statusText = computed(() => {
- if (changePercent.value === null) return '暂无对比'
- const sign = changePercent.value > 0 ? '+' : ''
- return `较上期 ${sign}${changePercent.value}%`
-})
-
-const statusChipClass = computed(() => {
- if (changePercent.value === null) return 'chip-neutral'
- return changePercent.value <= 0 ? 'chip-good' : 'chip-warn'
-})
-
-const statusArrow = computed(() => {
- if (changePercent.value === null) return '→'
- return changePercent.value <= 0 ? '↓' : '↑'
-})
-
-const statusIconClass = computed(() => {
- if (changePercent.value === null) return 'arrow-neutral'
- return changePercent.value <= 0 ? 'arrow-good' : 'arrow-warn'
-})
-
-const averageCount = computed(() => {
- const avg = statsData.value?.daily_average
- if (avg === undefined || avg === null) return 0
- return Number(avg) || 0
-})
-
const weeklyAverageCount = computed(() => {
const avg = weeklyStatsData.value?.daily_average
if (avg === undefined || avg === null) return 0
@@ -509,7 +471,8 @@ onShareAppMessage(() => {
/* ── 页面 ── */
.page {
min-height: 100vh;
- background: linear-gradient(180deg, #E6F7F2 0%, #F0FBF7 40%, #FAFFFE 100%);
+ background:
+ linear-gradient(180deg, #F6F8F6 0%, #EFF4F1 52%, #E9F0EC 100%);
padding: 0 28rpx 0;
box-sizing: border-box;
}
@@ -518,55 +481,19 @@ onShareAppMessage(() => {
background: transparent;
}
-.page-head {
- display: flex;
- align-items: flex-end;
- justify-content: space-between;
- gap: 20rpx;
- margin: 10rpx 0 24rpx;
-}
-
-.page-title {
- display: block;
- font-size: 44rpx;
- font-weight: 800;
- line-height: 1.15;
- color: #0D3D2E;
-}
-
-.page-subtitle {
- display: block;
- margin-top: 8rpx;
- font-size: 23rpx;
- line-height: 1.5;
- color: #5D8F7C;
-}
-
-.head-chip {
- display: inline-flex;
- align-items: center;
- gap: 6rpx;
- flex-shrink: 0;
- padding: 10rpx 16rpx;
- border-radius: 999rpx;
- font-size: 21rpx;
- font-weight: 700;
- white-space: nowrap;
- border: 1.5rpx solid rgba(52, 200, 160, 0.12);
- background: rgba(255, 255, 255, 0.76);
-}
-
-.head-chip-arrow {
- font-size: 20rpx;
- font-weight: 800;
-}
-
/* ── Tab 切换 ── */
.segment-wrap {
- position: relative;
- height: 112rpx;
+ position: fixed;
+ left: 0;
+ right: 0;
+ height: 98rpx;
+ padding: 0 28rpx;
+ background: rgba(246, 248, 246, 0.9);
+ box-sizing: border-box;
flex-shrink: 0;
- z-index: 20;
+ z-index: 60;
+ -webkit-backdrop-filter: blur(14px);
+ backdrop-filter: blur(14px);
}
.segment {
@@ -584,7 +511,7 @@ onShareAppMessage(() => {
}
.segment::before {
- content: '';
+ content: none;
position: absolute;
inset: -12rpx -8rpx -10rpx;
border-radius: 34rpx;
@@ -609,6 +536,10 @@ onShareAppMessage(() => {
box-shadow: 0 4rpx 12rpx rgba(52, 200, 160, 0.12);
}
+.insight-card {
+ margin-top: 112rpx;
+}
+
/* ── 洞察卡片 ── */
.insight-card {
display: flex;
@@ -712,30 +643,6 @@ onShareAppMessage(() => {
display: block;
}
-.chip-good {
- background: rgba(52, 200, 160, 0.12);
- color: #1a8c62;
-}
-
-.chip-warn {
- background: rgba(251, 191, 36, 0.14);
- color: #B45309;
-}
-
-.chip-neutral {
- background: rgba(52, 200, 160, 0.06);
- color: #7aA898;
-}
-
-.status-arrow {
- font-size: 18rpx;
- font-weight: 700;
-}
-
-.arrow-good { color: #1a8c62; }
-.arrow-warn { color: #D97706; }
-.arrow-neutral { color: #7aA898; }
-
/* ── 日均 ── */
.avg-row {
display: flex;