From db599dadb9db8277a70636f46f288bd5aebcfa46 Mon Sep 17 00:00:00 2001 From: Phoenix <64720302+Concur-max@users.noreply.github.com> Date: Thu, 22 May 2025 15:07:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=87=E4=BB=B6=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=BB=84=E4=BB=B6=E7=9A=84=E4=B8=8B=E8=BD=BD=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E6=96=B0=E5=A2=9E=E7=BE=A4=E7=BB=84=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=8E=B7=E5=8F=96=E5=8A=9F=E8=83=BD=EF=BC=8C=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=AF=B9=E8=AF=9D=E5=AD=98=E5=82=A8=E4=BB=A5=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E7=BE=A4=E7=BB=84=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/naive-ui-adjust.less | 3 ++ src/assets/image/zu6146@2x.png | Bin 0 -> 26766 bytes src/components/talk/message/FileMessage.vue | 51 ++++-------------- src/store/modules/dialogue.js | 18 ++++--- src/types/chat.ts | 19 +++++++ src/views/message/inner/IndexAmicable.vue | 8 +-- .../message/inner/panel/PanelContent.vue | 1 + src/views/message/inner/panel/menu.ts | 17 +++--- src/views/office/index.vue | 4 ++ tsconfig.json | 2 +- 10 files changed, 62 insertions(+), 61 deletions(-) create mode 100644 src/assets/image/zu6146@2x.png diff --git a/src/assets/css/naive-ui-adjust.less b/src/assets/css/naive-ui-adjust.less index 6a7276b..e3685d7 100644 --- a/src/assets/css/naive-ui-adjust.less +++ b/src/assets/css/naive-ui-adjust.less @@ -4,6 +4,9 @@ color: #fff!important; } +.n-checkbox-box-wrapper .n-checkbox-box{ + border-radius: 50%; +} /*表格头多选框颜色调整避免和表头颜色冲突*/ .n-data-table-thead .n-data-table-tr .n-checkbox-box{ background: #fff; diff --git a/src/assets/image/zu6146@2x.png b/src/assets/image/zu6146@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c155e51fccec360aa05572ff319a30565ee2b887 GIT binary patch literal 26766 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 // 处理文件点击事件 const handleClick = () => { + console.log('handleClick') window.open( `${window.location.origin}/office?url=${props.extra.path}`, '_blank', 'width=1200,height=900,left=200,top=200,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no' ); } -/** - * 触发浏览器下载文件,通常会显示下载进度。 - * @param {string} resourceUrl 文件的URL地址。 - * @param {string} [filename] 可选参数,指定下载文件的名称。如果未提供,浏览器会尝试从URL或响应头中推断。 - */ + function downloadFileWithProgress(resourceUrl, filename) { - // 1. 创建一个 元素 - const link = document.createElement('a'); - - // 2. 设置 href 属性为资源 URL - link.href = resourceUrl; - - // 3. 设置 download 属性 - // 如果提供了 filename,则使用它;否则,让浏览器自行决定文件名。 - // 设置 download 属性会提示浏览器下载链接指向的资源,而不是导航到它。 - if (filename) { - link.download = filename; - } else { - // 你也可以选择不设置 download,或者尝试从 resourceUrl 中提取文件名 - // 例如: link.download = resourceUrl.substring(resourceUrl.lastIndexOf('/') + 1); - // 但最可靠的方式是服务器在 Content-Disposition 响应头中指定文件名 - link.download = ''; // 设置为空字符串也通常会触发下载行为 - } - - // 4. 将 元素添加到文档中(某些浏览器需要这样才能触发点击) - document.body.appendChild(link); - - // 5. 编程方式点击链接以开始下载 - link.click(); - - // 6. 从文档中移除 元素(完成任务后清理) - document.body.removeChild(link); - - console.log(`已为 "${resourceUrl}" 发起下载请求。`); + const iframe = document.createElement('iframe'); + iframe.style.display = 'none'; + iframe.src = resourceUrl; + document.body.appendChild(iframe); + setTimeout(() => { + document.body.removeChild(iframe); + }, 60000); } // 处理下载事件 const handleDownload = () => { downloadFileWithProgress(props.extra.path,props.extra.name) - // const url = props.extra.path; - // if (!url) return; - // const a = document.createElement('a'); - // a.href = url; - // a.download = url.split('/').pop() || 'download'; - // document.body.appendChild(a); - // a.click(); - // document.body.removeChild(a); - console.log('data',props.data) } diff --git a/src/store/modules/dialogue.js b/src/store/modules/dialogue.js index 78526b7..6f22f40 100644 --- a/src/store/modules/dialogue.js +++ b/src/store/modules/dialogue.js @@ -5,9 +5,8 @@ import { ServePublishMessage, ServeCollectEmoticon } from '@/api/chat' -import { ServeGetGroupMembers } from '@/api/group' +import { ServeGetGroupMembers,ServeGroupDetail } from '@/api/group.js' import { useEditorStore } from './editor' - // 键盘消息事件定时器 let keyboardTimeout = null @@ -46,7 +45,7 @@ export const useDialogueStore = defineStore('dialogue', { // 是否显示会话列表 isShowSessionList: true, - + groupInfo: {} , // 群成员列表 members: [], @@ -75,8 +74,6 @@ export const useDialogueStore = defineStore('dialogue', { // 更新对话信息 setDialogue(data = {}) { - - console.log('data',data) this.online = data.is_online == 1 this.talk = { username: data.remark || data.name, @@ -94,6 +91,8 @@ export const useDialogueStore = defineStore('dialogue', { this.members = [] if (data.talk_type == 2) { this.updateGroupMembers() + this.getGroupInfo() + } }, @@ -126,7 +125,14 @@ export const useDialogueStore = defineStore('dialogue', { unshiftDialogueRecord(records) { this.records.unshift(...records) }, - + async getGroupInfo(){ + const { code, data } = await ServeGroupDetail({ + group_id: this.talk.receiver_id + }) + if(code == 200){ + this.groupInfo = data + } + }, // 推送对话记录 addDialogueRecord(record) { // TOOD 需要通过 sequence 排序,保证消息一致性 diff --git a/src/types/chat.ts b/src/types/chat.ts index f19ef95..caef493 100644 --- a/src/types/chat.ts +++ b/src/types/chat.ts @@ -130,3 +130,22 @@ export interface ITalkRecordExtraImage { width: number height: number } +export interface GroupInfo { + avatar: string; + created_at: string; + deptInfos: any[]; // 如果有具体结构可以进一步细化 + group_id: number; + group_name: string; + group_num: number; + group_type: number; + is_disturb: number; + is_last_manager: boolean; + is_manager: boolean; + is_mute: number; + is_overt: number; + latest_notice_content: string; + latest_notice_title: string; + positionInfos: any[]; // 如果有具体结构可以进一步细化 + profile: string; + visit_card: string; +}; \ No newline at end of file diff --git a/src/views/message/inner/IndexAmicable.vue b/src/views/message/inner/IndexAmicable.vue index f37bd95..cc0ed8f 100644 --- a/src/views/message/inner/IndexAmicable.vue +++ b/src/views/message/inner/IndexAmicable.vue @@ -1,8 +1,8 @@ @@ -13,8 +13,8 @@ width: 100%; -webkit-app-region: drag; .content { - width: 400px; - height: 300px; + width: 181px; + height: 149px; text-align: center; color: #ccc; margin-top: -10%; diff --git a/src/views/message/inner/panel/PanelContent.vue b/src/views/message/inner/panel/PanelContent.vue index 79ff0bb..342b4d1 100644 --- a/src/views/message/inner/panel/PanelContent.vue +++ b/src/views/message/inner/panel/PanelContent.vue @@ -227,6 +227,7 @@ const onClickNickname = (data: ITalkRecord) => { // 会话列表右键显示菜单 const onContextMenu = (e: any, item: ITalkRecord) => { + console.log('item',item) if (!dialogueStore.isShowEditor || dialogueStore.isOpenMultiSelect) { return e.preventDefault() } diff --git a/src/views/message/inner/panel/menu.ts b/src/views/message/inner/panel/menu.ts index 3a24248..28c171c 100644 --- a/src/views/message/inner/panel/menu.ts +++ b/src/views/message/inner/panel/menu.ts @@ -1,4 +1,5 @@ import { reactive } from 'vue' +import { useDialogueStore } from '@/store/modules/dialogue.js' interface IDropdown { options: any[] @@ -19,7 +20,7 @@ const isRevoke = (uid: any, item: any): boolean => { return Math.floor(time / 1000 / 60) <= 2 } - +const dialogueStore = useDialogueStore() export function useMenu() { const dropdown: IDropdown = reactive({ options: [], @@ -47,20 +48,20 @@ export function useMenu() { dropdown.options.push({ label: '多选', key: 'multiSelect' }) dropdown.options.push({ label: '引用', key: 'quote' }) - if (isRevoke(uid, item)) { + if (isRevoke(uid, item)|| (dialogueStore.groupInfo as any).is_manager) { dropdown.options.push({ label: `撤回`, key: 'revoke' }) } dropdown.options.push({ label: '删除', key: 'delete' }) - if ([3, 4, 5].includes(item.msg_type)) { - dropdown.options.push({ label: '下载', key: 'download' }) - } + // if ([3, 4, 5].includes(item.msg_type)) { + // dropdown.options.push({ label: '下载', key: 'download' }) + // } - if ([3].includes(item.msg_type)) { - dropdown.options.push({ label: '收藏', key: 'collect' }) - } + // if ([3].includes(item.msg_type)) { + // dropdown.options.push({ label: '收藏', key: 'collect' }) + // } dropdown.x = e.clientX diff --git a/src/views/office/index.vue b/src/views/office/index.vue index 8a953c4..9edc0a5 100644 --- a/src/views/office/index.vue +++ b/src/views/office/index.vue @@ -57,6 +57,7 @@ const config = { }, documentType, editorConfig: { + mode: 'view', lang: 'zh-CN', user: { @@ -64,6 +65,9 @@ const config = { name: '访客用户' }, customization: { + hideRightMenu: true, // 隐藏右侧菜单 + about: false, // 不显示“关于”页面 + help: false, // 不显示帮助菜单 chat: false, commentAuthorOnly: false, compactToolbar: true, diff --git a/tsconfig.json b/tsconfig.json index 7163544..064866f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -39,5 +39,5 @@ "src/**/*.tsx", "src/**/*.vue", "assets/**/*.jpg" - ], +, "src/store/modules/dialogue.js" ], } \ No newline at end of file