fix: file path error after sending media message

This commit is contained in:
Tristan Yang
2022-12-12 21:20:27 +08:00
parent d9d175375d
commit 98c636dd09
2 changed files with 11 additions and 8 deletions
+4 -3
View File
@@ -14,7 +14,7 @@ export const onMessageSendStarted = async (
type = "text",
from_uid,
reply_mid = null,
properties = { local_id: +new Date() }
properties = { local_id: +new Date(), content_type: "" }
},
{ dispatch, queryFulfilled },
from = "channel"
@@ -23,10 +23,11 @@ export const onMessageSendStarted = async (
if (type == "archive") return;
// id: who send to ,from_uid: who sent
// console.log("handlers data", content, type, properties, ignoreLocal, id);
const isImage = properties.content_type?.startsWith("image");
const isMedia = ["image", "video", "audio"].includes(properties.content_type.split('/')[0]);
// const isImage = properties.content_type?.startsWith("image");
const ts = properties.local_id || +new Date();
const tmpMsg = {
content: isImage ? content.path : content,
content: isMedia ? content.path : content,
content_type: ContentTypes[type],
created_at: ts,
properties,
+6 -4
View File
@@ -42,13 +42,15 @@ const messageSlice = createSlice({
fillMessage(state, action) {
return Object.assign({ ...initialState }, action.payload);
},
updateMessage(state, action: PayloadAction<{ mid: number; [key: string | number]: any }>) {
updateMessage(state, action: PayloadAction<{ mid: number;[key: string | number]: any }>) {
const { mid, ...rest } = action.payload;
state[mid] = { ...state[mid], ...rest };
},
addMessage(state, action: PayloadAction<MessagePayload>) {
const data = action.payload;
const { mid, sending, content_type, content, properties } = data;
// console.log("tfile", sending, content, content_type);
// 如果是正发送,并且已存在,则不覆盖
if (sending && state[mid]) return;
const isFile = content_type == ContentTypes.file;
@@ -59,14 +61,14 @@ const messageSlice = createSlice({
if (!sending) {
data.file_path = content;
data.content = `${BASE_URL}/resource/file?file_path=${encodeURIComponent(
data.file_path
content
)}`;
data.download = `${BASE_URL}/resource/file?file_path=${encodeURIComponent(
data.file_path
content
)}&download=true`;
data.thumbnail = isPic
? `${BASE_URL}/resource/file?file_path=${encodeURIComponent(
data.file_path
content
)}&thumbnail=true`
: "";
} else if (isPic) {