|
@@ -29,7 +29,7 @@
|
|
|
class="list-img"
|
|
|
:class="walletStore.account == item.toUsername ? 'mr12' : 'ml12'"
|
|
|
round
|
|
|
- src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
|
|
|
+ :src="IM_PATH + item.avatar"
|
|
|
@click="router.push('personal')"
|
|
|
/>
|
|
|
<!-- 内容 -->
|
|
@@ -37,7 +37,7 @@
|
|
|
<div>{{ item.fromUsername || "匿名用户" }}</div>
|
|
|
|
|
|
<!-- 文本消息 -->
|
|
|
- <div class="content" v-if="item.contentType === 1">
|
|
|
+ <div class="content" v-if="item.contentType === MSG_TYPE.TEXT">
|
|
|
{{ item.content }}
|
|
|
</div>
|
|
|
|
|
@@ -54,7 +54,7 @@
|
|
|
|
|
|
<!-- 录音消息 -->
|
|
|
<div class="audio-message" v-else-if="item.contentType === MSG_TYPE.AUDIO">
|
|
|
- <audio :src="item.file" controls style="width: 200px;" />
|
|
|
+ <audio :src="IM_PATH + item.url" controls style="width: 200px;" />
|
|
|
</div>
|
|
|
|
|
|
<!-- 其他未知类型 -->
|
|
@@ -155,6 +155,9 @@ import { Capacitor } from "@capacitor/core";
|
|
|
import { MSG_TYPE, MESSAGE_TYPE_USER } from "@/common/constant/msgType";
|
|
|
|
|
|
|
|
|
+const IM_PATH = import.meta.env.VITE_IM_PATH_FIlE;
|
|
|
+console.log("avatar=>", IM_PATH)
|
|
|
+
|
|
|
// 路由 & store
|
|
|
const router = useRouter();
|
|
|
const route = useRoute();
|
|
@@ -282,7 +285,6 @@ const stopRecording = async () => {
|
|
|
mediaRecorder.value.onstop = async () => {
|
|
|
// 合并所有音频片段
|
|
|
const audioBlob = new Blob(audioChunks.value, { type: "audio/webm" });
|
|
|
-
|
|
|
// 转换为 Uint8Array
|
|
|
const arrayBuffer = await audioBlob.arrayBuffer();
|
|
|
const audioData = new Uint8Array(arrayBuffer);
|
|
@@ -307,8 +309,8 @@ const sendAudioMessage = async (event) => {
|
|
|
contentType: MSG_TYPE.AUDIO, // 音频消息类型
|
|
|
messageType: MESSAGE_TYPE_USER, // 单聊消息
|
|
|
to: route.query.uuid, // 接收方ID
|
|
|
- fileSuffix: "webm", // 使用webm后缀更准确
|
|
|
- file: Array.from(audioData), // 将Uint8Array转为普通数组
|
|
|
+ fileSuffix: "wav", // 使用webm后缀更准确
|
|
|
+ file: audioData, // 将Uint8Array转为普通数组
|
|
|
};
|
|
|
|
|
|
// 3. 通过WebSocket发送
|