weaver-work-cli 0.1.23 → 0.1.25
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 +33 -3
- package/dist/core/output.js +53 -1
- package/dist/internal/e10/auth/commands.js +210 -17
- package/dist/internal/e10/auth/crypto.js +52 -12
- package/dist/internal/e10/auth/xiaoe.js +117 -35
- package/dist/internal/e10/context.js +3 -3
- package/dist/internal/e10/request-runtime.js +46 -4
- package/dist/shortcuts/caizhilian/file-upload/metadata.js +124 -0
- package/dist/shortcuts/caizhilian/file-upload/multipart.js +47 -0
- package/dist/shortcuts/caizhilian/file-upload/protocol.js +116 -0
- package/dist/shortcuts/caizhilian/file-upload/receipt.js +37 -0
- package/dist/shortcuts/caizhilian/host.js +13 -5
- package/dist/shortcuts/caizhilian/operations/handlers/file-upload.js +72 -179
- package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +67 -1
- package/dist/shortcuts/caizhilian/operations/handlers/folder.js +701 -4
- package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +198 -0
- package/dist/shortcuts/caizhilian/operations/registry.js +5 -1
- package/dist/shortcuts/caizhilian/operations/shared.js +32 -0
- package/dist/shortcuts/caizhilian/operations/specs.js +67 -0
- package/dist/shortcuts/workflow/continuation.js +14 -9
- package/dist/shortcuts/workflow/endpoints.js +11 -1
- package/dist/shortcuts/workflow/index.js +55 -1
- package/dist/shortcuts/workflow/operations/flow-status.js +63 -0
- package/dist/shortcuts/workflow/operations/form.js +1822 -547
- package/dist/shortcuts/workflow/operations/read.js +414 -13
- package/dist/shortcuts/workflow/operations/shared.js +28 -0
- package/dist/shortcuts/workflow/operations/write.js +5 -5
- package/dist/shortcuts/workflow/operations.js +8 -6
- package/dist/shortcuts/workflow/stdout-compact.js +33 -0
- package/docs/caizhilian.md +12 -5
- package/docs/e10-auth.md +25 -3
- package/node_modules/@napi-rs/keyring/LICENSE +21 -0
- package/node_modules/@napi-rs/keyring/README.md +19 -0
- package/node_modules/@napi-rs/keyring/index.d.ts +166 -0
- package/node_modules/@napi-rs/keyring/index.js +514 -0
- package/node_modules/@napi-rs/keyring/keytar.d.ts +53 -0
- package/node_modules/@napi-rs/keyring/keytar.js +26 -0
- package/node_modules/@napi-rs/keyring/package.json +125 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/README.md +3 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/keyring.darwin-arm64.node +0 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/package.json +32 -0
- package/node_modules/commander/LICENSE +22 -0
- package/node_modules/commander/Readme.md +1149 -0
- package/node_modules/commander/esm.mjs +16 -0
- package/node_modules/commander/index.js +24 -0
- package/node_modules/commander/lib/argument.js +149 -0
- package/node_modules/commander/lib/command.js +2662 -0
- package/node_modules/commander/lib/error.js +39 -0
- package/node_modules/commander/lib/help.js +709 -0
- package/node_modules/commander/lib/option.js +367 -0
- package/node_modules/commander/lib/suggestSimilar.js +101 -0
- package/node_modules/commander/package-support.json +16 -0
- package/node_modules/commander/package.json +82 -0
- package/node_modules/commander/typings/esm.d.mts +3 -0
- package/node_modules/commander/typings/index.d.ts +1045 -0
- package/package.json +5 -1
- package/skills/weaver-e10-builder/SKILL.md +281 -0
- package/skills/weaver-e10-builder/_catalog.md +94 -0
- package/skills/weaver-e10-builder/actionflows/CONTEXT.md +71 -0
- package/skills/weaver-e10-builder/actionflows/SKILL.md +176 -0
- package/skills/weaver-e10-builder/actionflows/docs/adr/0001-generated-actionflow-cleanup-identity.md +5 -0
- package/skills/weaver-e10-builder/actionflows/docs/adr/0002-preserve-existing-actionflow-on-update.md +36 -0
- package/skills/weaver-e10-builder/actionflows/references/components/calendar/MeetingCreate.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/database/DMLExecute.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentCopy.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentMove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentCopy.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentDelete.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentEdit.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentMove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRenewal.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRevert.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscription.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/FileFolderSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/GetDocumentInfo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/ReplaceAttachment.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/UpdatePrintNum.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbAdd.md +100 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbDelete.md +23 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbUpdate.md +67 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/DateTrigger.md +32 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EnquiryForm.md +107 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventButton.md +33 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventFormData.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/http/Http.md +77 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/Condition.md +23 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/LogicFlowSet.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/MultipleExecution.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/Output.md +37 -0
- package/skills/weaver-e10-builder/actionflows/references/components/message/InnerMQSend.md +50 -0
- package/skills/weaver-e10-builder/actionflows/references/components/message/SendMessage.md +30 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/HrmEmployeeUpdate.md +34 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelAlterType.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelOnboarding.md +36 -0
- package/skills/weaver-e10-builder/actionflows/references/components/serverless/ServerlessAction.md +42 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/CustomTrigger.md +82 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/InnerMQListener.md +41 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/SimpleScheduler.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/WebHookTrigger.md +91 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCommit.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCreate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDelete.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveEntrust.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveTrigger.md +99 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/condition_rules.md +100 -0
- package/skills/weaver-e10-builder/actionflows/references/dynamic_capability_matrix.md +39 -0
- package/skills/weaver-e10-builder/actionflows/references/dynamic_resources.md +41 -0
- package/skills/weaver-e10-builder/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1043 -0
- package/skills/weaver-e10-builder/actionflows/references/function_rules.md +15 -0
- package/skills/weaver-e10-builder/actionflows/references/trigger_runtime_notes.md +53 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Bar.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/BarStack.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Bubble.json +323 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Calendar.json +515 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Circular.json +337 -0
- package/skills/weaver-e10-builder/assets/dom-structure/CollapsePanel.json +289 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Comment.json +617 -0
- package/skills/weaver-e10-builder/assets/dom-structure/CountDown.json +755 -0
- package/skills/weaver-e10-builder/assets/dom-structure/DigitalPanel.json +191 -0
- package/skills/weaver-e10-builder/assets/dom-structure/EbButton.json +387 -0
- package/skills/weaver-e10-builder/assets/dom-structure/FastCreate.json +242 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Gauge.json +282 -0
- package/skills/weaver-e10-builder/assets/dom-structure/HBar.json +336 -0
- package/skills/weaver-e10-builder/assets/dom-structure/HBarStack.json +337 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Line.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NList.json +712 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NavBar.json +274 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NavPanel.json +390 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NewTab.json +606 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Nightingale.json +336 -0
- package/skills/weaver-e10-builder/assets/dom-structure/PageHeader.json +205 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Picture.json +209 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Pie.json +338 -0
- package/skills/weaver-e10-builder/assets/dom-structure/ProgressChart.json +299 -0
- package/skills/weaver-e10-builder/assets/dom-structure/SearchGlobal.json +628 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Slide.json +489 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Treemap.json +324 -0
- package/skills/weaver-e10-builder/assets/factory/chart-dimensions.json +536 -0
- package/skills/weaver-e10-builder/assets/factory/example-btn-progress-collapse-configured.json +2515 -0
- package/skills/weaver-e10-builder/assets/factory/example-configured-2.json +13805 -0
- package/skills/weaver-e10-builder/assets/factory/example-configured.json +6735 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bar-stack.json +326 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bar.json +222 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bubble.json +322 -0
- package/skills/weaver-e10-builder/assets/factory/factory-calendar.json +325 -0
- package/skills/weaver-e10-builder/assets/factory/factory-circular.json +320 -0
- package/skills/weaver-e10-builder/assets/factory/factory-collapse-panel.json +132 -0
- package/skills/weaver-e10-builder/assets/factory/factory-comment.json +388 -0
- package/skills/weaver-e10-builder/assets/factory/factory-count-down.json +198 -0
- package/skills/weaver-e10-builder/assets/factory/factory-digital-panel.json +108 -0
- package/skills/weaver-e10-builder/assets/factory/factory-eb-button.json +150 -0
- package/skills/weaver-e10-builder/assets/factory/factory-fast-create.json +62 -0
- package/skills/weaver-e10-builder/assets/factory/factory-gauge.json +312 -0
- package/skills/weaver-e10-builder/assets/factory/factory-h-bar-stack.json +328 -0
- package/skills/weaver-e10-builder/assets/factory/factory-h-bar.json +326 -0
- package/skills/weaver-e10-builder/assets/factory/factory-line.json +212 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-bar.json +167 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-menu.json +144 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-panel.json +338 -0
- package/skills/weaver-e10-builder/assets/factory/factory-new-tab.json +163 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nightingale.json +312 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nlist.json +112 -0
- package/skills/weaver-e10-builder/assets/factory/factory-page-header.json +171 -0
- package/skills/weaver-e10-builder/assets/factory/factory-picture.json +169 -0
- package/skills/weaver-e10-builder/assets/factory/factory-pie.json +212 -0
- package/skills/weaver-e10-builder/assets/factory/factory-progress-chart.json +162 -0
- package/skills/weaver-e10-builder/assets/factory/factory-search-global.json +104 -0
- package/skills/weaver-e10-builder/assets/factory/factory-slide.json +164 -0
- package/skills/weaver-e10-builder/assets/factory/factory-treemap.json +322 -0
- package/skills/weaver-e10-builder/assets/icons.db +0 -0
- package/skills/weaver-e10-builder/assets/sample/.claude/settings.local.json +8 -0
- package/skills/weaver-e10-builder/assets/sample/api/formApi.js +510 -0
- package/skills/weaver-e10-builder/assets/sample/config/config.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/configLoad.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/configLoad_default.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/config_default.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/entry.js +22 -0
- package/skills/weaver-e10-builder/assets/sample/eslint.config.cjs +48 -0
- package/skills/weaver-e10-builder/assets/sample/memo.md +0 -0
- package/skills/weaver-e10-builder/assets/sample/readme.js +8 -0
- package/skills/weaver-e10-builder/references/app/guide-app-publish.md +92 -0
- package/skills/weaver-e10-builder/references/auth/guide-auth.md +88 -0
- package/skills/weaver-e10-builder/references/coding/guide-edit-backfill.md +189 -0
- package/skills/weaver-e10-builder/references/coding/guide-form-crud.md +262 -0
- package/skills/weaver-e10-builder/references/coding/guide-page-code.md +244 -0
- package/skills/weaver-e10-builder/references/coding/guide-page-export.md +119 -0
- package/skills/weaver-e10-builder/references/coding/ref-compile-rules.md +130 -0
- package/skills/weaver-e10-builder/references/common/guide-plan-template.md +164 -0
- package/skills/weaver-e10-builder/references/common/map.md +153 -0
- package/skills/weaver-e10-builder/references/common/ref-cli-commands.md +635 -0
- package/skills/weaver-e10-builder/references/components/@weapp-Button.md +104 -0
- package/skills/weaver-e10-builder/references/components/base-Badge.md +100 -0
- package/skills/weaver-e10-builder/references/components/base-Dialog.md +358 -0
- package/skills/weaver-e10-builder/references/components/base-Empty.md +58 -0
- package/skills/weaver-e10-builder/references/components/base-Tag.md +112 -0
- package/skills/weaver-e10-builder/references/components/display-Alert.md +64 -0
- package/skills/weaver-e10-builder/references/components/display-Avatar.md +150 -0
- package/skills/weaver-e10-builder/references/components/display-Calendar.md +263 -0
- package/skills/weaver-e10-builder/references/components/display-Carousel.md +115 -0
- package/skills/weaver-e10-builder/references/components/display-Collapse.md +299 -0
- package/skills/weaver-e10-builder/references/components/display-FilePreview.md +49 -0
- package/skills/weaver-e10-builder/references/components/display-Icon.md +66 -0
- package/skills/weaver-e10-builder/references/components/display-List.md +320 -0
- package/skills/weaver-e10-builder/references/components/display-Pagination.md +41 -0
- package/skills/weaver-e10-builder/references/components/display-Spin.md +34 -0
- package/skills/weaver-e10-builder/references/components/display-Steps.md +89 -0
- package/skills/weaver-e10-builder/references/components/display-Table.md +160 -0
- package/skills/weaver-e10-builder/references/components/display-Title.md +117 -0
- package/skills/weaver-e10-builder/references/components/form-Checkbox.md +161 -0
- package/skills/weaver-e10-builder/references/components/form-DepartmentBrowser-api.md +52 -0
- package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser-api.md +51 -0
- package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser.md +51 -0
- package/skills/weaver-e10-builder/references/components/form-Input.md +123 -0
- package/skills/weaver-e10-builder/references/components/form-Radio.md +145 -0
- package/skills/weaver-e10-builder/references/components/form-Select.md +191 -0
- package/skills/weaver-e10-builder/references/components/form-Switch.md +46 -0
- package/skills/weaver-e10-builder/references/components/form-Upload.md +53 -0
- package/skills/weaver-e10-builder/references/components/generic-Echarts.md +102 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-components.md +130 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-css.md +127 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-factory.md +460 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-version.md +111 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer.md +288 -0
- package/skills/weaver-e10-builder/references/esb-interface/guide-import.md +34 -0
- package/skills/weaver-e10-builder/references/form/guide-create-form.md +248 -0
- package/skills/weaver-e10-builder/references/form/guide-ebuilder-filter.md +73 -0
- package/skills/weaver-e10-builder/references/form/guide-ebuilder-scope.md +82 -0
- package/skills/weaver-e10-builder/references/form/guide-field-linkage.md +123 -0
- package/skills/weaver-e10-builder/references/form/guide-form-archive-permission.md +175 -0
- package/skills/weaver-e10-builder/references/form/guide-form-association.md +124 -0
- package/skills/weaver-e10-builder/references/form/guide-form-button.md +169 -0
- package/skills/weaver-e10-builder/references/form/guide-form-data.md +78 -0
- package/skills/weaver-e10-builder/references/form/guide-form-formula-functions.md +343 -0
- package/skills/weaver-e10-builder/references/form/guide-form-layout-incremental.md +90 -0
- package/skills/weaver-e10-builder/references/form/guide-form-layout-planning.md +68 -0
- package/skills/weaver-e10-builder/references/form/guide-form-linkage.md +269 -0
- package/skills/weaver-e10-builder/references/form/guide-form-message.md +74 -0
- package/skills/weaver-e10-builder/references/form/guide-form-physical-table.md +146 -0
- package/skills/weaver-e10-builder/references/form/guide-form-serial-mark.md +47 -0
- package/skills/weaver-e10-builder/references/form/guide-form-sub-detail.md +82 -0
- package/skills/weaver-e10-builder/references/form/guide-form-view-permission.md +38 -0
- package/skills/weaver-e10-builder/references/form/guide-form-view.md +371 -0
- package/skills/weaver-e10-builder/references/form/guide-formula-linkage.md +281 -0
- package/skills/weaver-e10-builder/references/form/guide-list-columns.md +52 -0
- package/skills/weaver-e10-builder/references/form/guide-list-custom-text.md +52 -0
- package/skills/weaver-e10-builder/references/form/guide-list-stats.md +136 -0
- package/skills/weaver-e10-builder/references/form/guide-virtual-form.md +156 -0
- package/skills/weaver-e10-builder/references/form/ref-form-fields.md +293 -0
- package/skills/weaver-e10-builder/references/form/style-templates.md +97 -0
- package/skills/weaver-e10-builder/references/hrm/guide-matrix.md +245 -0
- package/skills/weaver-e10-builder/references/hrm/guide-org-employee.md +155 -0
- package/skills/weaver-e10-builder/references/menu/system-menus.md +75 -0
- package/skills/weaver-e10-builder/references/report/add-dataset-registration-guide.md +139 -0
- package/skills/weaver-e10-builder/references/report/ai-report-workflow.md +412 -0
- package/skills/weaver-e10-builder/references/report/api-report-build-fast-path.md +275 -0
- package/skills/weaver-e10-builder/references/report/app-datasource-lookup-guide.md +230 -0
- package/skills/weaver-e10-builder/references/report/cell-config-echo-guide.md +163 -0
- package/skills/weaver-e10-builder/references/report/cell-transform-guide.md +147 -0
- package/skills/weaver-e10-builder/references/report/condition-format-guide.md +140 -0
- package/skills/weaver-e10-builder/references/report/cross-dataset-filter-guide.md +304 -0
- package/skills/weaver-e10-builder/references/report/dataset-query-filter-guide.md +235 -0
- package/skills/weaver-e10-builder/references/report/dataset-sidebar-ops-guide.md +280 -0
- package/skills/weaver-e10-builder/references/report/dataset-table-field-contract-guide.md +339 -0
- package/skills/weaver-e10-builder/references/report/datasource-metadata-guide.md +365 -0
- package/skills/weaver-e10-builder/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
- package/skills/weaver-e10-builder/references/report/date-range-query-reference.md +102 -0
- package/skills/weaver-e10-builder/references/report/default-header-style-guide.md +70 -0
- package/skills/weaver-e10-builder/references/report/designer-blank-prevention-guide.md +111 -0
- package/skills/weaver-e10-builder/references/report/event-hreflink-guide.md +184 -0
- package/skills/weaver-e10-builder/references/report/field-bind-exact-match-guide.md +208 -0
- package/skills/weaver-e10-builder/references/report/formula-cell-api-guide.md +258 -0
- package/skills/weaver-e10-builder/references/report/guide-report-build.md +131 -0
- package/skills/weaver-e10-builder/references/report/guide-report-modify.md +100 -0
- package/skills/weaver-e10-builder/references/report/guide-report-multisource.md +143 -0
- package/skills/weaver-e10-builder/references/report/guide-report-query.md +98 -0
- package/skills/weaver-e10-builder/references/report/hidden-row-and-header-merge-guide.md +100 -0
- package/skills/weaver-e10-builder/references/report/layout-showlocation-freeze-guide.md +167 -0
- package/skills/weaver-e10-builder/references/report/preaggregate-auto-disable-guide.md +107 -0
- package/skills/weaver-e10-builder/references/report/query-condition-api-guide.md +890 -0
- package/skills/weaver-e10-builder/references/report/ref-report-commands.md +122 -0
- package/skills/weaver-e10-builder/references/report/ref-report-pitfalls.md +226 -0
- package/skills/weaver-e10-builder/references/report/report-baseinfo-defaults-guide.md +117 -0
- package/skills/weaver-e10-builder/references/report/report-building-guide.md +511 -0
- package/skills/weaver-e10-builder/references/report/report-config-schema.md +445 -0
- package/skills/weaver-e10-builder/references/report/report-create-modes-guide.md +182 -0
- package/skills/weaver-e10-builder/references/report/report-data-model.md +447 -0
- package/skills/weaver-e10-builder/references/report/report-delivery-contract.md +101 -0
- package/skills/weaver-e10-builder/references/report/report-designer-feature-map.md +500 -0
- package/skills/weaver-e10-builder/references/report/report-internal-error-guide.md +78 -0
- package/skills/weaver-e10-builder/references/report/report-knowledge-base.md +389 -0
- package/skills/weaver-e10-builder/references/report/report-lifecycle-api-guide.md +392 -0
- package/skills/weaver-e10-builder/references/report/report-list-page-ops-guide.md +191 -0
- package/skills/weaver-e10-builder/references/report/report-permission-guide.md +365 -0
- package/skills/weaver-e10-builder/references/report/report-requirement-analysis-template.md +202 -0
- package/skills/weaver-e10-builder/references/report/report-self-check-guide.md +164 -0
- package/skills/weaver-e10-builder/references/report/safe-partial-save-guide.md +151 -0
- package/skills/weaver-e10-builder/references/report/snowflake-id-precision-guide.md +84 -0
- package/skills/weaver-e10-builder/references/report/spec-build-schema.md +294 -0
- package/skills/weaver-e10-builder/references/report/targeted-fix-guide.md +97 -0
- package/skills/weaver-e10-builder/references/report/user-request-scope-only-guide.md +82 -0
- package/skills/weaver-e10-builder/references/workflow/guide-function-management.md +154 -0
- package/skills/weaver-e10-builder/references/workflow/guide-opinion-settings.md +126 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-action.md +174 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-auth-resp.md +224 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-condition.md +447 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-node-layout.md +181 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc-setting.md +248 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc.md +68 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow.md +527 -0
- package/skills/weaver-e10-builder/references/workflow/operator-matrix.md +76 -0
- package/skills/weaver-e10-caizhilian/SKILL.md +14 -4
- package/skills/weaver-e10-caizhilian/references/file-upload.md +100 -295
- package/skills/weaver-e10-caizhilian/references/files.md +15 -0
- package/skills/weaver-e10-caizhilian/references/folder.md +31 -3
- package/skills/weaver-e10-caizhilian/references/setting-attach.md +48 -3
- package/skills/weaver-e10-caizhilian/references/source-manifest.json +634 -25
- package/skills/weaver-e10-jiuchuanhui/SKILL.md +9 -1
- package/skills/weaver-e10-shared/SKILL.md +19 -5
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +25 -5
- package/skills/weaver-e10-workflow/SKILL.md +28 -47
- package/skills/weaver-e10-workflow/references/source-manifest.json +46 -36
- package/skills/weaver-e10-workflow/references/workflow-batch.md +2 -4
- package/skills/weaver-e10-workflow/references/workflow-create.md +261 -86
- package/skills/weaver-e10-workflow/references/workflow-edit.md +2 -1
- package/skills/weaver-e10-workflow/references/workflow-memory.md +3 -6
- package/skills/weaver-e10-workflow/references/workflow-operate.md +2 -1
- package/skills/weaver-e10-workflow/references/workflow-query.md +11 -9
- package/skills/weaver-e10-workflow/references/workflow-share.md +2 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# 默认表头样式(强制分流)
|
|
2
|
+
|
|
3
|
+
> **适用**:新建 / `e10-cli report build` 搭表时的标题行、列表字段表头行外观。
|
|
4
|
+
> **CLI**:`e10-cli report validate style --list` / `--inline '{...}'`
|
|
5
|
+
> **实现**:`e10-cli report validate style` → `build_from_spec.js` 分层套用。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 〇、何时用默认、何时听用户(强制)
|
|
10
|
+
|
|
11
|
+
| 用户输入 | 行为 |
|
|
12
|
+
|----------|------|
|
|
13
|
+
| **未提样式**、**未给效果图/截图配色** | 自动套 **默认表头样式**(本页 §一);正文保持素色 |
|
|
14
|
+
| **明确样式**(颜色/字体/主题/「表头蓝色」等) | **完全按用户**;写入 `spec.style` / `titleStyle` / `headerStyle`;**不再**叠默认蓝灰头 |
|
|
15
|
+
| **有效果图 / 原型截图** | 从效果图提取配色写入 spec,并设 `styleFromMockup: true`;**禁止**再盖默认头 |
|
|
16
|
+
| `applyDefaultHeader: false` 或 `stylePreset: "plain"` | 强制素色,不要装饰表头 |
|
|
17
|
+
|
|
18
|
+
**禁止**:用户已指定样式或已给效果图时,仍强行刷默认 `#B6D6FF` / `#E6E6E6`。
|
|
19
|
+
**禁止**:定点改已有报表时,未点名「改样式」却整表套默认头(见 `user-request-scope-only-guide.md`)。
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 一、默认值(与 assets 列表模板一致)
|
|
24
|
+
|
|
25
|
+
| 层级 | 用途 | backColor | foreColor | font | 对齐 |
|
|
26
|
+
|------|------|-----------|-----------|------|------|
|
|
27
|
+
| **title** | `layout.title` 合并标题行 | `#B6D6FF` | `#000000` | 微软雅黑 **14** 加粗 | 居中 |
|
|
28
|
+
| **header** | 列名 Const 表头行 | `#E6E6E6` | `#000000` | 微软雅黑 **12** 加粗 | 居中 |
|
|
29
|
+
| **body** | Field / 公式数据格 | `#FFFFFF` | `#333333` | 微软雅黑 **12** | 居左 |
|
|
30
|
+
|
|
31
|
+
边框默认 `#CCCCCC`(标题边略深 `#99B8D9`)。字号须落在设计器目录(无 10 号)。
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 二、spec 字段
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"styleFromMockup": false,
|
|
40
|
+
"applyDefaultHeader": true,
|
|
41
|
+
"style": { },
|
|
42
|
+
"titleStyle": { },
|
|
43
|
+
"headerStyle": { },
|
|
44
|
+
"bodyStyle": { }
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
| 字段 | 说明 |
|
|
49
|
+
|------|------|
|
|
50
|
+
| (均省略) | → `source=default-header`,套 §一 |
|
|
51
|
+
| `style` / 任一层 `*Style` | → `source=user`,用户优先 |
|
|
52
|
+
| `styleFromMockup: true` | → `source=user`,禁止默认头 |
|
|
53
|
+
| `applyDefaultHeader: false` | → `source=plain` |
|
|
54
|
+
|
|
55
|
+
`build_from_spec` 回读/日志含 `styleSource`。
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 三、Agent 话术
|
|
60
|
+
|
|
61
|
+
- 未指定时:落库后可一句带过「已套用默认表头(蓝标题 + 灰列头);若要改配色请说明」。
|
|
62
|
+
- 有指定/效果图:不要提默认头,只按用户视觉落地。
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 四、相关
|
|
67
|
+
|
|
68
|
+
- `spec-build-schema.md` §三
|
|
69
|
+
- `cell-config-echo-guide.md`(同款样式复用、字号目录)
|
|
70
|
+
- `assets/template-list-report.json`(同色脚手架)
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# 设计器空白防护(强制 · 不允许发生)
|
|
2
|
+
|
|
3
|
+
> **事故(已验证 · 报表 `1312790168931180545`)**:设计区中间空白,但 `fields.length` 仍 > 0 —— **不是删格**,是配置毒化导致前端加载崩溃/空白。
|
|
4
|
+
> **硬约束**:下列写入错误 **一律禁止**;落库前必须校验;发现设计区空白优先按本指南定位,禁止盲目整表覆盖。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 一、已验证会导致「设计区空白」的写入(禁令)
|
|
9
|
+
|
|
10
|
+
| # | 错误写法 | 后果 | 正确做法 |
|
|
11
|
+
|---|----------|------|----------|
|
|
12
|
+
| **1** | `snapshot.sheetId = Number(reportId)`(及 `id`/`jobId` 用 Number) | 雪花 ID 超 `MAX_SAFE_INTEGER` 截断(`…0545`→`…0500`),快照 sheetId 错位 → **设计区空白** | **一律 `String(reportId)`**;禁止对雪花 ID 做 `Number()` |
|
|
13
|
+
| **2** | `showLocation: 0`(或从 sheetProps 原样回传 0) | 前端 truthy 判断异常,布局空白/错乱 | 仅允许 **`1`(居左)或 `2`(居中)**;读到 0 必须改成 2(或用户点名居左则 1) |
|
|
14
|
+
| **3** | `scrollPage: "1"` 且 `scrollContentField` 为空 | 滑动分页表单项 required,配置残缺 → 设计器异常 | 开滑动分页必须带有效 `scrollContentField`;否则 **`scrollPage: "0"`** |
|
|
15
|
+
| **4** | 空 workbook / 空 dataTable 提交 `saveReportDevInfo` | fields 被全量清空 → 真空白 | `mergeWorkbookSafe` / 从 fields 重建;见 `safe-partial-save-guide.md` |
|
|
16
|
+
| **5** | Formula `cellText` 带前导 `=` / 错误 countType | 设计器整页空白 | 见 `formula-cell-api-guide.md` |
|
|
17
|
+
|
|
18
|
+
**禁止**:为「开快照 / 改分页 / 改打印」而提交会触发上表任一错误的 payload。
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 二、定时快照命名与 ID 契约
|
|
23
|
+
|
|
24
|
+
### 2.1 默认快照名称(强制)
|
|
25
|
+
|
|
26
|
+
用户**未指定**快照名称时,默认:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
{当前报表名}-{date}-{time}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
示例:报表名 `测试报表-chl` → `测试报表-chl-{date}-{time}`
|
|
33
|
+
|
|
34
|
+
| 占位符 | 含义 |
|
|
35
|
+
|--------|------|
|
|
36
|
+
| `{date}` | 生成日(平台解析) |
|
|
37
|
+
| `{time}` | 生成时分(平台解析) |
|
|
38
|
+
|
|
39
|
+
**禁止**再默认写成 `{year}-{month}-{day}`(旧习惯)。用户显式传入 `--snapshot-name` 时才用自定义名。
|
|
40
|
+
|
|
41
|
+
### 2.2 sheetId / id / jobId
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
{
|
|
45
|
+
enableSnapshot: true,
|
|
46
|
+
cron: '0 0/1 * * * ?', // 例:每分钟
|
|
47
|
+
snapshotName: `${reportName}-{date}-{time}`,
|
|
48
|
+
params: JSON.stringify({ searchCondition: {} }),
|
|
49
|
+
sheetId: String(reportId), // 禁止 Number()
|
|
50
|
+
// id / jobId 若回传:同样 String(...)
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
落库后门禁:
|
|
55
|
+
|
|
56
|
+
- `enableSnapshot === true`(若本次为开启)
|
|
57
|
+
- `String(snapshot.sheetId) === String(reportId)`(在**未经过 JSON number 污染的原始串**上比;Node `JSON.parse` 大整数可能已截断,**写入侧必须保证字符串**)
|
|
58
|
+
- `fields.length` 不下降
|
|
59
|
+
|
|
60
|
+
CLI:`e10-cli report snapshot set --report-id <id> [--cron "..."] [--snapshot-name "..."]`
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 三、其它本会话沉淀(写入时一并遵守)
|
|
65
|
+
|
|
66
|
+
| 主题 | 规则 | 文档 / CLI |
|
|
67
|
+
|------|------|------------|
|
|
68
|
+
| 数字格式回显 | formatter **目录全等** + `formatterType` 成对;货币=`huobi`+全角¥格式串 | `cell-config-echo-guide.md`;`validate format` |
|
|
69
|
+
| 日期分组回显 | `groupType=year/yearmonth/...` 写入 fields + cellType | 同上 |
|
|
70
|
+
| 字体字号 | 不支持则**提示**并用默认字号继续,**不卡住** | 同上 |
|
|
71
|
+
| 禁整表刷样式/边框 | 用户要整表设样式 → **提示不支持**,须给区域 | 同上 + scope |
|
|
72
|
+
| `showLocation` | 禁止 0 | `layout-showlocation-freeze-guide.md` |
|
|
73
|
+
| **网格线** | workbook **禁止** `gridline` 键(存在→500);page `gridLine=0` | §4.6.1;`validate gridline` |
|
|
74
|
+
| 滑动分页 | `scrollPage=1` 须有内容字段;每页条数 `pageRowCount` | `allPageSetting` |
|
|
75
|
+
| 打印眉头页码 | Spread `headerCenter: "&[Page]"`;重复行 0-based | sheet `printInfo` |
|
|
76
|
+
| 局部保存 | 快照必须 `mergeWorkbookSafe`;禁空 workbook | `safe-partial-save-guide.md` |
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 四、保存前 Agent / CLI 检查清单(防空白)
|
|
81
|
+
|
|
82
|
+
任意 `saveReportDevInfo`(含快照)前:
|
|
83
|
+
|
|
84
|
+
- [ ] `fields.length > 0`(已有报表)
|
|
85
|
+
- [ ] workbook 重建后 `countCells > 0`
|
|
86
|
+
- [ ] `showLocation` ∈ `{1, 2}`,若为 0 → 改为 2
|
|
87
|
+
- [ ] **网格线**:workbook sheets **无** `gridline`/`gridLine`/`__gridline`;page 层默认 `gridLine=0` → `validate gridline`
|
|
88
|
+
- [ ] 若写 snapshot:`sheetId`/`id`/`jobId` 均为**字符串**;`snapshotName` 未指定则用 `{报表名}-{date}-{time}`
|
|
89
|
+
- [ ] 若 `scrollPage==="1"` → `scrollContentField` 非空,否则改 `"0"`
|
|
90
|
+
- [ ] 保存后 `fields.length` 不降;提示用户 Ctrl+F5
|
|
91
|
+
|
|
92
|
+
CLI 自检:`e10-cli report verify blank <reportId>`(含网格线联动);`e10-cli report validate gridline --inline '...'`
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 五、设计区已空白时的处置
|
|
97
|
+
|
|
98
|
+
1. **先** `getReportDevInfo`:若 `fields.length > 0` → 多半是配置毒化(快照 ID / showLocation / scrollPage),**不是**删光了
|
|
99
|
+
2. 关闭或修复坏快照(`enableSnapshot:false` 或重写 **String** sheetId)
|
|
100
|
+
3. 纠正 `showLocation`、关闭残缺滑动分页
|
|
101
|
+
4. 从 fields 安全重建 workbook 再存
|
|
102
|
+
5. 仅当 `fields.length===0` 才走 `rollbackReport`(版本 snapshotId)
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 六、与 Skill 映射
|
|
107
|
+
|
|
108
|
+
- SKILL 硬规则 **§L**
|
|
109
|
+
- `safe-partial-save-guide.md` §3.2
|
|
110
|
+
- `e10-cli report -cli.md` §一
|
|
111
|
+
- 脚本:`set_snapshot_schedule.js`、`validate_designer_blank_guard.js`
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# 报表事件 · 超链接传参(强制)
|
|
2
|
+
|
|
3
|
+
> **UI**:设计器右侧 **事件** Tab — PC链接地址 / H5链接地址 / 打开方式
|
|
4
|
+
> **帮助手册依据**:知识库 §5.3「查询条件传参」、§6.6「跳转数据列表页」;搭建指南「事件」Tab
|
|
5
|
+
> **源码**:`HreflinkTrans` · `SpreadUtil.getFormulaParams` · `DynamicParamsBuilder` · `HreflinkCellType`
|
|
6
|
+
> **CLI**:`e10-cli report validate href --file cell.json` / `--map "弹出页"`
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 〇、能力与落库键
|
|
11
|
+
|
|
12
|
+
| UI | 落库字段 | 说明 |
|
|
13
|
+
|----|----------|------|
|
|
14
|
+
| PC链接地址 | **`pcHreflink`** | 分析页 PC 点击跳转;运行时别名 `hreflink` |
|
|
15
|
+
| H5链接地址 | **`h5Hreflink`** | 移动端优先;运行时别名 `mbhreflink`;有值且移动端时覆盖 PC 链接 |
|
|
16
|
+
| 打开方式 | **`openType`** | 见 §二 |
|
|
17
|
+
|
|
18
|
+
须写入 **`fields[]` + workbook `style.cellType`**(Const/Field 均可配事件;超链接占位 Const 另遵守父格规则)。
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 一、帮助手册规则(产品语义)
|
|
23
|
+
|
|
24
|
+
摘自报表功能说明 / 知识库(Agent 须按此话术与用户对齐):
|
|
25
|
+
|
|
26
|
+
1. **事件动作可传递单元格值**(当前格及其父格值;**父格的父格也支持**)。
|
|
27
|
+
2. **可传递查询条件值**(查询条件标识形如 `{searchfield001}`)。
|
|
28
|
+
3. **跳转列表示例**:在链接中拼接单元格坐标参数,如
|
|
29
|
+
`/sp/ebdfpage/list/xxx?ry=B5&kssj=E3`
|
|
30
|
+
(`B5`/`E3` 表示取该格展开后的实际值)。
|
|
31
|
+
4. 打开方式 UI:**弹出页 / 当前页 / 执行js代码**。
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 二、打开方式 `openType`
|
|
36
|
+
|
|
37
|
+
| UI(事件面板) | 落库值 | 运行时 |
|
|
38
|
+
|----------------|--------|--------|
|
|
39
|
+
| **弹出页** | **`blank`**(默认;空则归一为 blank) | 新窗口/弹层 |
|
|
40
|
+
| **当前页** | **`self`** | 当前页跳转 |
|
|
41
|
+
| **执行js代码** | **`jsscript`** | 将链接内容当 JS 执行 |
|
|
42
|
+
|
|
43
|
+
禁止自造 `popup` / `window` 等别名。
|
|
44
|
+
|
|
45
|
+
**链接字符**:`?` / `&` 必须是 **ASCII**(`?`=U+003F)。禁止中文全角 `?`(U+FF1F),否则预览点击无反应(事故:E7 全角 vs F7 半角)。
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
e10-cli report validate href --map "弹出页"
|
|
49
|
+
e10-cli report validate href --map "执行js代码"
|
|
50
|
+
e10-cli report validate href --file cell.json --fix # 全角?→ASCII ?
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 三、传「单元格值」语法(帮助手册 · 强制)
|
|
56
|
+
|
|
57
|
+
> **范围**:仅当前格 + 设置链接字段的**左/上父格**(父格的父格也支持)。超出父格链的坐标**不能**取值。
|
|
58
|
+
|
|
59
|
+
### 3.1 查询串传参(台账过滤 / 外链最常用)
|
|
60
|
+
|
|
61
|
+
格式:`参数名=字段坐标`(坐标**不加** `{}`)。
|
|
62
|
+
|
|
63
|
+
| 规则 | 说明 |
|
|
64
|
+
|------|------|
|
|
65
|
+
| 链接**已有** `?` | 用 `&` 拼接:`...&aa=D4&bb=C4` |
|
|
66
|
+
| 链接**没有** `?` | 第一个参数用 `?`:`...?aa=D4&bb=C4` |
|
|
67
|
+
| 多值 | 多个 `&参数名=坐标` |
|
|
68
|
+
| 参数名 | **避免**系统关键字:`id`、`name` 等 |
|
|
69
|
+
| 父格链 | 左父格为默认时,E4→D4→C4,故 E4 链接可传 E4/D4/C4 |
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
# 示例1(已有 ?)
|
|
73
|
+
https://weapp.xxx.cn/sp/ebdfpage/list/1092...?id=1123...&aa=D4&bb=C4
|
|
74
|
+
|
|
75
|
+
# 示例2(无业务 ? 时,第一个单元格参用 ?)
|
|
76
|
+
https://weapp.xxx.cn/sp/ebdfpage/list/1092...?aa=D3&bb=C4
|
|
77
|
+
|
|
78
|
+
# 百度等外链(勿用 id/name 作参数名)
|
|
79
|
+
https://www.baidu.com/s?zclb=D7&zcmc=E7&cx={searchfield001}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
运行时将 `D4`/`C4` 替换为对应单元格展开后的**实际值**。
|
|
83
|
+
|
|
84
|
+
### 3.2 路径占位(表单布局 card 等)
|
|
85
|
+
|
|
86
|
+
布局地址里的 `$dataid$` 等改为 **`{坐标}`**(**带花括号**):
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
/sp/ebdfpage/card/0/1123053786772799489/{C4}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 3.3 其它写法(次要)
|
|
93
|
+
|
|
94
|
+
| 写法 | 说明 |
|
|
95
|
+
|------|------|
|
|
96
|
+
| **`{L4}` / `{A1}`** | 路径或需花括号的场景 |
|
|
97
|
+
| **`$datasetId.fieldName$`** | 同行数据集字段(引擎支持;**手册主推仍是坐标传参**) |
|
|
98
|
+
|
|
99
|
+
**超链接 Const 父格(强制)**:若链接依赖坐标数据格且该格是 Const 占位:
|
|
100
|
+
|
|
101
|
+
- **左父格**须指向提供该值的数据格,**禁止**默认 / `(0,0)`
|
|
102
|
+
- **上父格**通常 `-1`
|
|
103
|
+
|
|
104
|
+
普通 **Field** 纵向列表、左父格默认时:可按 §3.1 传当前格及左侧父格链坐标(如 E4 传 D4、C4)。
|
|
105
|
+
|
|
106
|
+
详见 `report-self-check-guide.md` §2.2。
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 四、传「查询条件值」语法
|
|
111
|
+
|
|
112
|
+
查询条件在高级搜索中的标识:
|
|
113
|
+
|
|
114
|
+
| 标识 | 含义 |
|
|
115
|
+
|------|------|
|
|
116
|
+
| `{searchfield001}` | `asNameIndex=1` → `searchfield` + 三位补零 |
|
|
117
|
+
| `{searchfield002}` | `asNameIndex=2` |
|
|
118
|
+
| `{searchfield001_start}` / `{searchfield001_end}` | 日期区间起止 |
|
|
119
|
+
|
|
120
|
+
规则:
|
|
121
|
+
|
|
122
|
+
1. `asNameIndex` 与 `showOrder` 一致且唯一 >0(见 `query-condition-api-guide.md`)。
|
|
123
|
+
2. 链接中写 `{searchfield00x}`,预览时替换为用户当前查询值。
|
|
124
|
+
3. 也可在表头 Const 的 `cellText` 中引用同一标识显示查询值。
|
|
125
|
+
4. 系统参数(如 `{userid}`、`{date}`、`{year}`)亦可出现在链接中(`DynamicParamsBuilder`)。
|
|
126
|
+
|
|
127
|
+
示例:
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
/sp/ebdfpage/list/864399547574140928?creator={searchfield001}&dept=B5
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
> 查询条件用 `{searchfield00x}`;单元格在查询串里用 **无花括号** 坐标(`dept=B5`)。
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 五、完整写入示例
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"cellType": "Field",
|
|
142
|
+
"name": "3506271460832878820",
|
|
143
|
+
"text": "资产名称",
|
|
144
|
+
"pcHreflink": "https://www.baidu.com/s?zclb=D7&zcmc=E7&cx={searchfield001}",
|
|
145
|
+
"h5Hreflink": "",
|
|
146
|
+
"openType": "blank"
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
路径型示例(Const/Field 均可):
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"cellType": "Const",
|
|
155
|
+
"cellText": "点击查看",
|
|
156
|
+
"pcHreflink": "/sp/ebdfpage/card/0/1123053786772799489/{C4}",
|
|
157
|
+
"openType": "blank",
|
|
158
|
+
"leftX": 3,
|
|
159
|
+
"leftY": 2,
|
|
160
|
+
"topX": -1,
|
|
161
|
+
"topY": -1
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 六、Agent 检查清单
|
|
168
|
+
|
|
169
|
+
- [ ] `openType` ∈ `blank|self|jsscript`,UI 文案已映射
|
|
170
|
+
- [ ] 传单元格:查询串用 `参数名=坐标`(无 `{}`);路径用 `{坐标}`;仅当前格+父格链
|
|
171
|
+
- [ ] 传查询条件:`{searchfield00x}`,asNameIndex 已对齐
|
|
172
|
+
- [ ] 参数名避免 `id`/`name` 等系统关键字
|
|
173
|
+
- [ ] PC/H5 分端:移动需要时填 `h5Hreflink`
|
|
174
|
+
- [ ] 双写 fields + workbook;`safe_report_save` / fieldToCell 不丢链接键
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 关联
|
|
179
|
+
|
|
180
|
+
- `report-help-guide.md` §事件(摘要)
|
|
181
|
+
- `report-knowledge-base.md` §5.3 / §6.6
|
|
182
|
+
- `query-condition-api-guide.md` — asNameIndex / searchfield
|
|
183
|
+
- `report-self-check-guide.md` — 超链接父格
|
|
184
|
+
- `report-designer-feature-map.md` §7.2
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# 字段精确绑定(强制 · 禁止匹配失败)
|
|
2
|
+
|
|
3
|
+
> **事故案例(已验证)**:报表 `AAA`(`1312677851392417792`)保存了 9 个 Field 格,但 `name` / `fieldKey` 末段写成裸雪花 ID `3506271516100878845`,而数据源真实字段名是 `field_3506271516100878845` → **设计器有字段格、取数全部匹配失败(字段获取不上)**。
|
|
4
|
+
> **前置事故(已验证 · `1312765120721813505`)**:Agent 用错 `addDataset`(`type=form` + `sourceGroup=appId`)时,`fieldsKey` **本身只有裸雪花**;用户在设计器手动「+」同表则得到 `field_*`。
|
|
5
|
+
> **遗漏点**:不是写 Field 时忘加前缀,而是 **注册契约与设计器不一致** —— 必先读 **`add-dataset-registration-guide.md`**,把数据集加成 LOGIC + `weaver-ebuilder-form-service`,再绑定。
|
|
6
|
+
> **唯一标准**:`name` / `fieldKey` 末段必须 **精确等于** 当前数据集 `fieldsAndOriginFields.fieldsKey[].name`(以接口回读为准)。
|
|
7
|
+
> **禁止**:注册错了却在 cell 上「手工补 `field_`」;或对正确的 `field_*` fieldsKey 去前缀。
|
|
8
|
+
> **硬目标**:任意 Field 的 `name` **必须**等于该 dataset 的 `fieldsKey[].name`;**零容忍**猜测、截断、错数据集。
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 〇、先保证 fieldsKey 带 `field_`(普通应用)
|
|
13
|
+
|
|
14
|
+
| 检查 | 说明 |
|
|
15
|
+
|------|------|
|
|
16
|
+
| addDataset | 默认 `sourceType=LOGIC` + `sourceGroup=weaver-ebuilder-form-service` |
|
|
17
|
+
| 门禁 | 业务字段若多为裸雪花 → **注册错误**,`delDataset` 重建;见 `add-dataset-registration-guide.md` |
|
|
18
|
+
| 同 sourceId 多实例 | **优先绑**设计器/LOGIC 那条(`field_*`),勿绑旧 form+appId 实例 |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 一、唯一合法字段名来源
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
GET /api/bs/edc/dataset/fieldsAndOriginFields
|
|
26
|
+
?datasetId={datasetId}&hasField=true&isFront=true&reportId={reportId}
|
|
27
|
+
→ data.fieldsKey[] // 权威列表;isFront=false 常为空,禁止依赖
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
每个 `fieldsKey` 项的关键属性:
|
|
31
|
+
|
|
32
|
+
| 属性 | 用途 | 示例 |
|
|
33
|
+
|------|------|------|
|
|
34
|
+
| **`name`** | **写入 Field 的 `name` / fieldKey 末段(唯一正确)** | `field_3506271516100878845`、`create_time` |
|
|
35
|
+
| `text` / `showName` | 仅用于按中文显示名**查找**对应 `name` | `资产类别` |
|
|
36
|
+
| `originName` | 参考,不可直接当 fieldKey 末段(除非与 `name` 相同) | — |
|
|
37
|
+
|
|
38
|
+
**禁止**从下列来源臆造 `name`:
|
|
39
|
+
|
|
40
|
+
| 错误来源 | 错误示例 | 后果 |
|
|
41
|
+
|----------|----------|------|
|
|
42
|
+
| 表单字段 ID / 雪花 ID(无 `field_`) | `3506271516100878845` | **取数匹配失败**(本案) |
|
|
43
|
+
| 显示名 | `资产类别` | 设计器/取数均失败 |
|
|
44
|
+
| 截断 / 半截 | `field_5`、`field_3506` | 匹配失败 |
|
|
45
|
+
| 去掉 `field_` 前缀 | 把 `field_xxx` 写成 `xxx` | **取数匹配失败** |
|
|
46
|
+
| 外部字段表 fieldId 未与 fieldsKey 交叉核对 | 形态可能不同 | 须与 fieldsKey.name 对齐后再用 |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 二、绑定算法(强制)
|
|
51
|
+
|
|
52
|
+
> **⚠️ 2026-09-11 追加门禁(事故:报表 `1313789294296735745`)**:B3 列文案「姓名」,但该表单**没有「姓名」字段**,
|
|
53
|
+
> 旧逻辑静默兜底到系统字段 `name`(真实显示名「标题」)→ 单元格文案与绑定字段语义不符、属性面板回显对不上。
|
|
54
|
+
> **新规则:精确匹配失败必须 `exit 4` 提示用户指定字段,禁止任何自动兜底(尤其禁止回退系统字段)。**
|
|
55
|
+
> 落地实现:`spec_lib.resolveFieldBindings()` + `e10-cli report build` 的**建表前预检**。
|
|
56
|
+
|
|
57
|
+
对需求中的每一列(显示名 → 数据字段):
|
|
58
|
+
|
|
59
|
+
### 2.0 允许的匹配(命中即止,**全为精确匹配**)
|
|
60
|
+
|
|
61
|
+
| 顺序 | 依据 | 说明 |
|
|
62
|
+
|------|------|------|
|
|
63
|
+
| 1 | `column.fieldName` / `spec.fieldMap[列标题]` | 用户/Agent 显式指定(可为 `field_xxx`、显示名、系统字段名) |
|
|
64
|
+
| 2 | 列标题 === `fieldsKey[].text/showName`(归一化:去空白、全角括号→半角) | 主路径 |
|
|
65
|
+
| 3 | `column.field` === `text/showName` 或 `name` | 兼容旧 spec |
|
|
66
|
+
| 4 | 都不中 | **`unmatched` → exit 4**(附模糊候选供用户挑选) |
|
|
67
|
+
|
|
68
|
+
**禁止**:包含/被包含(`includes`)等模糊规则自动绑定;**禁止**把 `name`/`id`/`create_time` 等系统字段当作兜底。
|
|
69
|
+
|
|
70
|
+
### 2.0.1 规则 A · 找不到字段 → **停下让用户指定**(强制 · 2026-09-11)
|
|
71
|
+
|
|
72
|
+
> **核心**:需求里的字段在当前数据集表单里**找不到**时,**不许猜、不许兜底**,必须停下把候选交给用户。
|
|
73
|
+
|
|
74
|
+
`resolveFieldBindings()` 的 `unmatched[]` 三种 `reason` 及处置:
|
|
75
|
+
|
|
76
|
+
| `reason` | 含义 | 退出码 | 处置 |
|
|
77
|
+
|----------|------|--------|------|
|
|
78
|
+
| `no_exact_match` | 列标题在 `fieldsKey.text` 中**无精确命中** | **4** | 把 `candidates` + `allFields` 抛给用户,请其指定字段 |
|
|
79
|
+
| `explicit_not_found` | 显式 `fieldName`/`fieldMap` 指向的字段**不存在** | **4** | 同上(禁止臆造字段名) |
|
|
80
|
+
| `display_mismatch` | 能绑到,但字段**真实显示名 ≠ 列文案**且未确认 | **4** | 用户确认列名有意如此 → `fieldConfirmed` / `--field-confirmed "列标题"` |
|
|
81
|
+
|
|
82
|
+
**两阶段拦截**(都不建表 / 删未完成表):
|
|
83
|
+
|
|
84
|
+
| 阶段 | 时机 | 未通过 |
|
|
85
|
+
|------|------|--------|
|
|
86
|
+
| 预检 | `fieldsBySource`(**建表前**) | **exit 4 · 未创建任何报表** |
|
|
87
|
+
| 复校 | 本表 `addDataset` → `fieldsKey`(落库前) | **exit 4 · 删除本轮未完成报表** |
|
|
88
|
+
|
|
89
|
+
输出结构(`rule:"A"`):
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"action": "confirm_field", "rule": "A", "needConfirm": true, "reportCreated": false,
|
|
94
|
+
"unmatched": [ { "column": "姓名", "reason": "no_exact_match", "prompt": "…请用户从 allFields/candidates 中指定字段",
|
|
95
|
+
"candidates": [ { "name": "field_...", "text": "发展人", "system": false } ] } ],
|
|
96
|
+
"allFields": [ { "name": "field_...", "text": "发展人", "system": false } ],
|
|
97
|
+
"next": { "specFields": { "fieldMap": { "<列标题>": "<字段显示名 | field_雪花 | 系统字段名>" } } }
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
用户指定后复跑:`spec.fieldMap = { "姓名": "发展人" }`(或 `field_xxx`)。
|
|
102
|
+
若列名坚持与字段显示名不同 → 另加 `fieldConfirmed: ["姓名"]` / CLI `--field-confirmed "姓名"`。
|
|
103
|
+
|
|
104
|
+
**禁止**:
|
|
105
|
+
- 用「最相近的」字段顶上(哪怕语义看似接近);
|
|
106
|
+
- 回退系统字段(`name`→「标题」是历史事故);
|
|
107
|
+
- 先带病落库、事后再让用户改。
|
|
108
|
+
|
|
109
|
+
> 一页速览:`e10-cli report --help`。
|
|
110
|
+
|
|
111
|
+
```javascript
|
|
112
|
+
// 1. 拉权威列表
|
|
113
|
+
const fieldsKey = (await fieldsAndOriginFields(...)).data.fieldsKey;
|
|
114
|
+
|
|
115
|
+
// 2. 解析(库函数,已含门禁)
|
|
116
|
+
const plan = resolveFieldBindings(fieldsKey, spec.columns, { fieldMap, fieldConfirmed });
|
|
117
|
+
if (!plan.ok) {
|
|
118
|
+
// exit 4:把每列 candidates 抛给用户,等其指定字段;不要自己猜
|
|
119
|
+
}
|
|
120
|
+
const nf = plan.bindings.find(b => b.index === colIndex).field;
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**规则摘要**:
|
|
124
|
+
|
|
125
|
+
1. **先** `fieldsAndOriginFields`,**再**写任何 Field 单元格
|
|
126
|
+
2. `name` **逐字等于** `fieldsKey[].name`(含 `field_` 前缀;系统字段如 `create_time` 原样)
|
|
127
|
+
3. `fieldKey` = `{datasetId}.{sourceId}.{fieldsKey.name}`,三段齐全
|
|
128
|
+
4. 保存前对**每一个** Field 做 `byName.has(name)`;任一失败 → **中止保存**,禁止带病落库
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 三、保存后强制回读校验(交付门禁)
|
|
133
|
+
|
|
134
|
+
`getReportDevInfo` 后,对每个 `cellType === 'Field'`:
|
|
135
|
+
|
|
136
|
+
```javascript
|
|
137
|
+
function assertFieldBindExact(devFields, fieldsKey) {
|
|
138
|
+
const legal = new Set(fieldsKey.map(f => f.name));
|
|
139
|
+
const fieldCells = devFields.filter(f => f.cellType === 'Field');
|
|
140
|
+
if (!fieldCells.length) throw new Error('无 Field 单元格');
|
|
141
|
+
for (const f of fieldCells) {
|
|
142
|
+
const last = String(f.fieldKey || '').split('.')[2] || '';
|
|
143
|
+
if (!f.name || !legal.has(f.name)) {
|
|
144
|
+
throw new Error(`字段匹配失败 name=${f.name} text=${f.text}`);
|
|
145
|
+
}
|
|
146
|
+
if (last !== f.name || !legal.has(last)) {
|
|
147
|
+
throw new Error(`fieldKey 末段不在 fieldsKey: ${f.fieldKey}`);
|
|
148
|
+
}
|
|
149
|
+
// 裸雪花:若 fieldsKey 里已有 field_xxx,则禁止用裸名;否则先查 addDataset 是否注册错
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
| 检查 | 失败即 FAIL |
|
|
155
|
+
|------|-------------|
|
|
156
|
+
| 每个 Field 的 `name ∈ fieldsKey.name` | ✅ |
|
|
157
|
+
| `fieldKey` 末段 === `name` | ✅ |
|
|
158
|
+
| 普通应用:fieldsKey 业务字段含 `field_*`(注册门禁) | ✅ 见 `add-dataset-registration-guide.md` |
|
|
159
|
+
| Field 数量 ≥ 需求列数 | ✅ |
|
|
160
|
+
| **单元格文案 === 绑定字段真实显示名**(否则须用户确认) | ⚠ `verify bind` 列出 `display_mismatch` |
|
|
161
|
+
| **同 sourceId 只挂 1 个数据集**(否则左侧重复分组) | ⚠ `verify bind` 列出 `duplicate_dataset_mount` |
|
|
162
|
+
|
|
163
|
+
`e10-cli report verify bind <reportId> [appId] [--strict]`:门禁失败 exit 1;`--strict` 时「待用户确认项」exit 2。
|
|
164
|
+
|
|
165
|
+
**未通过校验 → 须修正并告知用户**;可与「已交付的设计器链接」并行:先给链接(见 `report-delivery-contract.md` §〇),校验失败再补丁修复,**禁止**为等校验而拖延首轮地址。
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 四、故障对照
|
|
170
|
+
|
|
171
|
+
| 现象 | 根因 | 处理 |
|
|
172
|
+
|------|------|------|
|
|
173
|
+
| 设计器有 Field 格,预览/取数无数据或字段空白 | `name` 为裸 ID,缺 `field_` | 按 fieldsKey.name 重绑并 saveReportDevInfo |
|
|
174
|
+
| **手动加的数据集有 `field_`,API 加的没有** | **addDataset 用了 form+appId,不是设计器 LOGIC** | 按 `add-dataset-registration-guide.md` del 后重建 |
|
|
175
|
+
| **单元格表头文案 ≠ 属性面板字段名**(如「姓名」实为「标题」) | 旧逻辑把无匹配列**兜底到系统字段** | 改为 `exit 4` 让用户指定;存量报表用 `fieldMap`/重绑修复 |
|
|
176
|
+
| **左侧出现重复数据源分组** | 同 sourceId 被重复 `addDataset` 挂载 + 画布游离单元格引用 | 先改绑/清单元格再 `delDataset`;见 `dataset-sidebar-ops-guide.md §5.3` |
|
|
177
|
+
| `matchByName=false`(自检) | 同上 / 用了显示名 | 强制走 §二 resolve |
|
|
178
|
+
| 部分列有数据部分没有 | 个别列 name 写错 | 逐列对照 fieldsKey |
|
|
179
|
+
| fieldsKey 为空 | 未传 `isFront=true` 或 datasetId 错 | 修正后再绑定,禁止用空列表继续 |
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 五、与现有文档关系
|
|
184
|
+
|
|
185
|
+
| 文档 | 关系 |
|
|
186
|
+
|------|------|
|
|
187
|
+
| **`add-dataset-registration-guide.md`** | **addDataset 与设计器对齐;fieldsKey 无 `field_` 的根因** |
|
|
188
|
+
| `api-report-build-fast-path.md` | 建表流程 §三/§五 引用本节;保存门禁 |
|
|
189
|
+
| `cross-dataset-filter-guide.md` | leftFilter 的 fieldKey 末段同样必须是 fieldsKey.name |
|
|
190
|
+
| `e10-cli report verify bind` | 保存后一键校验(必跑) |
|
|
191
|
+
| `e10-cli report validate` | 离线 JSON 形态检查;**线上以本节 + verify_field_bind 为准** |
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## 六、Agent 执行清单(复制即用)
|
|
196
|
+
|
|
197
|
+
- [ ] `sourceName` 为 `{表单名}(业务模块)`(回显名),不是裸表单名(`build spec` 已自动补后缀)
|
|
198
|
+
- [ ] 本报表**已有同 sourceId 数据集 → 复用**,不重复 `addDataset`
|
|
199
|
+
- [ ] `addDataset` 为 `LOGIC` + `weaver-ebuilder-form-service`(非共享表特例)
|
|
200
|
+
- [ ] `fieldsKey` 业务字段已含 `field_*`(否则先修注册)
|
|
201
|
+
- [ ] `fieldsAndOriginFields?isFront=true` 已拿到非空 `fieldsKey`
|
|
202
|
+
- [ ] 每个需求列:`显示名 → fieldsKey.name` 映射表已打印确认(`build spec` 输出 `fieldBindings`)
|
|
203
|
+
- [ ] **任一无精确命中 → exit 4 时,把 `candidates`/`allFields` 交给用户指定字段,禁止自行猜**
|
|
204
|
+
- [ ] 同 sourceId 多实例时绑的是 LOGIC/`field_*` 那条
|
|
205
|
+
- [ ] `name` ∈ 当前 dataset 的 fieldsKey(勿臆造 / 勿手工补 `field_`)
|
|
206
|
+
- [ ] 保存前 `assert` 全部通过
|
|
207
|
+
- [ ] 保存后 `verify_field_bind.js` / 等价断言全部通过
|
|
208
|
+
- [ ] 未通过则**不交付**
|