fix:修复bug

This commit is contained in:
2025-10-14 19:20:26 +08:00
parent 30e298d9d2
commit 4408673438
21 changed files with 1153 additions and 549 deletions
+58 -17
View File
@@ -88,6 +88,17 @@
<uni-icons type="right" size="16" color="#999"></uni-icons>
</view>
</view>
<view class="function-item" @click="doLogout()">
<view class="item-left">
<view class="item-icon">
<image src="/static/logout.png" mode="aspectFit"></image>
</view>
<text class="item-title">退出登录</text>
</view>
<view class="item-right">
<uni-icons type="right" size="16" color="#999"></uni-icons>
</view>
</view>
</view>
<!--
@@ -107,7 +118,7 @@
</view>
</view> -->
<!-- <u-popup ref="authPopup" mode="center" border-radius="15" width="600rpx" @open="onPopupOpen" @close="onPopupClose">
<!-- <u-popup ref="authPopup" mode="center" border-radius="15" width="600rpx" @open="onPopupOpen" @close="onPopupClose">
<view class="auth-popup">
<view class="auth-title">授权登录</view>
<view class="auth-desc">获取您的微信头像昵称等公开信息</view>
@@ -131,6 +142,9 @@
wxLogin,
getUserInfo
} from '../../util/index.js';
import {
userLogout
} from '@/config/user.js'
// 响应式状态
const userInfo = ref({});
@@ -147,16 +161,13 @@
// 获取用户信息
const getInfo = async () => {
try {
const token = uni.getStorageSync('token');
if (!token) {
redirectToLogin()
return
}
const res = await getUserInfo();
console.log('User info response:', res);
if (res.code == 200) {
if (res.code == 401 || res.code == 40101) {
redirectToLogin()
return
} else if (res.code == 200) {
// 保存openId
if (res.data.openId) {
openId.value = res.data.openId;
@@ -188,11 +199,16 @@
const pages = getCurrentPages()
const current = pages && pages.length ? pages[pages.length - 1] : null
const route = current && current.route ? ('/' + current.route) : '/pages/index/index'
const query = current && current.options ? Object.keys(current.options).map(k => `${k}=${encodeURIComponent(current.options[k])}`).join('&') : ''
const query = current && current.options ? Object.keys(current.options).map(k =>
`${k}=${encodeURIComponent(current.options[k])}`).join('&') : ''
const redirect = encodeURIComponent(query ? `${route}?${query}` : route)
uni.reLaunch({ url: `/pages/login/index?redirect=${redirect}` })
uni.reLaunch({
url: `/pages/login/index?redirect=${redirect}`
})
} catch (e) {
uni.reLaunch({ url: '/pages/login/index' })
uni.reLaunch({
url: '/pages/login/index'
})
}
}
@@ -345,6 +361,31 @@
// 只处理11位手机号
return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
}
const doLogout = async () => {
uni.showModal({
title: '提示',
content: '确定要退出登录吗?',
success: async (res) => {
if (res.confirm) {
const response = await userLogout();
if (response.code == 200) {
uni.showToast({
title:'退出成功',
icon:'none'
})
setTimeout(() => {
uni.removeStorageSync('token');
uni.removeStorageSync('userInfo');
uni.redirectTo({
url: '/pages/login/index'
})
}, 1500)
}
}
}
})
}
</script>
<style lang="scss" scoped>
@@ -357,11 +398,11 @@
/* Header Section */
.header-section {
padding: 40rpx;
background: linear-gradient(135deg, #4facfe, #00f2fe);
background: linear-gradient(135deg, #07c160, #05a14e);
position: relative;
border-radius: 0 0 30rpx 30rpx;
margin-bottom: 20rpx;
box-shadow: 0 10rpx 30rpx rgba(79, 172, 254, 0.2);
box-shadow: 0 10rpx 30rpx rgba(7, 193, 96, 0.25);
}
.user-profile {
@@ -437,11 +478,11 @@
.balance-amount {
font-size: 48rpx;
font-weight: 600;
color: #4facfe;
color: #07c160;
}
.action-button {
background: linear-gradient(135deg, #4facfe, #00f2fe);
background: linear-gradient(135deg, #07c160, #05a14e);
border-radius: 40rpx;
height: 80rpx;
display: flex;
@@ -451,7 +492,7 @@
color: white;
font-weight: 500;
font-size: 30rpx;
box-shadow: 0 8rpx 16rpx rgba(79, 172, 254, 0.2);
box-shadow: 0 8rpx 16rpx rgba(7, 193, 96, 0.25);
&:active {
opacity: 0.9;
@@ -566,7 +607,7 @@
}
.confirm-btn {
background: linear-gradient(135deg, #4facfe, #00f2fe);
background: linear-gradient(135deg, #07c160, #05a14e);
color: white;
}
</style>