@lovrabet/rabetbase-cli 2.5.2-beta.3 → 2.5.2-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/auto-sync.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/deployment/sync.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.d.ts +0 -8
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.d.ts +4 -0
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.d.ts +5 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +0 -26
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.d.ts +43 -0
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/supported-flags.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.d.ts +6 -5
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +2 -1
- package/skills/rabetbase/SKILL.md +5 -5
- package/skills/rabetbase/guides/custom-page-workflow.md +35 -17
- package/skills/rabetbase/guides/page-development-workflow.md +1 -1
- package/skills/rabetbase/knowledge/components.md +292 -0
- package/skills/rabetbase/knowledge/custom-page/generation-standards.md +74 -4
- package/skills/rabetbase/knowledge/custom-page/page-templates.md +68 -0
- package/skills/rabetbase/references/rabetbase-page-create.md +21 -9
- package/skills/rabetbase/references/rabetbase-page-custom-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-custom-update.md +13 -9
- package/skills/rabetbase/references/rabetbase-project-create.md +5 -2
- package/skills/rabetbase/references/rabetbase-project-domain-routing-sync.md +2 -2
- package/skills/rabetbase/references/rabetbase-run.md +1 -0
- package/skills/rabetbase.manifest.json +5 -4
- package/templates/README.md +10 -4
- package/templates/custom-pages/blank.json +5 -0
- package/templates/custom-pages/dashboard.json +5 -0
- package/templates/custom-pages/onepage.json +5 -0
- package/templates/generate-api/api.ts.tpl +1 -1
- package/lib/commands/page/custom/template.d.ts +0 -8
- package/lib/commands/page/custom/template.js +0 -1
- package/skills/rabetbase/knowledge/custom-page/components.md +0 -225
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
# 自定义页面组件用法
|
|
2
|
-
|
|
3
|
-
本文件登记自定义页面可复用的 UI 组件规范。生成或修改页面前先阅读 [`generation-standards.md`](generation-standards.md)。
|
|
4
|
-
|
|
5
|
-
## 使用边界
|
|
6
|
-
|
|
7
|
-
- 可导入的组件包仅限 [`generation-standards.md`](generation-standards.md)“依赖白名单”中的包及其子路径
|
|
8
|
-
- `@lovrabet/components` 使用包根入口的公开具名导出,不导入内部实现路径
|
|
9
|
-
- 组件的用户可见文案必须使用 `$i18n.t("key")`
|
|
10
|
-
- 组件样式使用 Ant Design CSS 变量,不写死颜色或其他样式常量
|
|
11
|
-
- 未登记的业务组件、组件属性或行为不得猜测
|
|
12
|
-
|
|
13
|
-
## `@lovrabet/components` 组件
|
|
14
|
-
|
|
15
|
-
本节基于组件库 README、公开类型声明和 Storybook 用例整理。组件、属性和行为以当前发布版本的公开导出为准。页面代码从包根入口导入:
|
|
16
|
-
|
|
17
|
-
```js
|
|
18
|
-
import {
|
|
19
|
-
YTAIButton,
|
|
20
|
-
YTAIInput,
|
|
21
|
-
YtAddressPicker,
|
|
22
|
-
YtCodeEditor,
|
|
23
|
-
YTRichEditor,
|
|
24
|
-
YTRichEditorPreview,
|
|
25
|
-
YtUpload,
|
|
26
|
-
YtUserSelect,
|
|
27
|
-
} from "@lovrabet/components";
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
| 组件 | 适用场景 | 关键使用方式 |
|
|
31
|
-
| --- | --- | --- |
|
|
32
|
-
| `YTAIButton` | 通过已配置的提示词或 Skill 发起 AI 调用 | 配置 `promptId` 或 `skillId` 与必填 `userPrompt`,处理成功和失败回调 |
|
|
33
|
-
| `YTAIInput` | 需要输入内容后发起 AI 调用 | 配置 AI 调用参数,并使用 `inputType`、`userPromptTemplate` 和提交前校验控制输入流程 |
|
|
34
|
-
| `YtUserSelect` | 选择、编辑或只读展示应用用户 | 受控传入用户 code,使用 `preview` 切换只读展示 |
|
|
35
|
-
| `YtAddressPicker` | 选择或只读展示地址层级 | 受控传入地址 value 路径;需要自定义地址时传入 `options` 或 `optionsUrl` |
|
|
36
|
-
| `YtUpload` | 上传、展示、预览或下载附件 | 传入当前 `appCode`,以 `value` 和 `onChange` 管理已完成的业务文件 |
|
|
37
|
-
| `YTRichEditor` | 编辑富文本内容 | 用 `defaultValue` 初始化,通过 `onChange` 接收 HTML,并为图片上传提供 `upload` |
|
|
38
|
-
| `YTRichEditorPreview` | 只读展示富文本 HTML | 传入必填 `content` |
|
|
39
|
-
| `YtCodeEditor` | 编辑或只读展示代码、JSON 等文本 | 以 `value` 和 `onChange` 受控,按需设置 `language`、`readOnly` 和编辑器选项 |
|
|
40
|
-
|
|
41
|
-
## 使用 Demo
|
|
42
|
-
|
|
43
|
-
以下示例基于组件库 Storybook 用例调整而来。示例中的 `appCode`、提示词或 Skill 标识、数据和回调均由页面上下文提供;所有用户可见文案使用 `$i18n.t("key")`。示例均假设已通过 `useI18n()` 获取 `$i18n`,并按需从 React 导入 `useState`。
|
|
44
|
-
|
|
45
|
-
### AI 按钮
|
|
46
|
-
|
|
47
|
-
```jsx
|
|
48
|
-
<YTAIButton
|
|
49
|
-
promptId={promptId}
|
|
50
|
-
userPrompt={$i18n.t("ai.userPrompt")}
|
|
51
|
-
onSuccess={setGeneratedContent}
|
|
52
|
-
onError={setError}
|
|
53
|
-
>
|
|
54
|
-
{$i18n.t("ai.generate")}
|
|
55
|
-
</YTAIButton>
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
使用 `skillId` 替代 `promptId` 时,同时传入 `appCode`。需要在调用前校验页面状态时,传入 `onClick` 并在不满足条件时返回 `false`。
|
|
59
|
-
|
|
60
|
-
### AI 输入框
|
|
61
|
-
|
|
62
|
-
```jsx
|
|
63
|
-
<YTAIInput
|
|
64
|
-
inputType="textarea"
|
|
65
|
-
promptId={promptId}
|
|
66
|
-
userPromptTemplate={$i18n.t("ai.userPromptTemplate")}
|
|
67
|
-
placeholder={$i18n.t("ai.placeholder")}
|
|
68
|
-
buttonText={$i18n.t("ai.generate")}
|
|
69
|
-
onBeforeSubmit={validateInput}
|
|
70
|
-
onSuccess={setGeneratedContent}
|
|
71
|
-
onError={setError}
|
|
72
|
-
/>
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
`userPromptTemplate` 中使用 `{input}` 引用输入内容。`validateInput` 返回 `false` 时不会调用 AI。
|
|
76
|
-
|
|
77
|
-
### 用户选择
|
|
78
|
-
|
|
79
|
-
```jsx
|
|
80
|
-
const [userCodes, setUserCodes] = useState([]);
|
|
81
|
-
|
|
82
|
-
<YtUserSelect
|
|
83
|
-
appCode={appCode}
|
|
84
|
-
value={userCodes}
|
|
85
|
-
onChange={setUserCodes}
|
|
86
|
-
placeholder={$i18n.t("userSelect.placeholder")}
|
|
87
|
-
/>
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
只读展示时使用 `<YtUserSelect appCode={appCode} value={userCodes} preview />`。
|
|
91
|
-
|
|
92
|
-
### 地址选择
|
|
93
|
-
|
|
94
|
-
```jsx
|
|
95
|
-
const [address, setAddress] = useState([]);
|
|
96
|
-
|
|
97
|
-
<YtAddressPicker
|
|
98
|
-
options={addressOptions}
|
|
99
|
-
value={address}
|
|
100
|
-
onChange={setAddress}
|
|
101
|
-
/>
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
`addressOptions` 的用户可见 `label` 必须使用词条或已确认的业务数据。只读展示时传入 `preview`。
|
|
105
|
-
|
|
106
|
-
### 附件上传
|
|
107
|
-
|
|
108
|
-
```jsx
|
|
109
|
-
const [files, setFiles] = useState([]);
|
|
110
|
-
|
|
111
|
-
<YtUpload
|
|
112
|
-
appCode={appCode}
|
|
113
|
-
accept="image/*"
|
|
114
|
-
max={maxFiles}
|
|
115
|
-
maxSizeMB={maxFileSizeMB}
|
|
116
|
-
value={files}
|
|
117
|
-
onChange={setFiles}
|
|
118
|
-
/>
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
展示已有附件时,将已确认的 `YtUploadFile[]` 传给 `value`;只读预览、下载和列表展示时传入 `preview`。
|
|
122
|
-
|
|
123
|
-
### 富文本编辑与预览
|
|
124
|
-
|
|
125
|
-
```jsx
|
|
126
|
-
const [content, setContent] = useState(initialContent);
|
|
127
|
-
|
|
128
|
-
<YTRichEditor
|
|
129
|
-
defaultValue={initialContent}
|
|
130
|
-
upload={uploadImage}
|
|
131
|
-
onChange={setContent}
|
|
132
|
-
onImageUploadError={setError}
|
|
133
|
-
/>
|
|
134
|
-
|
|
135
|
-
<YTRichEditorPreview content={content} />
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
`uploadImage` 接收 `File` 并返回可访问图片 URL。图片上传服务和内容持久化的实现必须遵循已确认的服务契约。
|
|
139
|
-
|
|
140
|
-
### 代码编辑
|
|
141
|
-
|
|
142
|
-
```jsx
|
|
143
|
-
const [code, setCode] = useState("");
|
|
144
|
-
|
|
145
|
-
<YtCodeEditor
|
|
146
|
-
language="json"
|
|
147
|
-
value={code}
|
|
148
|
-
onChange={setCode}
|
|
149
|
-
placeholder={$i18n.t("codeEditor.placeholder")}
|
|
150
|
-
wordWrap="on"
|
|
151
|
-
/>
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
只读展示时使用 `readOnly`,按需使用 `minimap`、`lineNumbers`、`tabSize` 或 `options` 配置编辑器。
|
|
155
|
-
|
|
156
|
-
### AI 调用组件
|
|
157
|
-
|
|
158
|
-
#### `YTAIButton`
|
|
159
|
-
|
|
160
|
-
- `userPrompt` 必填
|
|
161
|
-
- `promptId` 与 `skillId` 二选一,组件优先使用 `promptId`
|
|
162
|
-
- 使用 `skillId` 时传入当前 `appCode`;`showPopover` 只在 Skill 场景生效
|
|
163
|
-
- `onClick` 返回 `false` 可阻止本次调用;通过 `onSuccess`、`onResponse` 和 `onError` 分别处理结果、完整响应和失败
|
|
164
|
-
- `options` 仅用于传入已确认的 `temperature`、`maxTokens` 等 AI 调用选项
|
|
165
|
-
- 提示词标识、权限和可用环境未确认时,不生成调用代码
|
|
166
|
-
|
|
167
|
-
#### `YTAIInput`
|
|
168
|
-
|
|
169
|
-
- 继承 `YTAIButton` 的 AI 调用配置和回调,且不直接传入 `userPrompt`
|
|
170
|
-
- 使用 `inputType="input"` 或 `inputType="textarea"` 选择输入形态,使用 `display="inline"` 或 `display="block"` 控制按钮布局
|
|
171
|
-
- `userPromptTemplate` 中的 `{input}` 会替换为当前输入内容;需要特殊拼接时使用 `formatUserPrompt`
|
|
172
|
-
- 使用 `onBeforeSubmit` 校验输入,返回 `false` 时阻止调用;使用 `onInputChange` 同步页面状态
|
|
173
|
-
- `placeholder`、`buttonText` 和其他用户可见字符串必须传入 `$i18n.t("key")` 的结果
|
|
174
|
-
|
|
175
|
-
### 选择与上传组件
|
|
176
|
-
|
|
177
|
-
#### `YtUserSelect`
|
|
178
|
-
|
|
179
|
-
- 当前用户列表由组件加载,页面不自行猜测或复刻用户查询接口
|
|
180
|
-
- `value` 支持用户 code 数组、单个 code,以及兼容历史数据的 `{ code }` 数组;`onChange` 始终返回用户 code 数组
|
|
181
|
-
- 需要只读展示时传入 `preview`
|
|
182
|
-
- 传入当前 `appCode` 以明确查询上下文;`env` 只在需要覆盖当前环境识别时设置
|
|
183
|
-
|
|
184
|
-
#### `YtAddressPicker`
|
|
185
|
-
|
|
186
|
-
- `value` 与 `onChange` 使用 `string[]` 形式的地址层级路径
|
|
187
|
-
- 传入 `options` 时使用调用方提供的级联选项;未传时使用组件内置地址数据,也可通过 `optionsUrl` 配置地址选项来源
|
|
188
|
-
- 只读展示时传入 `preview`
|
|
189
|
-
- 自定义选项的 `label` 为用户可见内容时,必须来自已翻译词条或已确认的业务数据
|
|
190
|
-
|
|
191
|
-
#### `YtUpload`
|
|
192
|
-
|
|
193
|
-
- 传入当前 `appCode`,不依赖页面自行读取宿主全局变量
|
|
194
|
-
- `value` 支持 `YtUploadFile[]` 或兼容的 JSON 字符串,`onChange` 返回上传完成的业务文件列表
|
|
195
|
-
- 使用 `max`、`maxSizeMB` 和 `accept` 限制上传数量、体积和文件类型;需要只读展示、预览和下载时传入 `preview`
|
|
196
|
-
- 文件持久化、提交和删除由页面业务逻辑处理;先确认数据集 SDK 或其他已确认服务契约,再写入文件字段
|
|
197
|
-
|
|
198
|
-
### 内容编辑组件
|
|
199
|
-
|
|
200
|
-
#### `YTRichEditor` 与 `YTRichEditorPreview`
|
|
201
|
-
|
|
202
|
-
- `YTRichEditor` 使用 `defaultValue` 初始化内容,`onChange` 返回 HTML 字符串或空值
|
|
203
|
-
- 启用图片上传时,`upload` 必须返回可访问图片 URL;用 `onImageUploadError` 和 `onLoadError` 处理上传或资源加载失败
|
|
204
|
-
- 通过 `disabled` 控制编辑状态;通过 `locale` 设置工具栏和错误提示语言
|
|
205
|
-
- 使用 `YTRichEditorPreview` 或 `YTRichEditor.Preview` 展示 HTML,且必须传入 `content`
|
|
206
|
-
- 需要覆盖运行资源或加载占位时,使用已确认的 `resourceUrl` 和 `loadingFallback`,不得猜测资源地址
|
|
207
|
-
|
|
208
|
-
#### `YtCodeEditor`
|
|
209
|
-
|
|
210
|
-
- 使用 `value` 与 `onChange` 管理编辑内容;空值按空字符串处理
|
|
211
|
-
- `language`、`theme`、`minimap`、`lineNumbers`、`wordWrap`、`fontSize`、`tabSize` 和 `options` 用于配置 Monaco 编辑器
|
|
212
|
-
- 需要展示不可编辑内容时使用 `readOnly` 或 `disabled`
|
|
213
|
-
- 未传 `theme` 时组件跟随外层 Ant Design 主题;页面不自行猜测 Monaco 运行资源或加载方式
|
|
214
|
-
|
|
215
|
-
### 非组件公开能力
|
|
216
|
-
|
|
217
|
-
- `queryLLM` 是 `YTAIButton` 对应的直接 AI 调用方法。仅在已确认提示词或 Skill 标识、调用权限和错误处理策略时使用
|
|
218
|
-
- `useUserList` 是 `YtUserSelect` 对应的用户列表 Hook。默认优先使用 `YtUserSelect`;仅在需要自定义交互且已确认返回结构时使用
|
|
219
|
-
|
|
220
|
-
### 使用检查
|
|
221
|
-
|
|
222
|
-
- 组件名称与属性以公开类型声明为准,不使用 README、Storybook 或包内部文件中未公开的实现路径
|
|
223
|
-
- 所有用户可见字符串,包括按钮文本、占位文本和自定义选项 label,均使用 `$i18n.t("key")` 或来自已确认的业务数据
|
|
224
|
-
- 组件的加载、空态、失败和禁用状态与页面交互一致
|
|
225
|
-
- 自定义数据读取或写入仍遵循 [`generation-standards.md`](generation-standards.md) 中的数据客户端文档流程
|