From 08ee0f7a806cd6a492e67352f4c6f18e96c733b9 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期日, 18 一月 2026 08:36:14 +0800
Subject: [PATCH] 退出登录
---
pages/home/home.vue | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 56 insertions(+), 3 deletions(-)
diff --git a/pages/home/home.vue b/pages/home/home.vue
index d5d955a..5ad6c58 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -62,7 +62,7 @@
<view class="divider-line"></view>
</view>
<view class="menu-grid-flat">
- <view class="menu-item-flat" v-for="(item, index) in uncategorizedMenus" :key="item.name"
+ <view class="menu-item-flat" v-for="(item, index) in uncategorizedMenus.filter(item => !excludeFromCategory.includes(item.name))" :key="item.name"
@click="navigateTo(item)" :style="{animationDelay: (index * 0.1) + 's'}">
<view class="menu-card-flat" :class="'card-flat-' + item.color">
<view class="card-flat-icon">
@@ -79,12 +79,30 @@
</view>
</view>
</view>
+
+ <!-- 閫�鍑虹櫥褰曟寜閽� - 濮嬬粓鏄剧ず鍦ㄥ簳閮� -->
+ <view class="logout-section" v-if="logoutMenu">
+ <view class="menu-item-flat" @click="navigateTo(logoutMenu)">
+ <view class="menu-card-flat card-flat-grey">
+ <view class="card-flat-icon">
+ <uni-icons :type="getIconType(logoutMenu)" size="28" color="#ffffff"></uni-icons>
+ </view>
+ <view class="card-flat-info">
+ <text class="card-flat-title">{{logoutMenu.title}}</text>
+ <text class="card-flat-desc">{{logoutMenu.name}}</text>
+ </view>
+ <view class="card-flat-arrow">
+ <uni-icons type="right" size="16" color="rgba(255,255,255,0.6)"></uni-icons>
+ </view>
+ </view>
+ </view>
+ </view>
</template>
<!-- 骞抽摵妯″紡锛氱洿鎺ユ樉绀烘墍鏈夎彍鍗� -->
<template v-else>
<view class="menu-grid-flat">
- <view class="menu-item-flat" v-for="(item, index) in elements" :key="item.name"
+ <view class="menu-item-flat" v-for="(item, index) in elements.filter(item => item.name !== 'logOut')" :key="item.name"
@click="navigateTo(item)" :style="{animationDelay: (index * 0.1) + 's'}">
<view class="menu-card-flat" :class="'card-flat-' + item.color">
<view class="card-flat-icon">
@@ -93,6 +111,24 @@
<view class="card-flat-info">
<text class="card-flat-title">{{item.title}}</text>
<text class="card-flat-desc">{{item.name}}</text>
+ </view>
+ <view class="card-flat-arrow">
+ <uni-icons type="right" size="16" color="rgba(255,255,255,0.6)"></uni-icons>
+ </view>
+ </view>
+ </view>
+ </view>
+
+ <!-- 閫�鍑虹櫥褰曟寜閽� - 濮嬬粓鏄剧ず鍦ㄥ簳閮� -->
+ <view class="logout-section" v-if="logoutMenu">
+ <view class="menu-item-flat" @click="navigateTo(logoutMenu)">
+ <view class="menu-card-flat card-flat-grey">
+ <view class="card-flat-icon">
+ <uni-icons :type="getIconType(logoutMenu)" size="28" color="#ffffff"></uni-icons>
+ </view>
+ <view class="card-flat-info">
+ <text class="card-flat-title">{{logoutMenu.title}}</text>
+ <text class="card-flat-desc">{{logoutMenu.name}}</text>
</view>
<view class="card-flat-arrow">
<uni-icons type="right" size="16" color="rgba(255,255,255,0.6)"></uni-icons>
@@ -292,8 +328,18 @@
});
return this.elements.filter(item =>
- !allCategorizedItems.has(item.name) || this.excludeFromCategory.includes(item.name)
+ (!allCategorizedItems.has(item.name) || this.excludeFromCategory.includes(item.name)) && item.name !== 'logOut'
);
+ },
+ // 閫�鍑虹櫥褰曡彍鍗�
+ logoutMenu() {
+ return this.elements.find(item => item.name === 'logOut') || {
+ title: '閫�鍑虹櫥褰�',
+ name: 'logOut',
+ color: 'grey',
+ cuIcon: 'exit',
+ url: '/login/logOut'
+ };
}
},
onShow() {
@@ -817,6 +863,13 @@
.card-flat-yellow { background: linear-gradient(135deg, #fbbd08 0%, #f37b1d 100%); }
.card-flat-grey { background: linear-gradient(135deg, #8799a3 0%, #606266 100%); }
+ /* 閫�鍑虹櫥褰曞尯鍩� */
+ .logout-section {
+ margin-top: 40rpx;
+ padding-top: 20rpx;
+ border-top: 2rpx solid #e4e7ed;
+ }
+
/* 搴曢儴 */
.footer {
padding: 40rpx 0 60rpx;
--
Gitblit v1.9.1