修改用户登陆认证流程
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import React, { useState, useEffect, useCallback } from "react";
|
||||
import { View } from "@tarojs/components";
|
||||
import Taro from "@tarojs/taro";
|
||||
import { check_login_status } from "@/services/loginService";
|
||||
import { check_login_status, silentLogin } from "@/services/loginService";
|
||||
import { useUserActions } from "@/store/userStore";
|
||||
import GuideBar from "@/components/GuideBar";
|
||||
import { withAuth, GeneralNavbar } from "@/components";
|
||||
import { GeneralNavbar } from "@/components";
|
||||
import HomeNavbar from "@/components/HomeNavbar";
|
||||
import ListPageContent from "./components/ListPageContent";
|
||||
import MessagePageContent from "./components/MessagePageContent";
|
||||
@@ -27,16 +27,32 @@ const MainPage: React.FC = () => {
|
||||
|
||||
const { fetchUserInfo } = useUserActions();
|
||||
|
||||
// 初始化:检查登录状态并获取用户信息
|
||||
// 初始化:尝试静默登录并获取用户信息
|
||||
useEffect(() => {
|
||||
const init = async () => {
|
||||
// 先检查是否已登录
|
||||
const login_status = check_login_status();
|
||||
if (login_status) {
|
||||
// 已登录,获取用户信息
|
||||
try {
|
||||
await fetchUserInfo();
|
||||
} catch (error) {
|
||||
console.error('获取用户信息失败:', error);
|
||||
}
|
||||
} else {
|
||||
// 未登录,尝试静默登录
|
||||
try {
|
||||
const loginResult = await silentLogin();
|
||||
if (loginResult.success) {
|
||||
// 静默登录成功,获取用户信息
|
||||
fetchUserInfo().catch((error) => {
|
||||
console.error('获取用户信息失败:', error);
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('静默登录失败:', error);
|
||||
// 静默登录失败不影响使用
|
||||
}
|
||||
}
|
||||
};
|
||||
init();
|
||||
@@ -213,5 +229,5 @@ const MainPage: React.FC = () => {
|
||||
);
|
||||
};
|
||||
|
||||
export default withAuth(MainPage);
|
||||
export default MainPage;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user