refactor: more TS code

This commit is contained in:
Tristan Yang
2022-07-28 08:57:42 +08:00
parent 974432a0af
commit e26b6f0fcc
28 changed files with 121 additions and 120 deletions
+1 -1
View File
@@ -58,7 +58,7 @@ export const channelApi = createApi({
}
}
}),
getHistoryMessages: builder.query<ChatMessage[], { id: number; mid?: number; limit: number }>({
getHistoryMessages: builder.query<ChatMessage[], { id: number; mid?: number; limit?: number }>({
query: ({ id, mid = null, limit = 100 }) => ({
url: mid
? `/group/${id}/history?before=${mid}&limit=${limit}`
+1 -1
View File
@@ -166,7 +166,7 @@ export const messageApi = createApi({
}),
readMessage: builder.mutation<
void,
{ users?: [{ uid: number; mid: number }]; groups?: [{ gid: number; mid: number }] }
{ users?: { uid: number; mid: number }[]; groups?: { gid: number; mid: number }[] }
>({
query: (data) => ({
url: `/user/read-index`,
+1 -1
View File
@@ -112,7 +112,7 @@ export const userApi = createApi({
await onMessageSendStarted.call(this, param1, param2, "user");
}
}),
getHistoryMessages: builder.query<ChatMessage[], { id: number; mid?: number; limit: number }>({
getHistoryMessages: builder.query<ChatMessage[], { id: number; mid?: number; limit?: number }>({
query: ({ id, mid = null, limit = 100 }) => ({
url: mid
? `/user/${id}/history?before=${mid}&limit=${limit}`
+6 -6
View File
@@ -13,25 +13,25 @@ import { User } from "../../types/user";
interface State {
initialized: boolean;
user: User | undefined;
token: string | null;
token: string;
expireTime: number;
refreshToken: string | null;
refreshToken: string;
}
const loginUser = localStorage.getItem(KEY_LOGIN_USER) || "";
const initialState: State = {
initialized: true,
user: loginUser ? JSON.parse(loginUser) : undefined,
token: localStorage.getItem(KEY_TOKEN),
token: localStorage.getItem(KEY_TOKEN) || "",
expireTime: Number(localStorage.getItem(KEY_EXPIRE) || +new Date()),
refreshToken: localStorage.getItem(KEY_REFRESH_TOKEN)
refreshToken: localStorage.getItem(KEY_REFRESH_TOKEN) || ""
};
const emptyState: State = {
initialized: true,
user: undefined,
token: null,
token: "",
expireTime: +new Date(),
refreshToken: null
refreshToken: ""
};
const authDataSlice = createSlice({
+2 -2
View File
@@ -87,14 +87,14 @@ const footprintSlice = createSlice({
}
});
},
updateReadUsers(state, action: PayloadAction<{ uid: number; mid: number }[]>) {
updateReadUsers(state, action: PayloadAction<{ uid: number; mid: number }[] | undefined>) {
const reads = action.payload || [];
if (reads.length == 0) return;
reads.forEach(({ uid, mid }) => {
state.readUsers[uid] = mid;
});
},
updateReadChannels(state, action: PayloadAction<{ gid: number; mid: number }[]>) {
updateReadChannels(state, action: PayloadAction<{ gid: number; mid: number }[] | undefined>) {
const reads = action.payload || [];
if (reads.length == 0) return;
reads.forEach(({ gid, mid }) => {
+14 -17
View File
@@ -8,7 +8,19 @@ export interface State {
[key: string | number]: number;
};
}
export interface MessagePayload {
mid: number;
sending: boolean;
content_type: string;
content: string;
properties?: {
content_type: string;
size: number;
};
file_path?: string;
download?: string;
thumbnail?: string;
}
const initialState: State = {
replying: {}
};
@@ -27,22 +39,7 @@ const messageSlice = createSlice({
const { mid, ...rest } = action.payload;
state[mid] = { ...state[mid], ...rest };
},
addMessage(
state,
action: PayloadAction<{
mid: number;
sending: boolean;
content_type: string;
content: string;
properties?: {
content_type: string;
size: number;
};
file_path?: string;
download?: string;
thumbnail?: string;
}>
) {
addMessage(state, action: PayloadAction<MessagePayload>) {
const data = action.payload;
const { mid, sending, content_type, content, properties } = data;
// 如果是正发送,并且已存在,则不覆盖
+1 -1
View File
@@ -22,7 +22,7 @@ const userMsgSlice = createSlice({
state.ids = Object.keys(action.payload).map((k) => +k);
state.byId = action.payload;
},
addUserMsg(state, action: PayloadAction<{ id: number; mid: number; local_id: number }>) {
addUserMsg(state, action: PayloadAction<{ id: number; mid: number; local_id?: number }>) {
const { id, mid, local_id } = action.payload;
if (state.byId[id]) {
const midExisted = state.byId[id].findIndex((id: number) => id == mid) > -1;