用途:把 Factorial Code 流程的输入参数表单嵌入网页。表单定义就是流程的 parametersSchema.json,没有单独的表单定义;要改字段、校验或标签就改 schema。每次提交以表单数据启动一次流程执行,结果在页内处理。
嵌入方式:需 team 与 process 两个 slug,且应固定到 stable 别名。三种方式:data 属性(加载 https://code.factorialhr.com/sdk/forms.js 后由 SDK 替换元素)、Fcode.initForm,以及 React 组件 FcodeForm(安装 @factorialco/fcode-react-forms,SSR 框架需 ssr: false 动态导入)。
结果处理:默认显示加载遮罩,成功替换为成功消息,失败显示错误消息。也可用 onSuccess/onError 回调,或由流程返回值驱动:message、errorMessage、formErrors、redirect、nextProcessId。消息为 Markdown(GFM),不渲染原始 HTML。
多步表单:ui:steps 在单个表单内分步(一次执行);nextProcessId 按步骤链式执行(每步一次执行),用 variables 传递状态。
限制与注意:需启用 Forms 标志(Dashboard 或 metadata.json 中 factorial.form.enabled,再 fcode push)。所有表单都是公开的,知道 team 与 process slug 的任何人都能读取 schema 并提交,流程本身是唯一防护;提交参数视为调用方可控,不得用于授权。不要在嵌入代码中放密钥。未知版本或别名不会报错,会静默运行当前版本。提交有请求超时(约一分钟),耗时工作应异步处理。