1
This commit is contained in:
+10
-68
@@ -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,
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user