diff --git a/src/components/editor/Editor.vue b/src/components/editor/Editor.vue index 6750bae..4a5db01 100644 --- a/src/components/editor/Editor.vue +++ b/src/components/editor/Editor.vue @@ -52,7 +52,6 @@ import { ServeUploadImage } from '@/api/upload' import { uploadImg } from '@/api/upload' // 引入事件总线钩子 import { useEventBus } from '@/hooks' - // 注册Quill编辑器的自定义格式 Quill.register('formats/emoji', EmojiBlot) // 注册表情格式 Quill.register('formats/quote', QuoteBlot) // 注册引用格式 @@ -147,12 +146,12 @@ const editorOption = { if (!props.members.length) { return renderList([]) } - let list = [ - { id: 0, nickname: '所有人', avatar: defAvatar, value: '所有人' }, ...props.members - ] - + ] as any +if((dialogueStore.groupInfo as any).is_manager){ + list.unshift({ id: 0, nickname: '所有人', avatar: defAvatar, value: '所有人' }) +} const items = list.filter( (item: any) => item.nickname.toLowerCase().indexOf(searchTerm) !== -1 ) diff --git a/src/components/talk/message/FileMessage.vue b/src/components/talk/message/FileMessage.vue index 7b41ad7..6b9c8b7 100644 --- a/src/components/talk/message/FileMessage.vue +++ b/src/components/talk/message/FileMessage.vue @@ -122,7 +122,7 @@ const handleDownload = () => { 文件图标 -
+
diff --git a/src/store/modules/uploads.ts b/src/store/modules/uploads.ts index 20f55c5..fdebd0e 100644 --- a/src/store/modules/uploads.ts +++ b/src/store/modules/uploads.ts @@ -178,7 +178,6 @@ export const useUploadsStore = defineStore('uploads', { // 获取最新的项目状态,确保仍然存在且没有被暂停 const updatedItem:any = this.findItem(uploadId) - if(updatedItem.is_paused) return if (res.code == 200) { // 当前分片上传成功,增加索引 updatedItem.uploadIndex++ @@ -191,9 +190,6 @@ export const useUploadsStore = defineStore('uploads', { if (updatedItem.onProgress) { updatedItem.onProgress(updatedItem.percentage) } - // if (clientUploadId) { - // this.dialogueStore.updateUploadProgress(clientUploadId, percentage) - // } // 检查是否全部上传完成 if (updatedItem.uploadIndex === updatedItem.files.length) { // 所有分片上传完成 @@ -276,24 +272,22 @@ export const useUploadsStore = defineStore('uploads', { }, // 重试文件上传 - retryCommonUpload(uploadId: string, errorMessage: string) { - const item = this.findItem(uploadId) + retryCommonUpload(clientUploadId: string) { + const item = this.findItemByClientId(clientUploadId) if (!item) return - // 显示错误提示 - message.warning(errorMessage) + // 重新初始化上传,以便重新获取分片信息 + this.initUploadFile( + item.file, + item.talk_type, + item.receiver_id, + clientUploadId, + item.onProgress || ((percentage: number) => {}), + item.onComplete || ((data: any) => {}) + ) - // 创建一个5秒后自动重试的机制 - setTimeout(() => { - const currentItem = this.findItem(uploadId) - if (!currentItem) return - - // 如果用户没有手动暂停,则自动重试 - if (!currentItem.is_paused) { - console.log('正在重试上传分片...'); - this.triggerUpload(uploadId) - } - }, 5000) + // 从上传列表中移除旧的上传项 + this.items = this.items.filter(i => i.client_upload_id !== clientUploadId) }, } }) diff --git a/src/utils/auth.js b/src/utils/auth.js index 27dd692..41b38a6 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -18,7 +18,7 @@ export function isLoggedIn() { */ export function getAccessToken() { // return storage.get(AccessToken) || '' - return JSON.parse(localStorage.getItem('token'))||'46d71a72d8d845ad7ed23eba9bdde260e635407190c2ce1bf7fd22088e41682ea07773ec65cae8946d2003f264d55961f96e0fc5da10eb96d3a348c1664e9644ce2108c311309f398ae8ea1b8200bfd490e5cb6e8c52c9e5d493cbabb163368f8351420451a631dbfa749829ee4cda49b77b5ed2d3dced5d0f2b7dd9ee76ba5465c84a17c23af040cd92b6b2a4ea48befbb5c729dcdad0a9c9668befe84074cc24f78899c1d947f8e7f94c7eda5325b8ed698df729e76febb98549ef3482ae942fb4f4a1c92d21836fa784728f0c5483aab2760a991b6b36e6b10c84f840a6433a6ecc31dee36e8f1c6158818bc89d22cb993eb73d0e2c0e0c8f627f3a8550a8e846cd26e5ec6abe0b57b0470a33b33c4b097d9fc113aa020f9751b55320b4f6b3f812fa4cc357f90f8db108a250b14e477c1e1b2292799d3c8831f7a47de2d6' + return JSON.parse(localStorage.getItem('token'))||'46d71a72d8d845ad7ed23eba9bdde260e635407190c2ce1bf7fd22088e41682ea07773ec65cae8946d2003f264d55961f96e0fc5da10eb96d3a348c1664e9644ce2108c311309f398ae8ea1b8200bfd490e5cb6e8c52c9e5d493cbabb163368f8351420451a631dbfa749829ee4cda49b77b5ed2d3dced5d0f2b7dd9ee76ba5465c84a17c23af040cd92b6b2a4ea48befbb5c729dcdad0a9c9668befe84074cc24f78899c1d947f8e7f94c7eda5325b8ed698df729e76febb98549ef3482ae942fb4f4a1c92d21836fa784728f0c5483aab2760a991b6b36e6b10c84f840a6433a6ecc31dee36e8f1c6158818bc89d22ab23a552e0c3f606946dcb914a52b692e10d823cc7f43027127359e7ee8555d956e7e095946931ceaa3877675584b0a0a4fc690c8018712b306050ebbdea92037aea31d66d65004be26d3c696abc4c29' } /** diff --git a/src/views/message/inner/panel/PanelContent.vue b/src/views/message/inner/panel/PanelContent.vue index 529652e..0e2661c 100644 --- a/src/views/message/inner/panel/PanelContent.vue +++ b/src/views/message/inner/panel/PanelContent.vue @@ -14,7 +14,7 @@ import { ITalkRecord } from '@/types/chat' import { EditorConst } from '@/constant/event-bus' import { useInject, useTalkRecord, useUtil } from '@/hooks' import { ExclamationCircleFilled } from '@ant-design/icons-vue' -import { useUserStore } from '@/store' +import { useUserStore ,useUploadsStore} from '@/store' import RevokeMessage from '@/components/talk/message/RevokeMessage.vue' import { voiceToText } from '@/api/chat.js' import {confirmBox} from '@/components/confirm-box/service.js' @@ -42,7 +42,7 @@ const props = defineProps({ }) const { loadConfig, records, onLoad, onRefreshLoad, onJumpMessage } = useTalkRecord(props.uid) - +const uploadsStore = useUploadsStore() const { useMessage } = useUtil() const { dropdown, showDropdownMenu, closeDropdownMenu } = useMenu() const { showUserInfoModal } = useInject() @@ -319,9 +319,19 @@ const retry=(item:any)=>{ confirmBox({ content:'确定重发吗' }).then(()=>{ - + uploadsStore.retryCommonUpload(item.extra.upload_id) }) } + +const onContextMenuAvatar=(e:any,item:any)=>{ + console.log('item',item) + e.preventDefault() + bus.emit(EditorConst.Mention, { + id: item.user_id, + value: item.nickname + }) +} +
+ +
+ {{ item.nickname }} + + {{ parseTime(item.created_at, '{y}/{m}/{d} {h}:{i}') }}
-
{ compressPlugin(), UnoCSS(), vueDevTools({ - launchEditor: 'trae', + launchEditor: 'cursor', }) ], define: {