async function nextStep()

in frontend/src/routes/space/new-cluster/new-cluster.tsx [80:149]


    async function nextStep() {
        const value = form.getFieldsValue();
        const newStep = step + 1;
        let isParamsValid = true;
        const params = {
            ...requestInfo.reqInfo,
            cluster_id: requestInfo.clusterId,
            request_id: requestInfo.requestId,
            event_type: (step + 1).toString(),
        };
        if (value && step === NewClusterStepsEnum['register-space']) {
            params.spaceInfo = {
                describe: value.describe,
                name: value.name,
                spaceAdminUsers: value.spaceAdminUsers,
            };
            isParamsValid =
                checkParam(params.spaceInfo.name, '请填写空间名称') &&
                checkParam(params.spaceInfo.spaceAdminUsers, '请填写管理员姓名');
        }
        if (value && step === NewClusterStepsEnum['add-node']) {
            params.authInfo = {
                sshKey: value.sshKey,
                sshPort: value.sshPort ? parseInt(value.sshPort) : value.sshPort,
                sshUser: value.sshUser,
            };
            params.hosts = value.hosts;
            isParamsValid =
                checkParam(params.authInfo.sshUser, '请填写SSH用户') &&
                checkParam(params.authInfo.sshPort, '请填写SSH端口') &&
                checkParam(params.authInfo.sshKey, '请填写SSH私钥') &&
                checkParam(params.hosts, '请填写节点列表');
        }
        if (value && step === NewClusterStepsEnum['install-options']) {
            params.installInfo = value.installDir;
            params.packageInfo = value.packageUrl;
            params.agentPort = value.agentPort ? parseInt(value.agentPort) : value.agentPort;
            isParamsValid =
                checkParam(params.installInfo, '请填写代码包路径') &&
                checkParam(params.packageInfo, '请填写安装路径') &&
                checkParam(params.agentPort, '请填写Agent启动端口');
        }
        if (value && step === NewClusterStepsEnum['cluster-plan']) {
            params.nodeConfig = value.nodeConfig;
            isParamsValid =
                checkParam(params.nodeConfig?.[0]?.nodeIds, '请分配FE节点') &&
                checkParam(params.nodeConfig?.[1]?.nodeIds, '请分配BE节点');
        }
        if (value && step === NewClusterStepsEnum['node-config']) {
            params.deployConfigs = value.deployConfigs;
            isParamsValid = params.deployConfigs.every((node: any) => {
                return node.configs.every((config: any) => {
                    return checkParam(config.value, `请完整配置${node.moduleName.toUpperCase()}节点参数`);
                });
            });
        }
        if (!isParamsValid) return;
        setLoading(true);
        const res = await SpaceAPI.createCluster(params);
        setLoading(false);
        if (isSuccess(res)) {
            setRequestInfo(res.data);
            setStep(newStep);
            setTimeout(() => {
                navigate(`/space/new/${res.data.requestId}/${NewClusterStepsEnum[newStep]}`);
            }, 0);
        } else {
            message.error(res.msg);
        }
    }