新增功能
This commit is contained in:
@@ -26,6 +26,28 @@ export async function uploadImageBlob(file: Blob, filename = 'screenshot.jpg') {
|
||||
return json.data as { id: number; uri: string; url: string }
|
||||
}
|
||||
|
||||
/** 本地上传视频(管理端 /upload/video),返回 data 含 uri 完整访问地址、url 相对路径 */
|
||||
export async function uploadVideoBlob(file: Blob, filename = 'recording.webm') {
|
||||
const appStore = useAppStore()
|
||||
const formData = new FormData()
|
||||
formData.append('file', file, filename)
|
||||
formData.append('cid', '0')
|
||||
const url = `${config.baseUrl}${config.urlPrefix}/upload/video`
|
||||
const res = await fetch(url, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
token: getToken() || '',
|
||||
version: appStore.config.version || ''
|
||||
},
|
||||
body: formData
|
||||
})
|
||||
const json = await res.json()
|
||||
if (json.code !== RequestCodeEnum.SUCCESS) {
|
||||
throw new Error(json.msg || '上传失败')
|
||||
}
|
||||
return json.data as { id: number; uri: string; url: string }
|
||||
}
|
||||
|
||||
export function fileCateAdd(params: Record<string, any>) {
|
||||
return request.post({ url: '/file/addCate', params })
|
||||
}
|
||||
|
||||
+28
-4
@@ -89,9 +89,12 @@ export function getRecordsByPatient(params: any) {
|
||||
|
||||
// ========== 音视频通话 ==========
|
||||
|
||||
// 获取通话签名
|
||||
// 获取通话签名(忽略取消令牌,避免 open + 会话切换 watch 重复请求互斥取消)
|
||||
export function getCallSignature(params: any) {
|
||||
return request.post({ url: '/tcm.diagnosis/getCallSignature', params })
|
||||
return request.post(
|
||||
{ url: '/tcm.diagnosis/getCallSignature', params },
|
||||
{ ignoreCancelToken: true, isOpenRetry: false }
|
||||
)
|
||||
}
|
||||
|
||||
// 发起通话
|
||||
@@ -99,9 +102,12 @@ export function startCall(params: any) {
|
||||
return request.post({ url: '/tcm.diagnosis/startCall', params })
|
||||
}
|
||||
|
||||
// 结束通话
|
||||
// 结束通话(忽略取消令牌:idle / afterCalling 可能并发触发相同请求体)
|
||||
export function endCall(params: any) {
|
||||
return request.post({ url: '/tcm.diagnosis/endCall', params })
|
||||
return request.post(
|
||||
{ url: '/tcm.diagnosis/endCall', params },
|
||||
{ ignoreCancelToken: true, isOpenRetry: false }
|
||||
)
|
||||
}
|
||||
|
||||
// 获取通话记录
|
||||
@@ -114,6 +120,24 @@ export function bindCallRoom(params: { diagnosis_id: number; room_id: string })
|
||||
return request.post({ url: '/tcm.diagnosis/bindCallRoom', params })
|
||||
}
|
||||
|
||||
/** 医生接通并绑定房间后:发起腾讯云云端混流录制 */
|
||||
export function startCloudRecording(params: { diagnosis_id: number }) {
|
||||
return request.post({ url: '/tcm.diagnosis/startCloudRecording', params })
|
||||
}
|
||||
|
||||
/** 本地录制完成后,将已上传视频的访问地址写入通话记录(忽略取消令牌,避免与其它 POST 互斥取消) */
|
||||
export function attachLocalCallRecording(params: { diagnosis_id: number; file_url: string }) {
|
||||
return request.post(
|
||||
{ url: '/tcm.diagnosis/attachLocalCallRecording', params },
|
||||
{ ignoreCancelToken: true, isOpenRetry: false }
|
||||
)
|
||||
}
|
||||
|
||||
/** 医助旁观当前进行中的视频通话(进房参数,Web TRTC 只拉流) */
|
||||
export function getAssistantWatchCallParams(params: { diagnosis_id: number }) {
|
||||
return request.get({ url: '/tcm.diagnosis/watchCall', params })
|
||||
}
|
||||
|
||||
// ========== 小程序分享 ==========
|
||||
|
||||
// 生成小程序码
|
||||
|
||||
Reference in New Issue
Block a user