feat: 更新 AI 页面与个人资料菜单
- 修改 AI 页面标题为 "AI 建议" 和 "AI 总结" - 在个人资料页面添加 AI 建议和总结的导航项 - 优化 AI 页面结构,移除不必要的加载状态和元素 - 更新样式以提升用户体验
This commit is contained in:
+46
-44
@@ -7,6 +7,24 @@
|
||||
|
||||
<view class="section">
|
||||
<view class="menu-list">
|
||||
<view class="menu-item" @tap="goAISuggest">
|
||||
<view class="menu-icon menu-icon-green">🤖</view>
|
||||
<view class="menu-content">
|
||||
<text class="menu-label">AI 建议</text>
|
||||
<text class="menu-desc">查看今日 AI 控烟节奏与建议节点</text>
|
||||
</view>
|
||||
<text class="menu-arrow">›</text>
|
||||
</view>
|
||||
|
||||
<view class="menu-item" @tap="goAISummary">
|
||||
<view class="menu-icon menu-icon-green">📝</view>
|
||||
<view class="menu-content">
|
||||
<text class="menu-label">AI 总结</text>
|
||||
<text class="menu-desc">按日期生成抽烟总结和明日建议</text>
|
||||
</view>
|
||||
<text class="menu-arrow">›</text>
|
||||
</view>
|
||||
|
||||
<view class="menu-item">
|
||||
<view class="menu-icon menu-icon-green">🔗</view>
|
||||
<view class="menu-content">
|
||||
@@ -24,7 +42,7 @@
|
||||
</view>
|
||||
|
||||
<view class="menu-item" @tap="goOnboarding">
|
||||
<view class="menu-icon menu-icon-green">📝</view>
|
||||
<view class="menu-icon menu-icon-green">📋</view>
|
||||
<view class="menu-content">
|
||||
<text class="menu-label">重新填写问卷</text>
|
||||
<text class="menu-desc">修改吸烟基线与个人信息</text>
|
||||
@@ -53,18 +71,14 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="logout-btn" @tap="logout">
|
||||
<text class="logout-text">退出登录</text>
|
||||
</view>
|
||||
|
||||
<text class="version">版本 1.0.0</text>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { computed, onMounted, ref } from 'vue'
|
||||
import { onShareAppMessage } from '@dcloudio/uni-app'
|
||||
import { createShare } from '@/api'
|
||||
import { computed, ref } from 'vue'
|
||||
import { onShareAppMessage, onShow } from '@dcloudio/uni-app'
|
||||
import * as api from '@/api'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { useLogin } from '@/hooks/useLogin'
|
||||
|
||||
@@ -108,7 +122,7 @@ async function prepareShareToken(showToast = false) {
|
||||
if (shareLoading.value) return
|
||||
shareLoading.value = true
|
||||
try {
|
||||
const res = await createShare({ days: 7 })
|
||||
const res = await api.createShare({ days: 7 })
|
||||
shareToken.value = res.data?.share_token || ''
|
||||
shareExpireAt.value = res.data?.expire_at || ''
|
||||
if (showToast) {
|
||||
@@ -138,6 +152,14 @@ function previewSharePage() {
|
||||
})
|
||||
}
|
||||
|
||||
function goAISuggest() {
|
||||
uni.navigateTo({ url: '/pages/ai/index' })
|
||||
}
|
||||
|
||||
function goAISummary() {
|
||||
uni.navigateTo({ url: '/pages/ai-summary/index' })
|
||||
}
|
||||
|
||||
function goOnboarding() {
|
||||
uni.navigateTo({ url: '/pages/onboarding/index' })
|
||||
}
|
||||
@@ -168,19 +190,6 @@ function copyInfo() {
|
||||
})
|
||||
}
|
||||
|
||||
function logout() {
|
||||
uni.showModal({
|
||||
title: '确认退出',
|
||||
content: '确定要退出登录吗?',
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
userStore.logout()
|
||||
uni.reLaunch({ url: '/pages/index/index' })
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
onShareAppMessage(() => {
|
||||
return {
|
||||
title: `${userName.value}的戒烟记录(仅查看)`,
|
||||
@@ -188,7 +197,7 @@ onShareAppMessage(() => {
|
||||
}
|
||||
})
|
||||
|
||||
onMounted(async () => {
|
||||
onShow(async () => {
|
||||
await waitForLogin()
|
||||
await prepareShareToken(false)
|
||||
})
|
||||
@@ -225,7 +234,9 @@ onMounted(async () => {
|
||||
color: #111827;
|
||||
}
|
||||
|
||||
.section { margin-bottom: 24rpx; }
|
||||
.section {
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.menu-list {
|
||||
display: flex;
|
||||
@@ -254,8 +265,13 @@ onMounted(async () => {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.menu-icon-green { background-color: #DCFCE7; }
|
||||
.menu-icon-gray { background-color: #F3F4F6; }
|
||||
.menu-icon-green {
|
||||
background-color: #DCFCE7;
|
||||
}
|
||||
|
||||
.menu-icon-gray {
|
||||
background-color: #F3F4F6;
|
||||
}
|
||||
|
||||
.menu-content {
|
||||
flex: 1;
|
||||
@@ -304,33 +320,19 @@ onMounted(async () => {
|
||||
font-size: 24rpx;
|
||||
border: none;
|
||||
border-radius: 999rpx;
|
||||
color: #ffffff;
|
||||
background: #10b981;
|
||||
color: #FFFFFF;
|
||||
background: #10B981;
|
||||
}
|
||||
|
||||
.share-btn[disabled] {
|
||||
background: #9ca3af;
|
||||
color: #ffffff;
|
||||
background: #9CA3AF;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.share-btn::after {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.logout-btn {
|
||||
text-align: center;
|
||||
padding: 28rpx;
|
||||
margin-top: 40rpx;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
border: 2rpx solid #FEE2E2;
|
||||
}
|
||||
|
||||
.logout-text {
|
||||
color: #EF4444;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.version {
|
||||
display: block;
|
||||
text-align: center;
|
||||
|
||||
Reference in New Issue
Block a user