/** * 知识库 */ import { Text, View, Image } from "@tarojs/components"; import PageCustom from "@/components/page-custom/index"; import NavBarNormal from "@/components/NavBarNormal/index"; import BottomBar from "@/components/BottomBar"; import FigureListItem from "@/components/list/FigureListItem"; import IconEye from "@/components/icon/IconEye"; import IconA from "@/components/icon/IconA"; import IconQ from "@/components/icon/IconQ"; import WemetaSwitch from "@/components/WemetaSwitch"; import KnowledgeIcon from "@/components/KnowledgeIcon"; import ShareToEntPopup from "./components/ShareToEntPopup"; import { useEffect, useState } from "react"; import CardEditable from "@/components/card/card-editable/index"; import Taro, { useRouter, useDidShow } from "@tarojs/taro"; import { getMyKnowledgeDetail, getEntKnowledgeDetail, deleteKnowledgeQa, updateExactAnswer, deleteMyKnowledge, } from "@/service/knowledge"; import { TKnowledgeDetail,TQAListItem } from "@/types/knowledge"; import { isSuccess } from "@/utils"; import { useModalStore } from "@/store/modalStore"; import style from "./index.module.less"; export default function Index() { const router = useRouter(); const { knowledgeId, entId } = router.params; const [checked, setChecked] = useState(false); const [detail, setDetail] = useState(null); const isEnt = (entId !== undefined) const { showModal } = useModalStore(); const [showPopup, setShowPopup] = useState(false); const handleEdit = (qaId: number | string) => { Taro.navigateTo({ url: `/pages/editor-knowledge-item/index?knowledgeId=${knowledgeId}&qaId=${qaId}&knowledgeTitle=${detail?.title}`, }); }; const handleShare = async () => { setShowPopup(true) }; // 删除问答项 const handleDeleteItem = async (qaId: number | string) => { if (!detail) { return; } showModal({ content: "确定删除该问答项吗?", onConfirm: async () => { const { status } = await deleteKnowledgeQa(detail.knowledgeId, qaId); if (isSuccess(status)) { Taro.showToast({ title: "删除成功", icon: "success" }); getDetail(detail.knowledgeId); } }, }); }; // 获取详情 const getDetail = async (knowledgeId: number) => { const response = !isEnt ? await getMyKnowledgeDetail(knowledgeId) : await getEntKnowledgeDetail(knowledgeId, entId); if (isSuccess(response.status) && response.data) { setDetail(response.data); setChecked(response.data.enableExactAnswer); } }; // 开启/关闭 精准问答模式 const handleEnableExactAnswer = async () => { if (!detail?.knowledgeId) { return; } const { status } = await updateExactAnswer(detail.knowledgeId, !checked); if (isSuccess(status)) { setChecked(!checked); } }; const handleDeleteKnowledge = async () => { if (!detail) { return; } showModal({ content: "确认删除文件及其全部知识?", onConfirm: async () => { const { status } = await deleteMyKnowledge(detail.knowledgeId); if (isSuccess(status)) { await Taro.showToast({ title: "删除成功", icon: "success" }); setTimeout(() => { Taro.navigateBack(); }, 2000); } }, }); }; useDidShow(() => { knowledgeId && getDetail(parseInt(knowledgeId)); }); const createCardOptions = (item: TQAListItem) => { if(isEnt){ return [] } return [ handleDeleteItem(item.qaId)}> 删除 , handleEdit(item.qaId)}>编辑, ] } return ( { return }} // rightRenderer={() => ( // !isEnt ? // // : <> // )} > {detail?.title} {detail?.createTime} | {detail?.fileSizeStr} {!isEnt && 精准QA模式 知识转问答,助力AI更高效作答 } 问答列表共 {detail?.qaList.length} {detail?.qaList.map((item) => { return ( {item.questions[0]} {item.answer} {!!item.links.length && ( {item.links.map((link) => { return ( 查看链接 {link} ); })} )} {!!item.pics.length && ( {item.pics.map((pic) => { return ( ); })} )} ); })} {!isEnt && 删除 共享到企业知识 } {(knowledgeId!== undefined) && } ); }