优化获取昵称修改状态的时机
This commit is contained in:
@@ -82,7 +82,7 @@ export interface UserInfoType {
|
||||
// 微信授权登录
|
||||
// phone_code: 可选参数,如果提供则绑定手机号,否则只进行微信授权
|
||||
export const wechat_auth_login = async (
|
||||
phone_code?: string,
|
||||
phone_code?: string
|
||||
): Promise<LoginResponse> => {
|
||||
try {
|
||||
// 先进行微信登录获取code
|
||||
@@ -144,7 +144,7 @@ export interface ChangePhoneParams {
|
||||
|
||||
// 手机号验证码登录
|
||||
export const phone_auth_login = async (
|
||||
params: PhoneLoginParams,
|
||||
params: PhoneLoginParams
|
||||
): Promise<LoginResponse> => {
|
||||
try {
|
||||
// 使用 httpService 调用验证验证码接口
|
||||
@@ -158,6 +158,7 @@ export const phone_auth_login = async (
|
||||
// 登录成功后,更新用户信息到 store
|
||||
try {
|
||||
await useUser.getState().fetchUserInfo();
|
||||
await useUser.getState().checkNicknameChangeStatus();
|
||||
} catch (error) {
|
||||
console.error("更新用户信息到 store 失败:", error);
|
||||
}
|
||||
@@ -216,7 +217,7 @@ export const send_sms_code = async (phone: string): Promise<SmsResponse> => {
|
||||
// 验证短信验证码
|
||||
export const verify_sms_code = async (
|
||||
phone: string,
|
||||
code: string,
|
||||
code: string
|
||||
): Promise<VerifyCodeResponse> => {
|
||||
try {
|
||||
const response = await httpService.post("user/sms/verify", {
|
||||
@@ -378,8 +379,6 @@ export const refresh_login_status = async (): Promise<boolean> => {
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
// 更新用户手机号
|
||||
export const updateUserPhone = async (payload: ChangePhoneParams) => {
|
||||
try {
|
||||
@@ -389,13 +388,17 @@ export const updateUserPhone = async (payload: ChangePhoneParams) => {
|
||||
console.error("更新用户手机号失败:", error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
};
|
||||
// 获取指定用户信息
|
||||
export const getUserInfoById = async (id) => {
|
||||
try {
|
||||
const response = await httpService.post("/user/detail_by_id", { id }, {
|
||||
showLoading: false,
|
||||
},);
|
||||
const response = await httpService.post(
|
||||
"/user/detail_by_id",
|
||||
{ id },
|
||||
{
|
||||
showLoading: false,
|
||||
}
|
||||
);
|
||||
return response;
|
||||
} catch (error) {
|
||||
console.error("获取用户信息失败:", error);
|
||||
@@ -436,13 +439,13 @@ let silentLoginPromise: Promise<LoginResponse> | null = null;
|
||||
export const silentLogin = async (): Promise<LoginResponse> => {
|
||||
// 如果已经有正在进行的静默登录,直接返回该 Promise
|
||||
if (silentLoginPromise) {
|
||||
console.log('静默登录正在进行中,等待结果...');
|
||||
console.log("静默登录正在进行中,等待结果...");
|
||||
return silentLoginPromise;
|
||||
}
|
||||
|
||||
// 先检查是否已经登录
|
||||
if (check_login_status()) {
|
||||
console.log('已登录,跳过静默登录');
|
||||
console.log("已登录,跳过静默登录");
|
||||
return {
|
||||
success: true,
|
||||
message: "已登录",
|
||||
@@ -454,13 +457,13 @@ export const silentLogin = async (): Promise<LoginResponse> => {
|
||||
// 创建静默登录 Promise
|
||||
silentLoginPromise = (async (): Promise<LoginResponse> => {
|
||||
try {
|
||||
console.log('开始执行静默登录...');
|
||||
console.log("开始执行静默登录...");
|
||||
// 调用微信登录获取code
|
||||
const login_result = await Taro.login();
|
||||
console.log('微信登录结果:', login_result);
|
||||
console.log("微信登录结果:", login_result);
|
||||
|
||||
if (!login_result.code) {
|
||||
console.error('微信登录失败:未获取到code');
|
||||
console.error("微信登录失败:未获取到code");
|
||||
return {
|
||||
success: false,
|
||||
message: "微信登录失败",
|
||||
@@ -468,15 +471,19 @@ export const silentLogin = async (): Promise<LoginResponse> => {
|
||||
}
|
||||
|
||||
// 调用微信授权接口,不传 phone_code(静默登录)
|
||||
console.log('调用后端接口进行静默登录...');
|
||||
const auth_response = await httpService.post("user/wx_auth", {
|
||||
code: login_result.code,
|
||||
// 不传 phone_code,实现静默登录
|
||||
}, {
|
||||
showLoading: false, // 静默登录不显示loading
|
||||
});
|
||||
console.log("调用后端接口进行静默登录...");
|
||||
const auth_response = await httpService.post(
|
||||
"user/wx_auth",
|
||||
{
|
||||
code: login_result.code,
|
||||
// 不传 phone_code,实现静默登录
|
||||
},
|
||||
{
|
||||
showLoading: false, // 静默登录不显示loading
|
||||
}
|
||||
);
|
||||
|
||||
console.log('后端接口响应:', auth_response);
|
||||
console.log("后端接口响应:", auth_response);
|
||||
|
||||
if (auth_response.code === 0) {
|
||||
const token = auth_response.data?.token || "";
|
||||
@@ -484,11 +491,11 @@ export const silentLogin = async (): Promise<LoginResponse> => {
|
||||
|
||||
// 保存登录状态
|
||||
if (token && user_info) {
|
||||
console.log('保存登录状态...');
|
||||
console.log("保存登录状态...");
|
||||
save_login_state(token, user_info);
|
||||
console.log('静默登录成功,已保存登录状态');
|
||||
console.log("静默登录成功,已保存登录状态");
|
||||
} else {
|
||||
console.warn('静默登录成功,但token或user_info为空');
|
||||
console.warn("静默登录成功,但token或user_info为空");
|
||||
}
|
||||
|
||||
return {
|
||||
@@ -498,7 +505,7 @@ export const silentLogin = async (): Promise<LoginResponse> => {
|
||||
user_info,
|
||||
};
|
||||
} else {
|
||||
console.error('静默登录失败:', auth_response.message);
|
||||
console.error("静默登录失败:", auth_response.message);
|
||||
return {
|
||||
success: false,
|
||||
message: auth_response.message || "静默登录失败",
|
||||
@@ -517,4 +524,4 @@ export const silentLogin = async (): Promise<LoginResponse> => {
|
||||
})();
|
||||
|
||||
return silentLoginPromise;
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user