fix: OSS客户端直传

This commit is contained in:
2025-12-24 16:05:21 +08:00
parent 84cafd66ae
commit 73f858fc07
5 changed files with 29 additions and 12 deletions

View File

@@ -75,6 +75,7 @@ const sendUploadedFile = () => {
room_id: chatStore.currentFriend.room_id,
read: true,
duration: 0,
isSent: true, // 标记为自己发送的消息,确保显示在右侧
};
chatStore.addMessage(messageObj, userStore.currentUser.doctor_id);
@@ -83,6 +84,7 @@ const sendUploadedFile = () => {
sendMessage({
senderId: userStore.currentUser.doctor_id,
receiverId: chatStore.currentFriend.id,
roomId: chatStore.currentFriend.room_id, // 添加房间ID
type: uploadPreview.value.type,
content: uploadPreview.value.url,
}).catch((error) => {

View File

@@ -22,7 +22,8 @@ export function useWebSocket() {
try {
// const wsUrl = import.meta.env.VITE_WS_URL || "wss://g-ws.nailaoyun.cn/ws"
const wsUrl = import.meta.env.VITE_WS_URL || 'ws://localhost:12080/ws';
// const wsUrl = import.meta.env.VITE_WS_URL || 'ws://localhost:12080/ws';
const wsUrl = 'wss://api.ws.g.xiaokang88.com/ws';
// const wsUrl = import.meta.env.VITE_WS_URL || "wss://g-ws.nailaoyun.cn/ws"
socket.value = new WebSocket(wsUrl);

View File

@@ -67,11 +67,14 @@ export async function getPatientList(type: number) {
/**
* 获取患者详情
* @param roomId 房间ID
* @param roomId 房间ID可选如果没有room_id但有registerId可以通过registerId查询
* @param registerId 挂号ID可选
*/
export async function getPatientDetail(roomId: string, registerId?: number) {
const params: any = { room_id: roomId };
export async function getPatientDetail(roomId?: string, registerId?: number) {
const params: any = {};
if (roomId) {
params.room_id = roomId;
}
if (registerId) {
params.register_id = registerId;
}

View File

@@ -27,7 +27,8 @@ const receptionLoading = ref(false);
// 获取患者详情
const fetchPatientDetail = async () => {
if (!props.patient || !props.patient.room_id) {
// 至少需要 room_id 或 register_id 其中之一
if (!props.patient || (!props.patient.room_id && !props.patient.register_id)) {
patientDetail.value = null;
return;
}
@@ -43,9 +44,10 @@ const fetchPatientDetail = async () => {
}
}
console.log('查询患者详情register_id:', registerId, 'patient:', props.patient);
console.log('查询患者详情register_id:', registerId, 'room_id:', props.patient.room_id, 'patient:', props.patient);
const res = await getPatientDetail(props.patient.room_id, registerId);
// 支持只有 register_id 没有 room_id 的情况
const res = await getPatientDetail(props.patient.room_id || '', registerId);
console.log('患者详情API响应:', res);
// 确保正确解析返回数据
const data = res?.result || res?.data || res || null;
@@ -63,8 +65,12 @@ const fetchPatientDetail = async () => {
// 接诊
const handleReception = async () => {
if (!props.patient || !props.patient.register_id) {
message.error('患者信息不存在或缺少挂号ID');
if (!props.patient) {
message.error('患者信息不存在');
return;
}
if (!props.patient.register_id) {
message.error('缺少挂号ID');
return;
}
@@ -100,8 +106,12 @@ const getSexText = (sex) => {
// 进入聊天
const handleEnterChat = () => {
if (!props.patient || !props.patient.room_id) {
message.warning('患者信息不完整,无法进入聊天');
if (!props.patient) {
message.warning('患者信息不存在');
return;
}
if (!props.patient.room_id) {
message.warning('患者尚未创建聊天房间,请先接诊');
return;
}
emit('enter-chat', props.patient);

View File

@@ -20,7 +20,8 @@ export default defineConfig(async () => {
rewrite: (path) => path.replace(/^\/im-api/, ''),
// mock代理目标地址
// target: 'https://api.xiaokang88.com/api/admin/',
target: 'http://localhost:12080/api/',
target: 'https://api.ws.g.xiaokang88.com/api/',
// target: 'http://localhost:12080/api/',
// target: 'http://api.xiaokang88.com/api/admin/',
ws: true,
},