# @aglyn/plugins-forms 中文文档

规范地址：https://npmcn.com/package/%40aglyn/plugins-forms/

版本：1\.19\.0
npm 元数据更新时间：2026-11-07T13:57:36.209Z
中文译文更新时间：2026-11-05T23:24:01.927Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aglyn/plugins-forms
原文对照：https://npmcn.com/package/%40aglyn/plugins-forms/?lang=original
项目主页：https://aglyn.com/
源码仓库：https://github.com/aglyn/aglyn

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.4 MB，183 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：14 个
- peer 依赖：next ^16\.3\.3，react ^19\.2\.8，firebase ^13\.0\.0，@mui/material ^9\.3\.1，firebase-admin ^14\.3\.0，@mui/x-data-grid ^9\.12\.0
- 首次发布：2026-09-20T23:53:27.335Z
- 最新版本发布：2026-11-07T13:57:35.894Z
- 近 30 天下载量：9645（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：162（近 12 个月 162 个）

## 中文简介

Aglyn 的表单插件: `form` 财务报告和审定财务报表 `formField` 在站点上绘制窗体的元素,以及持有工作空间格式目录的控制台部分。 如果您提供了安放窗体的 Aglyn 文档, 或者运行 Aglyn 控制台, 请安装它; 它是第一个 p

## 安装

```sh
npm install @aglyn/plugins-forms
```

也可以使用：`pnpm add @aglyn/plugins-forms`、`yarn add @aglyn/plugins-forms`、`bun add @aglyn/plugins-forms`

## README

# @aglyn/插件格式

Aglyn 的表单插件: `form` 财务报告和审定财务报表 `formField` 在站点上绘制窗体的元素,以及持有工作空间格式目录的控制台部分。 如果您提供了安放窗体的 Aglyn 文档, 或者运行 Aglyn 控制台, 请安装它 ; 它是一个第一当事方插件, 而不是一个独立的库 .

> 从Aglyn monorepo出版到npm. 随后的版本 [语义版本](https://semver.org/)。 。 。 .

## 安装

```
npm install @aglyn/plugins-forms
```

同伴依赖性 : `react`, (中文(简体) ), `next`, (中文(简体) ), `@mui/material`, (中文(简体) ), `@mui/x-data-grid`, (中文(简体) ), `firebase`。 。 。 .

## 里面有什么东西

插件宣布两个注册员在 `plugins.config.json`外加一个 `site` 模块,这样一个已发布的页面就可以单独装入画布的一半.

**在一个公开的网站上** (单位:千美元)`registerFormsPlugin`,则 `site` 登记员,出口自 `@aglyn/plugins-forms/site`) (中文(简体) ). 它增加了一个 `forms` 特性捆绑到插件管理器中, 包含两个元素 :

-   `form`:表单本身,以及提交后发生的情况(信息、重定向或披露).
-   `formField`: 表格内的一个字段。 它使用表单而不是通用元素,因为它向附件表单报告其名称和数据集映射;一个没有表单的字段没有提交.
-   `formFileUpload`: 一个文件上传字段(AGL-4098). 其文件通过共享的访客上传,在等待的密钥下取出,其形式被刻制出,表格通过ID发送;其身体是一个懒散的块.

两者的预设,包括由编组的接触部分,都出现在Besigner的元素取取器中. `FORMS_BUNDLE` 是捆绑登记册的条目列表.

**控制台** (单位:千美元)`registerFormsConsole`,则 `console` 登记员:

-   A 类 `Forms` 导航项目于 `/forms`:表单目录和一个表单自己的页面(声明,度量衡,版本,推广,设计预览). 导航项目拥有它的子树,因为一个表单的 URL 名称是一个文档 id. 该页面为代码分解并打开后加载.
-   在窗体的页面上对插件主机进行两个区域,供其他插件填充,注册时使用 `registerPluginZone`数字 : `formSubmissions`,其中绘制该表文的读取器,以及将表文的字段映射到个人字段的区域.
-   这个 `formSubmission` 类型在记录接合中:控制台列表来源(`plugin-record-lists`)——一个站点最新的一个站点,收件箱行走的基础,一个提交文件,以及一个站点按名称提交的站点——服务器记录索引(`plugin-record-index`),和一个计数源(`plugin-record-counts`),一个网站收到多少. 收件箱和一个运动的转换报告通过这些来读取提交材料,而不是收藏.

**请求(AGL-4098).** 表格可被标记为请求引用( :`request: { kind: 'quote' }` 并且可以通过电子邮件向该人发出确认(`confirmationEmail`,默认为请求). 其服务器部件 :

-   `POST /api/forms/upload` (租户): `ticket`, (中文(简体) ), `finalize` 财务报告和审定财务报表 `remove` 用于文件上传字段,按字段的种类和编号,范围为 `form-file/{key}`; 每个密钥记录在 `forms/{formId}/formUploadKeys/{key}`。 。 。 .
-   `POST /api/forms/submit` 从密钥范围、记录读取每个文件 `files`, (中文(简体) ), `request` 财务报告和审定财务报表 `fieldData` (一个字段的机器值, `{name}__data`),以密钥作为提交文件的id,并发送 `form-confirmation` 分类邮件( c)`tenant-emails.ts`),将其线程保持为 `emailThread`。 。 。 .
-   `POST /api/forms/submission-file` (指挥所): `download` 为可能阅读网站所提交材料的成员存档,并 `release` 一个已删除的提交文件.
-   A 类 `forms.submission` 读取核心记录-事实的接合 通过它,商业开始引出一个请求.
-   `forms-upload-sweep`,用于删除表格中从未发送的文件的控制台工作,这是其最后一次上传后的一天.
-   `host.records.removed` 删除已删除的提交文件(API的删除和一个人的去除).

**病症持续存在.** `componentId` (单位:千美元)`form`, (中文(简体) ), `formField`, (中文(简体) ), `formFileUpload`)存储在每一个屏幕文档中,而不改变. `pluginId` 被存储在旁边,并且是 `forms` (单位:千美元)`BUNDLE_ID`); 渲染器读来决定哪些捆绑必须在第一次涂料之前注册,所以一个没有表格的页面不会等待这个包.

**什么不在这里.** 插件没有服务器条目 。 表格模型和公布时间合同检查在 `@aglyn/aglyn`,提交端点属于租户应用程序,该应用程序通过 `@aglyn/tenant-runtime`。它们坐在核心一侧,因为核心可能不会导入插件。 因此,关闭一个站点的表格不是此捆绑的属性:每半个,包括提交路由和发布检查,都会询问站点插件设置的 `forms` 编号. 提交材料通过上面的区域读取,以在该区域注册阅读器的插件为准.

## 使用量

插件通过 Aglyn 的插件管理器加载: 生成的加载器会导入包, 并调用在 `plugins.config.json`。在启动时,电线插件用手拨打一次的应用程序:

```ts
// published site or editor canvas: the elements alone
import { registerFormsPlugin } from '@aglyn/plugins-forms/site'
registerFormsPlugin()

// console
import { registerFormsConsole } from '@aglyn/plugins-forms'
registerFormsConsole()
```

导入画布的一半 `./site`,而不是从根:根入也带有控制台登记员及其页面. 特性捆绑取决于 `mui` 捆绑,所以 `@aglyn/plugins-mui` 要装入的元素必须注册.

## 怎样才合适

一个插件软件包( E)`scope:plugin`) (中文(简体) ). 取决于核心`@aglyn/aglyn`),租户客户钩(`@aglyn/tenant-feature-instance`)和通用软件 `@aglyn/shared-*` 软件包。 它不导入其它插件: 它命名为 `mui` 由 id 键来捆绑核心导出,以及将提交件或映射字段读取到联系人上的插件通过控制台区域与之相会. 核心从未导入此套件 .

## 许可证

阿帕奇2.0 (英语). 资料来源: [https://github.com/aglyn/aglyn/tree/main/libs/plugins/forms 页面存档备份,存于互联网档案馆](https://github.com/aglyn/aglyn/tree/main/libs/plugins/forms)

## 常见问题

### @aglyn/plugins-forms 是什么？

Aglyn 的表单插件: form 财务报告和审定财务报表 formField 在站点上绘制窗体的元素,以及持有工作空间格式目录的控制台部分。 如果您提供了安放窗体的 Aglyn 文档, 或者运行 Aglyn 控制台, 请安装它; 它是第一个 p

### 如何安装 @aglyn/plugins-forms？

在项目目录运行 npm install @aglyn/plugins-forms，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：next（^16\.3\.3）、react（^19\.2\.8）、firebase（^13\.0\.0）、@mui/material（^9\.3\.1）、firebase-admin（^14\.3\.0）、@mui/x-data-grid（^9\.12\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @aglyn/plugins-forms 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @aglyn/plugins-forms 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @aglyn/plugins-forms 可以商用吗？

@aglyn/plugins-forms 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @aglyn/plugins-forms 的下载量有多少？

根据 npm 官方下载统计，@aglyn/plugins-forms 在 2026/10/05 – 2026/11/03 这 30 天内被下载 9,645 次，日均约 322 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aglyn/plugins-forms 还在维护吗？

最新版本 1\.19\.0 发布于 2026/11/07（今天）；至今共发布 162 个版本，其中过去 12 个月发布了 162 个；首次发布于 2026/09/21。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

