import NavBarNormal from "@/components/NavBarNormal/index";
import { View } from "@tarojs/components";
import PageCustom from "@/components/page-custom/index";
import TabBarButtons from "@/components/wemeta-tabs/TabBarButtons";
import AgentSetting from "./components/AgentSetting/";
import AgentWebsite from "./components/AgentWebsite/";
import { useModalStore } from "@/store/modalStore";
import { useAgentStore, useAgentStoreActions } from "@/store/agentStore";
import { useEffect, useState } from "react";
import Taro, { useDidShow, useRouter } from "@tarojs/taro";
import { useComponentStore } from "@/store/componentStore";
import { useUserStore } from "@/store/userStore";
import { useAppStore } from "@/store/appStore";
import style from './index.module.less'
import {restrictedPage} from '@/utils'
export default function Index() {
restrictedPage()
const { showModal } = useModalStore((state) => state.actions);
const router = useRouter();
const headerHeight = useAppStore((state) => state.headerHeight);
const agentId = router.params.agentId;
const agent = useAgentStore((state) => state.agent);
const { clearMyAgent, fetchAgent, saveAgent } = useAgentStoreActions();
const { fetchMyEntList } = useUserStore();
const { setComponentList } = useComponentStore();
const [tabIndex, setTabIndex] = useState('1');
const handleTabIndexChange = (index: string) => {
setTabIndex(index);
};
const fetchData = async (agentId: string) => {
const result = await fetchAgent(agentId);
if (result) {
const components = result.components ?? []
// 过滤掉没有 id 的组件防止有错误数据
setComponentList(components.filter(c => !!c.data?.id), agentId);
}
fetchMyEntList()
};
const tabList = [
{
key: "1",
label: "智能体",
},
{
key: "2",
label: "微官网",
},
];
const agentTemp = useAgentStore(state=> state.agentTemp);
const { fetchAgents } = useAgentStoreActions();
useEffect(()=> {
fetchAgents()
}, [])
const handleSave = async () =>{
await saveAgent()
}
const handleNavBack = async () => {
if(!agentTemp){
return true
}
// 创建的智能体没有名字时拦截弹窗
if(!agentTemp.name){
const r = await new Promise((resolve)=> {
showModal({
content: 确定放弃创建智能体?,
confirmText: "我再想想",
onConfirm() {
Taro.showTabBar().catch(()=> {});
resolve(true)
},
onCancel() {
Taro.showTabBar().catch(()=> {});
resolve(false)
},
})
})
return r
}
}
useDidShow(()=> {
if(agentId){
fetchData(agentId);
}else{
clearMyAgent();
}
})
return (
编辑智能体
);
}