import NavBarNormal from "@/components/NavBarNormal/index"; import { View } from "@tarojs/components"; import PageCustom from "@/components/page-custom/index"; import { useState, useCallback, useEffect } from "react"; import StepStart from './components/step/StepStart' import StepPick from "./components/step/StepPick"; import StepConfirm from "./components/step/StepConfirm"; import { TAvatarItem } from "@/service/storage"; import IconCloseBlack16 from '@/components/icon/IconCloseBlack16' import Taro from "@tarojs/taro"; type TStep = 'start'|'pick'|'confirm' //todo: 使用 store 实现一个状态机 export default function Index() { const [state, setState] = useState('start') const [taskId, setTaskId] = useState() const [pickedAvatar, setPickedAvatar] = useState() const [avatars, setAvatars] = useState([]); const [videos, setVideos] = useState([]); const getClassName = useCallback((_state: TStep) => { return state === _state ? 'block': 'hidden' }, [state]); const handleStartNext = ()=> { setAvatars([]) setVideos([]) setState('pick') } const toStartStep = ()=> { setTaskId(undefined) setState('start') } const renderNavLeft = ()=> { return Taro.navigateBack()}> } return ( 形象照 {/* 第一步开始 */} handleStartNext()} setTaskId={setTaskId}/> {/* 第二步 生成多个形象提供用户选择 */} {taskId && toStartStep()} next={()=> setState('confirm')} />} {/* 第三步 确认选择作为智能体的形象 */} {pickedAvatar && setState('pick')} />} ); }