index.tsx 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { View } from "@tarojs/components";
  2. import PageCustom from "@/components/page-custom/index";
  3. import NavBarNormal from "@/components/NavBarNormal/index";
  4. import ButtonMain from "@/components/buttons/ButtonMain";
  5. import BottomBar from "@/components/BottomBar";
  6. import WemetaTextarea from "@/components/wemeta-textarea/index";
  7. import TextPolish from '@/components/TextPolish'
  8. import { useAgentStore } from "@/store/agentStore";
  9. import useEditAgent from "@/hooks/useEditAgent";
  10. export default function Index() {
  11. const agent = useAgentStore((state)=> state.agent)
  12. const {handleSubmit, onChange, value, setValue} = useEditAgent('personality', agent?.personality ?? '')
  13. const onPolished = (text:string|null)=> {
  14. if(text){
  15. setValue(text)
  16. }
  17. }
  18. return (
  19. <PageCustom>
  20. <NavBarNormal backText="人设"></NavBarNormal>
  21. <View className="flex flex-col items-center w-full">
  22. <View
  23. className="w-full p-16"
  24. >
  25. <WemetaTextarea
  26. value={value}
  27. onBlur={(value: string) => onChange(value)}
  28. onInput={(value: string) => onChange(value)}
  29. placeholder="示例:你是一位汽车销售人员,拥有专业的汽车相关知识,善于耐心的解答客户提出的每一个问题,并会主动邀请客户上门试驾。"
  30. autoFocus
  31. extra={()=> <TextPolish text={value} type="personality" onPolished={onPolished}/>}
  32. />
  33. </View>
  34. <BottomBar>
  35. <ButtonMain className="flex-1" disabled={!value.length} onClick={handleSubmit}>保存</ButtonMain>
  36. </BottomBar>
  37. </View>
  38. </PageCustom>
  39. );
  40. }