This commit is contained in:
2025-09-05 22:43:39 +08:00
parent 913c2ba036
commit dba965344a
9 changed files with 432 additions and 396 deletions
+10 -68
View File
@@ -144,13 +144,6 @@
import { reactive, ref, onMounted, computed } from 'vue'
import { uploadImage } from '@/http/api/common.js'
import { updateUserInfo } from '@/http/api/profile.js'
import {
getCurrentLoginStep,
isLoginCompleted,
checkAndResumeLogin,
saveWxLoginData,
clearTempLoginData
} from '@/utils/loginState.js'
export default {
name: 'ProfilePage',
@@ -189,30 +182,16 @@ export default {
// 方法定义
const initPage = () => {
checkLogin()
loadUserInfo()
loadUserStats()
}
const checkLogin = () => {
// 检查登录状态(仅用于显示,不强制跳转)
console.log('Profile页面登录状态检查')
const currentStep = getCurrentLoginStep()
console.log('当前登录步骤:', currentStep)
// 不再自动跳转,让用户自主选择是否登录
// 登录状态会在调用需要鉴权的接口时自动处理
// 检查是否已完成登录
if (isLoginCompleted()) {
const savedUserInfo = uni.getStorageSync('userInfo')
if (savedUserInfo) {
userInfo.value = savedUserInfo
calculateLoginDays()
// 清理临时登录数据
clearTempLoginData()
}
const loadUserInfo = () => {
// 尝试从本地存储加载用户信息
const savedUserInfo = uni.getStorageSync('userInfo')
if (savedUserInfo) {
userInfo.value = savedUserInfo
calculateLoginDays()
}
}
@@ -289,46 +268,8 @@ export default {
}
const handleUserAction = () => {
if (userInfo.value.nickName) {
// 已登录,跳转到个人信息设置
navigateTo('/pages/profile/user-info')
} else {
// 未登录,执行登录
wxLogin()
}
}
const wxLogin = () => {
uni.login({
provider: 'weixin',
success: (res) => {
console.log('登录成功', res)
// 使用状态管理工具保存微信登录数据
saveWxLoginData(res)
calculateLoginDays()
uni.showToast({
title: '登录成功',
icon: 'success',
duration: 1500
})
// 跳转到手机号授权页面
setTimeout(() => {
uni.navigateTo({
url: '/pages/auth/phone-auth'
})
}, 1500)
},
fail: (err) => {
console.error('登录失败', err)
uni.showToast({
title: '登录失败,请重试',
icon: 'none'
})
}
})
// 直接跳转到个人信息设置,如果需要登录会在API调用时自动处理
navigateTo('/pages/profile/user-info')
}
// 统一的页面导航方法
@@ -427,6 +368,7 @@ export default {
petStats,
familyStats,
adoptionStats,
loadUserInfo,
handleUserAction,
navigateTo,
navigateToFamily,
+1 -21
View File
@@ -231,28 +231,9 @@ export default {
// 生命周期
onMounted(() => {
initPageMode()
validateLoginState()
loadUserInfo()
})
// 验证登录状态
const validateLoginState = () => {
if (isSetupMode.value) {
// 首次设置模式需要验证登录状态
console.log('个人信息设置页面状态验证')
// 检查是否有有效的登录状态
const currentStep = uni.getStorageSync(STORAGE_KEYS.LOGIN_STEP)
if (!currentStep || currentStep === 'not_logged') {
console.warn('无效的登录状态,返回profile页面')
uni.reLaunch({
url: '/pages/profile/profile'
})
return
}
}
}
// 方法定义
const initPageMode = () => {
// 获取页面参数
@@ -548,8 +529,7 @@ export default {
// 新增的模式相关变量和方法
isSetupMode,
phoneSkipped,
skipSetup,
validateLoginState
skipSetup
}
}
}