|
|
|
@ -277,12 +277,9 @@ |
|
|
|
<!-- 分享弹窗 - 选择联系人 --> |
|
|
|
<!-- 分享弹窗 - 选择联系人 --> |
|
|
|
<CreateGroupDialog |
|
|
|
<CreateGroupDialog |
|
|
|
:visible.sync="shareDialogVisible" |
|
|
|
:visible.sync="shareDialogVisible" |
|
|
|
title="分享给" |
|
|
|
title="选择人员" |
|
|
|
:recent-contacts="recentContacts" |
|
|
|
|
|
|
|
:recent-groups="recentGroups" |
|
|
|
|
|
|
|
:min-select-count="1" |
|
|
|
:min-select-count="1" |
|
|
|
confirm-text="分享" |
|
|
|
@confirm="handleShareToContacts" |
|
|
|
@create-success="handleShareToContacts" |
|
|
|
|
|
|
|
/> |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
@ -299,9 +296,8 @@ import { |
|
|
|
postKnowledgePlay, |
|
|
|
postKnowledgePlay, |
|
|
|
postKnowledgeEdit, |
|
|
|
postKnowledgeEdit, |
|
|
|
postKnowledgeDelete, |
|
|
|
postKnowledgeDelete, |
|
|
|
|
|
|
|
postMessagePushToUser, |
|
|
|
} from "@/api/knowledge"; |
|
|
|
} from "@/api/knowledge"; |
|
|
|
|
|
|
|
|
|
|
|
import { listUser } from "@/api/system/user"; |
|
|
|
|
|
|
|
import { mapGetters } from "vuex"; |
|
|
|
import { mapGetters } from "vuex"; |
|
|
|
import CreateGroupDialog from "@/views/message/components/CreateGroupDialog"; |
|
|
|
import CreateGroupDialog from "@/views/message/components/CreateGroupDialog"; |
|
|
|
import { |
|
|
|
import { |
|
|
|
@ -309,6 +305,7 @@ import { |
|
|
|
parseMinioFilePath, |
|
|
|
parseMinioFilePath, |
|
|
|
uploadFile, |
|
|
|
uploadFile, |
|
|
|
} from "@/utils/requestMinio"; |
|
|
|
} from "@/utils/requestMinio"; |
|
|
|
|
|
|
|
import { MessageType } from "@/utils/constants"; |
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
export default { |
|
|
|
name: "Knowledge", |
|
|
|
name: "Knowledge", |
|
|
|
@ -370,8 +367,6 @@ export default { |
|
|
|
// ================== 分享相关 ================== |
|
|
|
// ================== 分享相关 ================== |
|
|
|
shareDialogVisible: false, // 分享弹窗 |
|
|
|
shareDialogVisible: false, // 分享弹窗 |
|
|
|
shareItem: null, // 当前分享的文件 |
|
|
|
shareItem: null, // 当前分享的文件 |
|
|
|
recentContacts: [], // 最近联系人 |
|
|
|
|
|
|
|
recentGroups: [], // 最近群组 |
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
created() { |
|
|
|
created() { |
|
|
|
@ -604,28 +599,56 @@ export default { |
|
|
|
.catch(() => {}); |
|
|
|
.catch(() => {}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
getContactList() { |
|
|
|
|
|
|
|
listUser({ page: 1, pageSize: 100 }).then((res) => { |
|
|
|
|
|
|
|
this.recentContacts = res.rows.map((user) => ({ |
|
|
|
|
|
|
|
id: user.userId, |
|
|
|
|
|
|
|
name: user.nickName || user.title, |
|
|
|
|
|
|
|
avatar: user.avatar || "", |
|
|
|
|
|
|
|
})); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
handleShare(row) { |
|
|
|
handleShare(row) { |
|
|
|
this.shareItem = row; |
|
|
|
this.shareItem = row; |
|
|
|
this.shareDialogVisible = true; |
|
|
|
this.shareDialogVisible = true; |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleShareToContacts(selectedMembers) { |
|
|
|
handleShareToContacts(selectedMembers) { |
|
|
|
if (selectedMembers && selectedMembers.length > 0) { |
|
|
|
if (selectedMembers && selectedMembers.length > 0) { |
|
|
|
const shareTarget = selectedMembers[0]; |
|
|
|
const { id, netConfig } = this.$store.state.user; |
|
|
|
this.$modal.msgSuccess(`已分享给 ${shareTarget.name}`); |
|
|
|
const currentUserId = id; |
|
|
|
console.log("分享文件:", this.shareItem, "给:", shareTarget); |
|
|
|
const minioEndpoint = |
|
|
|
|
|
|
|
netConfig?.MINIO_ENDPOINT_HTTPS?.trim() || "http://47.92.6.51:9100/"; |
|
|
|
|
|
|
|
selectedMembers.forEach((shareTarget) => { |
|
|
|
|
|
|
|
const payloadContent = { |
|
|
|
|
|
|
|
file_name: this.shareItem?.title || "", |
|
|
|
|
|
|
|
file_path: this.shareItem?.file_path || "", |
|
|
|
|
|
|
|
file_size: this.shareItem?.file_size || "", |
|
|
|
|
|
|
|
file_time: this.shareItem?.create_time || "", |
|
|
|
|
|
|
|
knowledge_id: this.shareItem?.id || 0, |
|
|
|
|
|
|
|
thumbnail_path: this.shareItem?.thumbnail_path || "", |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
const messageData = { |
|
|
|
|
|
|
|
client_id: `utalk-client-${currentUserId}`, |
|
|
|
|
|
|
|
message: { |
|
|
|
|
|
|
|
at_users: [], |
|
|
|
|
|
|
|
message_id: 0, |
|
|
|
|
|
|
|
payload: { |
|
|
|
|
|
|
|
content: JSON.stringify(payloadContent), |
|
|
|
|
|
|
|
file_duration: 0, |
|
|
|
|
|
|
|
file_ico: "", |
|
|
|
|
|
|
|
file_name: this.shareItem?.title || "", |
|
|
|
|
|
|
|
file_path: this.shareItem?.file_path || "", |
|
|
|
|
|
|
|
file_size: this.shareItem?.file_size || "", |
|
|
|
|
|
|
|
file_type: this.shareItem?.file_type || "", |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
scene: 1, |
|
|
|
|
|
|
|
source_id: currentUserId, |
|
|
|
|
|
|
|
target_id: shareTarget.id, |
|
|
|
|
|
|
|
timestamp: 0, |
|
|
|
|
|
|
|
type: MessageType.KNOWLEDGE_SHAREs, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
target_id: shareTarget.id, |
|
|
|
|
|
|
|
topic: "/user/", |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
postMessagePushToUser(messageData).then((res) => { |
|
|
|
|
|
|
|
this.$modal.msgSuccess(`已分享给 ${shareTarget.name}`); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.shareDialogVisible = false; |
|
|
|
|
|
|
|
this.shareItem = null; |
|
|
|
} |
|
|
|
} |
|
|
|
this.shareDialogVisible = false; |
|
|
|
|
|
|
|
this.shareItem = null; |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
// ====================== 上传核心逻辑 ====================== |
|
|
|
// ====================== 上传核心逻辑 ====================== |
|
|
|
// 打开类型选择 |
|
|
|
// 打开类型选择 |
|
|
|
|