fix: fill users
This commit is contained in:
@@ -1,8 +1,6 @@
|
|||||||
import { createApi } from "@reduxjs/toolkit/query/react";
|
import { createApi } from "@reduxjs/toolkit/query/react";
|
||||||
// import toast from "react-hot-toast";
|
// import toast from "react-hot-toast";
|
||||||
import { KEY_UID } from "../config";
|
|
||||||
import baseQuery from "./base.query";
|
import baseQuery from "./base.query";
|
||||||
import { resetAuthData } from "../slices/auth.data";
|
|
||||||
import { updateMute } from "../slices/footprint";
|
import { updateMute } from "../slices/footprint";
|
||||||
import { fillUsers } from "../slices/users";
|
import { fillUsers } from "../slices/users";
|
||||||
import BASE_URL, { ContentTypes } from "../config";
|
import BASE_URL, { ContentTypes } from "../config";
|
||||||
@@ -30,21 +28,11 @@ export const userApi = createApi({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async onQueryStarted(data, { dispatch, queryFulfilled }) {
|
async onQueryStarted(data, { dispatch, queryFulfilled }) {
|
||||||
const local_uid = Number(localStorage.getItem(KEY_UID));
|
// const local_uid = Number(localStorage.getItem(KEY_UID));
|
||||||
try {
|
try {
|
||||||
const { data: users } = await queryFulfilled;
|
const { data: users } = await queryFulfilled;
|
||||||
const matchedUser = users.find((c) => c.uid == local_uid);
|
dispatch(fillUsers(users));
|
||||||
// console.log("wtf", users, matchedUser);
|
// }
|
||||||
if (!matchedUser) {
|
|
||||||
// 用户已注销或被禁用
|
|
||||||
// console.log("no matched user, redirect to login");
|
|
||||||
dispatch(resetAuthData());
|
|
||||||
} else {
|
|
||||||
const markedUsers = users.map((u) => {
|
|
||||||
return u.uid == matchedUser.uid ? { ...u, online: true } : u;
|
|
||||||
});
|
|
||||||
dispatch(fillUsers(markedUsers));
|
|
||||||
}
|
|
||||||
} catch {
|
} catch {
|
||||||
console.log("get user list error");
|
console.log("get user list error");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { UserLog, UserState } from "../../types/sse";
|
|||||||
|
|
||||||
export interface StoredUser extends User {
|
export interface StoredUser extends User {
|
||||||
online?: boolean;
|
online?: boolean;
|
||||||
avatar: string;
|
avatar?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface State {
|
export interface State {
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ export interface User {
|
|||||||
is_admin: boolean;
|
is_admin: boolean;
|
||||||
avatar_updated_at: number;
|
avatar_updated_at: number;
|
||||||
create_by: string;
|
create_by: string;
|
||||||
avatar?: string;
|
|
||||||
}
|
}
|
||||||
export type UserStatus = "normal" | "frozen";
|
export type UserStatus = "normal" | "frozen";
|
||||||
export type UserDevice = {
|
export type UserDevice = {
|
||||||
|
|||||||
Reference in New Issue
Block a user