/** * 知识库 */ import { Text, View, Image, ScrollView } from "@tarojs/components"; import WemetaSwitch from "@/components/WemetaSwitch"; import Popup from "@/components/popup/popup"; import { useEffect, useState } from "react"; import Taro, { useRouter, useDidShow } from "@tarojs/taro"; import { shareToEnt, } from "@/service/knowledge"; import { useUserStore } from "@/store/userStore"; import { TEntItem } from "@/types/user"; import { isSuccess } from "@/utils"; interface IProps { knowledgeId: string|number showPopup: boolean setShowPopup: (show: boolean)=> void, } export default function Index({knowledgeId, showPopup, setShowPopup }:IProps) { const {entList, fetchMyEntList} = useUserStore() const [shareEntList, setShareEntList] = useState(entList ?? []); const handleSwitchChange = async (ent: TEntItem, checked: boolean)=> { if(!knowledgeId){ return false; } const response = await shareToEnt({ knowledgeIds: [knowledgeId], toEntId: ent.entId, }) if(isSuccess(response.status)){ Taro.showToast({title: checked ? '分享成功' : '取消分享成功'}) setShareEntList((prev) => { if(checked){ return [...prev, ent] } return prev.filter( item => item.entId !== ent.entId) }) } } useDidShow(() => { fetchMyEntList() }); const renderContent = ()=> { if(!entList.length){ return 暂未加入任何企业 { Taro.navigateTo({ url: "/pages/contact-us/index", }); }} > 联系我们 } return {entList.map(ent=> { return {ent.entName} item.entId === ent.entId)} onChange={(checked) => handleSwitchChange(ent, checked)} > })} } return ( 开启后,该组织下的所有成员都可引用,可随时取消共享。 {renderContent()} ); }