weaver-work-cli 0.1.24 → 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 +10 -1
- package/dist/core/output.js +53 -1
- package/dist/internal/e10/auth/commands.js +17 -2
- package/dist/internal/e10/auth/crypto.js +52 -12
- package/dist/internal/e10/auth/xiaoe.js +112 -39
- package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +67 -1
- package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +198 -0
- package/dist/shortcuts/caizhilian/operations/shared.js +32 -0
- package/dist/shortcuts/caizhilian/operations/specs.js +15 -0
- package/dist/shortcuts/workflow/index.js +55 -1
- package/dist/shortcuts/workflow/operations/form.js +1252 -109
- package/dist/shortcuts/workflow/operations/read.js +75 -35
- package/dist/shortcuts/workflow/operations/shared.js +25 -0
- package/dist/shortcuts/workflow/stdout-compact.js +33 -0
- package/docs/caizhilian.md +4 -3
- package/docs/e10-auth.md +8 -1
- 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 +7 -2
- package/skills/weaver-e10-caizhilian/references/files.md +15 -0
- package/skills/weaver-e10-caizhilian/references/setting-attach.md +48 -3
- package/skills/weaver-e10-caizhilian/references/source-manifest.json +99 -1
- package/skills/weaver-e10-shared/SKILL.md +8 -4
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +7 -5
- package/skills/weaver-e10-workflow/SKILL.md +23 -44
- package/skills/weaver-e10-workflow/references/source-manifest.json +27 -22
- package/skills/weaver-e10-workflow/references/workflow-create.md +238 -85
- package/skills/weaver-e10-workflow/references/workflow-edit.md +1 -1
- package/skills/weaver-e10-workflow/references/workflow-memory.md +1 -4
- package/skills/weaver-e10-workflow/references/workflow-query.md +2 -2
|
@@ -0,0 +1,628 @@
|
|
|
1
|
+
{
|
|
2
|
+
"component": "search-global 全局搜索框(weapp-ebdothercoms/src/components/search-global,引擎类型 SearchGlobal → 外壳类名 ebcom-searchglobal)",
|
|
3
|
+
"usage": "PC 与移动端的组件源码是两套(View→common/ViewContent,移动端 View→common/MViewContent),DOM 几乎完全不同,先按 pickTree 选树。共同点只有一个:两侧都是『一个搜索框 + 一个搜索/历史浮层』。用户说『搜索框』时 PC 指 div.ebcoms-searchglobal-bar 里的 div.ui-searchAdvanced;移动端顶栏指 div.ui-m-searchbar,而移动端搜索面板里还有第二个 ui-m-searchbar(同名陷阱)。用户说『历史记录/常用筛选标签』时直接看 shared.panelDetail 与 shared.historyBlock,PC 弹层与移动端面板用的是同一套 ebcoms-searchglobal-panel-* 类名。",
|
|
4
|
+
"legend": {
|
|
5
|
+
"[cls]": "条件class,满足业务条件才挂载",
|
|
6
|
+
"{a|b}": "多选一class(同一位置按配置换成其中一个)",
|
|
7
|
+
"a > b": "父子层级压缩写法,冒号左边是右边的父级",
|
|
8
|
+
"ref": "引用 shared 里的复用片段,写成 ref:shared.xxx",
|
|
9
|
+
"uncontrolled": "第三方渲染(设计器拖拽层、MPageView 子页面、Portal 容器),内部结构不可控,只给挂载点",
|
|
10
|
+
"<comId>": "组件实例 id;引擎外壳的 id 与组件根上的 data-id 都是它,组件源码里叫 props.id",
|
|
11
|
+
"ebcoms-": "组件自己写的类名前缀(clsPrefix='ebcoms',less 里写作 @prefix)",
|
|
12
|
+
"ebcom-": "引擎/框架层的类名前缀(ebcomPrefix='ebcom',less 里写作 @ebcomPrefix),search-global 源码里搜不到",
|
|
13
|
+
"ui-": "@weapp/ui 的类名(PC 与移动端共用 ui 前缀,移动端只有部分组件用 ui-m-)"
|
|
14
|
+
},
|
|
15
|
+
"pickTree": "两步。① 端:page.client==='MOBILE' 走移动端树(源码 view-m→common/MViewContent,外壳多 ebcom-m + 布局类 ebcom-mgl),否则 PC 树(common/ViewContent)。② 运行态还是设计态:外壳含 ebcom-view 是页面运行态,含 ebcom-design 是设计器设计态 —— 但注意:search-global 的 Design/View 渲染的是同一个 ViewContent(组件内部没有 isDesign 分支),所以组件自身的 DOM 完全一样,设计态只多几个外壳类(mask、设计器包裹类),面板里也没有拖拽层。另有旧分支:config.searchType==='GLOBAL' 时走 search-weeso 组件(源码注释『目前这里已经废弃』),DOM 属于 search-weeso(ebcoms-searchweeso-*),不在本文件展开。",
|
|
16
|
+
"root": {
|
|
17
|
+
"tag": "div",
|
|
18
|
+
"id": "<comId>",
|
|
19
|
+
"class": [
|
|
20
|
+
"ebcom",
|
|
21
|
+
"ebcom-searchglobal",
|
|
22
|
+
"{ebcom-grid|ebcom-flow|ebcom-excel|ebcom-mgl}",
|
|
23
|
+
"[ebcom-m]",
|
|
24
|
+
"{ebcom-view|ebcom-design}",
|
|
25
|
+
"[mask]",
|
|
26
|
+
"[has-no-header]",
|
|
27
|
+
"[event-action-click]",
|
|
28
|
+
"<布局/设计器追加的类名>"
|
|
29
|
+
],
|
|
30
|
+
"desc": "引擎外壳,由 weapp-ebdcoms 的 createView.renderView(运行态)/ createDesign.renderDesign(设计态)生成,不在本组件源码里。类型名拼成 ebcom-searchglobal(type.toLowerCase()),布局拼成 ebcom-grid/ebcom-flow/ebcom-excel,移动端是 ebcom-mgl 且多一个 ebcom-m。",
|
|
31
|
+
"tips": [
|
|
32
|
+
"has-no-header 基本常驻:Design/MDesign.defaultProps 里 titleEnabled:false,且组件没有 renderHeader,所以标题栏不存在、外壳带 has-no-header",
|
|
33
|
+
"设计态多一个 mask:Design.defaultOpts.mask===true(运行态不会有),less 里 .ebcom.mask > *{pointer-events:none} 作用在这层",
|
|
34
|
+
"event-action-click 只在页面里给组件配了「点击」事件动作时出现",
|
|
35
|
+
"不会出现的类名:standalone、content-no-padding(组件没声明 render.standalone / padding)",
|
|
36
|
+
"本组件没有样式生成器(源码里没有 getSearchGlobalStyles 之类),不要指望存在 #<comId> 下的专属样式类;但写选择器仍建议用 #<comId> 限域,PC/移动端同名类太多"
|
|
37
|
+
],
|
|
38
|
+
"children": [
|
|
39
|
+
{
|
|
40
|
+
"tag": "div",
|
|
41
|
+
"class": [
|
|
42
|
+
"header"
|
|
43
|
+
],
|
|
44
|
+
"when": "titleEnabled===true 才有;组件默认 false,通常看不到",
|
|
45
|
+
"children": [
|
|
46
|
+
{
|
|
47
|
+
"tag": "div",
|
|
48
|
+
"class": [
|
|
49
|
+
"ebcom-title"
|
|
50
|
+
],
|
|
51
|
+
"desc": "引擎渲染的组件标题(有 {xx} 动态语法时换成 TransformContent 的 div,类名同样是 ebcom-title)"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"tag": "div",
|
|
55
|
+
"class": [
|
|
56
|
+
"ebcoms-header-btns"
|
|
57
|
+
],
|
|
58
|
+
"desc": "标题栏操作按钮组(引擎 renderHeader 传入的 wrapClass)"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"tag": "div",
|
|
64
|
+
"class": [
|
|
65
|
+
"content"
|
|
66
|
+
],
|
|
67
|
+
"desc": "引擎内容槽(createView.renderContent / createDesign 的 renderContent),固定类名 content,里面是组件自己的根。⚠️ 组件内部另有 ebcoms-searchglobal-panel-detail 等含 content 字样的类名,common/index.less 里 .ebcom-searchglobal .content{overflow:visible!important} 指的就是这一层",
|
|
68
|
+
"children": [
|
|
69
|
+
"ref:shared.comRoot"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"tag": "div",
|
|
74
|
+
"class": [
|
|
75
|
+
"footer"
|
|
76
|
+
],
|
|
77
|
+
"when": "footerEnabled===true 才有;Design.defaultProps 里 footerEnabled:false",
|
|
78
|
+
"desc": "引擎底部按钮区"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"shared": {
|
|
83
|
+
"comRoot": {
|
|
84
|
+
"tag": "div",
|
|
85
|
+
"class": [
|
|
86
|
+
"ebcoms-searchglobal-main",
|
|
87
|
+
"custom"
|
|
88
|
+
],
|
|
89
|
+
"desc": "组件根,PC 与移动端都叫这个名字(源码里写死了 `${clsPrefix}-searchglobal-main custom`),直接放在引擎 div.content 里。运行态引擎会在这层写 data-id=<comId>。里面就是搜索框本体 + 浮层触发区。",
|
|
90
|
+
"tips": [
|
|
91
|
+
"custom 是写死的业务类名,不要单独用它做选择器(太泛),要写就写 #<comId> .ebcoms-searchglobal-main 或 .ebcoms-searchglobal-main.custom",
|
|
92
|
+
"less 已给这层 min-width:350px / height:100%(PC 的 view/index.less),且 .custom 时改成 flex + 居中、让搜索框 flex:1 —— 不要在内部再写一次布局"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"pendBtns": {
|
|
96
|
+
"desc": "自定义按钮组(引擎的 OperationBtns,wrapClass=ebcoms-searchglobal-pendbtns)。配置了 config.searchBtns 才渲染,PC 按 alignType 放在搜索框左/右(见 trees),移动端当作 MSearchbar 的 prepend/append。内部按钮是引擎的 ConfigurableButton,形态随按钮配置变化(uncontrolled),只给挂载点与已有钩子。",
|
|
97
|
+
"chain": "div.ebcoms-searchglobal-pendbtns > div.ebcoms-configurable-btn{showType} > (div.ebcoms-configurable-btn-icon | div.ebcoms-configurable-btn-view > div.ebcoms-configurable-btn-view-icon) > 图标/文字",
|
|
98
|
+
"tips": [
|
|
99
|
+
"alignType 只判断 LEFT / RIGHT,配成 CENTER 时两处都不渲染 —— 页面里按钮不见了先查这个",
|
|
100
|
+
"OperationBtns 内部按左右两组渲染,DOM 里可能出现 1~2 个同 class 的 div.ebcoms-searchglobal-pendbtns",
|
|
101
|
+
"less 已有钩子:.ui-m-searchbar 与 .ebcoms-searchglobal-main 下的 .ebcoms-searchglobal-pendbtns .ebcoms-configurable-btn .ebcoms-configurable-btn-icon .ebcoms-assets-item.sm{width:30px!important;height:30px!important}(common/index.less),view-m/index.less 另给了 .ui-btn 去边框与左右 8px 内边距"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"pcBar": {
|
|
105
|
+
"tag": "div",
|
|
106
|
+
"class": [
|
|
107
|
+
"ebcoms-searchglobal-bar",
|
|
108
|
+
"[ui-trigger-childrenClassName]"
|
|
109
|
+
],
|
|
110
|
+
"id": "<uniqueCompId>",
|
|
111
|
+
"desc": "PC 搜索框外层(也是 @weapp/ui Trigger 的触发元素与弹层容器)。id 是组件运行时用 UUID() 生成的(不是 <comId>),点这一层切换历史/筛选浮层。ui-trigger-childrenClassName 是 Trigger 在传了 getPopupContainer 时追加的类(见下方 tips)。里面是 SearchAdvanced。",
|
|
112
|
+
"tips": [
|
|
113
|
+
"less 已给这层 display:flex / 居中、左圆角输入框 + 右圆角按钮、高度 calc(var(--hd)*36),以及 >.ui-searchAdvanced{flex:1} 与隐藏 suffix 图标 —— 直接复用它,不要重写高度"
|
|
114
|
+
],
|
|
115
|
+
"children": [
|
|
116
|
+
"ref:shared.pcAdvanced"
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"pcAdvanced": {
|
|
120
|
+
"desc": "@weapp/ui SearchAdvanced(PC 高级搜索),前缀 ui-searchAdvanced。⚠️ 组件固定传了 disableHistorySearch / disableCommonFilter / disableQuickSearchSetting 三个 true,SearchAdvancedTop 的 _getQuickSearchVisible() 在三个开关全关时直接 return false,所以它自带的 QuikSearchPanel(ui-searchAdvanced-quikSearchPanel)永远不会出现,不用给它写样式。",
|
|
121
|
+
"chain": "div.ui-searchAdvanced > div.ui-searchAdvanced-wrap > div[无类名](Trigger 容器,只有 mode==='simple' 才会有 ui-searchAdvanced-wrap-simple-triger-container)",
|
|
122
|
+
"children": [
|
|
123
|
+
{
|
|
124
|
+
"tag": "div",
|
|
125
|
+
"class": [
|
|
126
|
+
"ui-input-wrap",
|
|
127
|
+
"ui-input-prefix-wrap",
|
|
128
|
+
"ui-input-suffix-wrap",
|
|
129
|
+
"ui-searchAdvanced-input",
|
|
130
|
+
"[is-focus]",
|
|
131
|
+
"[readonly-display-*]"
|
|
132
|
+
],
|
|
133
|
+
"desc": "输入框外壳(className 'ui-searchAdvanced-input' 由 HightLightInput 透传给 @weapp/ui Input,InputWrap 在无 prepend/append 时把它拼到最外层)。is-focus 是聚焦态。平时没有敏感词高亮时这一层就是搜索框本体;高亮激活时外面会多包一层 div.ui-sensitive-word-scan-container.ui-sensitive-word-scan-container-input(见 notes)。",
|
|
134
|
+
"children": [
|
|
135
|
+
{
|
|
136
|
+
"tag": "span",
|
|
137
|
+
"class": [
|
|
138
|
+
"ui-input-prefix"
|
|
139
|
+
],
|
|
140
|
+
"children": [
|
|
141
|
+
{
|
|
142
|
+
"tag": "span",
|
|
143
|
+
"class": [
|
|
144
|
+
"ui-icon",
|
|
145
|
+
"ui-icon-wrapper",
|
|
146
|
+
"ui-searchAdvanced-input-icon",
|
|
147
|
+
"[mirror-text]"
|
|
148
|
+
],
|
|
149
|
+
"desc": "搜索放大镜图标(Icon-search,size='xs')。⚠️ 同一个 ui-searchAdvanced-input-icon 类名在这个输入框里出现两次:这里的(前缀)与 suffix 里的简易搜索图标",
|
|
150
|
+
"children": [
|
|
151
|
+
{
|
|
152
|
+
"tag": "svg",
|
|
153
|
+
"class": [
|
|
154
|
+
"ui-icon-xs",
|
|
155
|
+
"ui-icon-svg"
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"tag": "input",
|
|
164
|
+
"class": [
|
|
165
|
+
"ui-input"
|
|
166
|
+
],
|
|
167
|
+
"desc": "真正的输入元素。回车搜索、清空都在这里触发;组件通过 searchAdvancedStore 受控其值"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"tag": "span",
|
|
171
|
+
"class": [
|
|
172
|
+
"ui-input-suffix"
|
|
173
|
+
],
|
|
174
|
+
"children": [
|
|
175
|
+
{
|
|
176
|
+
"tag": "span",
|
|
177
|
+
"class": [
|
|
178
|
+
"ui-input-clear"
|
|
179
|
+
],
|
|
180
|
+
"when": "allowClear 且输入框有值、非 disabled/readOnly 时才有(@weapp/ui InputWrap 生成),内含 Icon-cancel",
|
|
181
|
+
"desc": "清空按钮"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"tag": "span",
|
|
185
|
+
"class": [
|
|
186
|
+
"ui-searchAdvanced-input-suffix",
|
|
187
|
+
"[hide]"
|
|
188
|
+
],
|
|
189
|
+
"desc": "suffix 容器;hide 是 showPressEnterIcon 为假时(未聚焦、无值、浮层没开)加的类",
|
|
190
|
+
"children": [
|
|
191
|
+
{
|
|
192
|
+
"tag": "span",
|
|
193
|
+
"class": [
|
|
194
|
+
"ui-icon",
|
|
195
|
+
"ui-icon-wrapper",
|
|
196
|
+
"ui-searchAdvanced-input-icon",
|
|
197
|
+
"[ui-searchAdvanced-input-icon-active]"
|
|
198
|
+
],
|
|
199
|
+
"when": "showPressEnterIcon 为真时才有(图标 Icon-enter)",
|
|
200
|
+
"desc": "回车图标,点击等同回车搜索"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"tag": "span",
|
|
204
|
+
"class": [
|
|
205
|
+
"ui-icon",
|
|
206
|
+
"ui-icon-wrapper",
|
|
207
|
+
"ui-searchAdvanced-input-icon",
|
|
208
|
+
"[ui-searchAdvanced-input-icon-active]"
|
|
209
|
+
],
|
|
210
|
+
"desc": "简易模式入口图标(SimpleSearch,name 按 conditionId 是否存在二选一:Icon-Advanced-search / Icon-Advanced-search-selected);-active 在浮层打开或条件有变化时挂上。less 已把它 display:none 隐藏",
|
|
211
|
+
"children": [
|
|
212
|
+
{
|
|
213
|
+
"tag": "svg",
|
|
214
|
+
"class": [
|
|
215
|
+
"ui-icon-xs",
|
|
216
|
+
"ui-icon-svg"
|
|
217
|
+
]
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"tag": "span",
|
|
223
|
+
"class": [
|
|
224
|
+
"ui-searchAdvanced-errorTip"
|
|
225
|
+
],
|
|
226
|
+
"when": "校验失败时才有",
|
|
227
|
+
"desc": "错误提示浮层,通常不出现"
|
|
228
|
+
}
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
]
|
|
232
|
+
}
|
|
233
|
+
]
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"tag": "div",
|
|
237
|
+
"class": [
|
|
238
|
+
"ui-searchAdvanced-setting",
|
|
239
|
+
"ui-searchAdvanced-setting-hsSetting"
|
|
240
|
+
],
|
|
241
|
+
"desc": "快捷搜索字段设置区(hSSetting=true 时只有一个未打开的 Dialog,destroyOnClose 所以标题、按钮等一律不渲染)。视觉上是搜索框右侧的一个空 div —— 想给「搜索框右侧留白/图标位」写样式时它就是那个占位元素。",
|
|
242
|
+
"tips": "不要照 ui-searchAdvanced-setting 去写图标样式:hSSetting=true 时源码里那个 Icon-set-up-o 分支(!hSSetting)不走,这里没有图标"
|
|
243
|
+
}
|
|
244
|
+
]
|
|
245
|
+
},
|
|
246
|
+
"popupPC": {
|
|
247
|
+
"when": "PC 运行态才有。点击 div.ebcoms-searchglobal-bar 且 (config.showHistory || searchConditions.commonFilters 有值) 才渲染;Trigger 没传 destroyOnClose,所以首次打开后节点常驻(关闭时只是加 ui-trigger-popupInner-visNone/-hidden)",
|
|
248
|
+
"mount": "弹层由 Trigger 的 Portal 渲染到新建的容器里,位置二选一:① 组件不在某个父组件内部时 getPopupContainer 返回搜索框 div#<uniqueCompId> 本身 → 弹层 DOM 挂在搜索框内部(less 里 .ebcoms-searchglobal-bar .ui-trigger-popupInner{width:100%} 就是为此写的);② 组件有父组件(如 Tab)时改传 followScroll:true → 挂到 document.body。写后代选择器时要同时考虑这两处",
|
|
249
|
+
"chain": "div.ui-trigger-popupInter-container > div.ui-trigger-popupInner.ebcoms-searchglobal-popup[.ui-trigger-popupInner-{bottomRight|bottomLeft}][.ui-trigger-popupInner-visible][.ui-trigger-popupInner-visNone][.ui-trigger-popupInner-hidden] > div.ui-trigger-popupInner-childrenDiv > div.ebcoms-searchglobal-panel-detail.in-popup",
|
|
250
|
+
"children": [
|
|
251
|
+
"ref:shared.panelDetail",
|
|
252
|
+
"ref:shared.historyBlock"
|
|
253
|
+
],
|
|
254
|
+
"tips": "ebcoms-searchglobal-popup 是组件传的 popupClassName(拼在 ui-trigger-popupInner 上),less 里给它 z-index:990;行内还有 popupStyle 写死的 width=搜索框宽度、minWidth:392px —— 改宽度要覆盖 style 或 min-width,别只写 width"
|
|
255
|
+
},
|
|
256
|
+
"panelDetail": {
|
|
257
|
+
"desc": "搜索面板内容区(PC 是 div.ebcoms-searchglobal-panel-detail.in-popup 里的第一个子块;移动端面板里是 div.ebcoms-searchglobal-panel-detail(没有 in-popup))。里面逐条渲染 config.searchConditions.commonFilters。",
|
|
258
|
+
"tips": [
|
|
259
|
+
"in-popup 只用于 PC 弹层,less 里 &-detail.in-popup 给了弹层专属的白底/边框/内边距/字号,移动端那份不要套",
|
|
260
|
+
"less 里 .ebcoms-searchglobal-panel-detail 给了 overflow-y:auto 与 padding:0 15px 15px",
|
|
261
|
+
"每个筛选条件块是否渲染取决于标签是否算得出来:SearchPanelDetail 只在 tags.length>0 时渲染(否则整块什么都不出现),tags 来源按 componentKey 分四支(fieldId==='-1' 用 listFilterDefaultSets.listGroupSets、DateComponent 用 getPrimaryAry、NumberComponent/Money 用 listFilterSets、其余用 filter.options)"
|
|
262
|
+
],
|
|
263
|
+
"children": [
|
|
264
|
+
{
|
|
265
|
+
"tag": "div",
|
|
266
|
+
"class": [
|
|
267
|
+
"ebcoms-searchglobal-panel-title"
|
|
268
|
+
],
|
|
269
|
+
"desc": "一个筛选条件的标题行(每个 commonFilter 一组,与下面的 tags 成对出现)",
|
|
270
|
+
"children": [
|
|
271
|
+
{
|
|
272
|
+
"tag": "span",
|
|
273
|
+
"class": [],
|
|
274
|
+
"desc": "条件名(filter.fieldShowName,经 getLocaleValue 处理)"
|
|
275
|
+
}
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"tag": "div",
|
|
280
|
+
"class": [
|
|
281
|
+
"ebcoms-searchglobal-panel-tags"
|
|
282
|
+
],
|
|
283
|
+
"children": [
|
|
284
|
+
"ref:shared.tag"
|
|
285
|
+
]
|
|
286
|
+
}
|
|
287
|
+
]
|
|
288
|
+
},
|
|
289
|
+
"historyBlock": {
|
|
290
|
+
"when": "config.showHistory 为 true 时才有(默认 true)",
|
|
291
|
+
"chain": "div.ebcoms-searchglobal-panel-title + div.ebcoms-searchglobal-panel-tags",
|
|
292
|
+
"desc": "历史搜索块,PC 弹层与移动端面板用的是同一套类名。标题行里第一个 span 是文案『历史搜索』,第二个 span 是清空图标;tags 行里要么是空态文案、要么是历史标签。",
|
|
293
|
+
"children": [
|
|
294
|
+
{
|
|
295
|
+
"tag": "div",
|
|
296
|
+
"class": [
|
|
297
|
+
"ebcoms-searchglobal-panel-title"
|
|
298
|
+
],
|
|
299
|
+
"desc": "less 挂钩子就是靠这里的 span:first-child / span:last-child(span:last-child 是绝对定位到右上角的清空按钮),所以 ⚠️ 清空图标必须是 span 才生效",
|
|
300
|
+
"children": [
|
|
301
|
+
{
|
|
302
|
+
"tag": "span",
|
|
303
|
+
"class": [],
|
|
304
|
+
"desc": "文案『历史搜索』(less 已给 font-size:var(--font-size-14))"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"tag": "span",
|
|
308
|
+
"class": [
|
|
309
|
+
"ui-icon",
|
|
310
|
+
"ui-icon-wrapper",
|
|
311
|
+
"[mirror-text]"
|
|
312
|
+
],
|
|
313
|
+
"when": "searchHistory.length>0 时才有",
|
|
314
|
+
"desc": "清空历史图标(引擎 IconFont 传 name='Icon-delete'、size='sm' → 实际渲染的就是 @weapp/ui Icon,即 span.ui-icon.ui-icon-wrapper,不是 span.ebcoms-assets-*),点击清空全部历史",
|
|
315
|
+
"children": [
|
|
316
|
+
{
|
|
317
|
+
"tag": "svg",
|
|
318
|
+
"class": [
|
|
319
|
+
"ui-icon-sm",
|
|
320
|
+
"ui-icon-svg"
|
|
321
|
+
]
|
|
322
|
+
}
|
|
323
|
+
]
|
|
324
|
+
}
|
|
325
|
+
]
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"tag": "div",
|
|
329
|
+
"class": [
|
|
330
|
+
"ebcoms-searchglobal-panel-tags"
|
|
331
|
+
],
|
|
332
|
+
"children": [
|
|
333
|
+
{
|
|
334
|
+
"tag": "span",
|
|
335
|
+
"class": [
|
|
336
|
+
"ebcoms-searchglobal-panel-tips"
|
|
337
|
+
],
|
|
338
|
+
"when": "searchHistory.length===0 时(与下面的标签列表二选一)",
|
|
339
|
+
"desc": "空态文案『暂无历史搜索记录』。less 已给 display:flex / 居中 / font-size:14px / margin-top:24px / color:var(--secondary-fc)"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"ref": "shared.tag",
|
|
343
|
+
"when": "searchHistory.length>0 时,每条历史一个"
|
|
344
|
+
}
|
|
345
|
+
]
|
|
346
|
+
}
|
|
347
|
+
]
|
|
348
|
+
},
|
|
349
|
+
"tag": {
|
|
350
|
+
"tag": "span",
|
|
351
|
+
"class": [
|
|
352
|
+
"ui-m-tag",
|
|
353
|
+
"ui-m-tag-large",
|
|
354
|
+
"ui-m-tag-default",
|
|
355
|
+
"[ui-m-tag-default-large-checked]",
|
|
356
|
+
"[ui-m-tag-disabled]"
|
|
357
|
+
],
|
|
358
|
+
"desc": "@weapp/ui 的 MTag(组件里一直从 @weapp/ui 取 MTag,而 @weapp/ui 的 MTag 固定用 ui-m-tag 前缀,PC 弹层里也是 ui-m-tag,不要写成 ui-tag)。size='large'、type 默认 'default',选中时加 ui-m-tag-default-large-checked。点标签本体触发选择(PC 弹层的常用筛选/历史都是 onCheck;移动端历史是 onCheck、常用筛选是 onCheck+按多选切换)。",
|
|
359
|
+
"children": [
|
|
360
|
+
{
|
|
361
|
+
"tag": "div",
|
|
362
|
+
"class": [
|
|
363
|
+
"ui-m-tag-close"
|
|
364
|
+
],
|
|
365
|
+
"when": "closable 时才有(只有 PC 弹层里的历史标签传了 closable,移动端面板的历史标签没有)",
|
|
366
|
+
"desc": "右上角删除图标容器(里面是 div.ui-m-tag-close-icon > span.ui-icon.ui-icon-wrapper > svg,图标 Icon-error01)"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"tag": "div",
|
|
370
|
+
"class": [
|
|
371
|
+
"ui-m-tag-text"
|
|
372
|
+
],
|
|
373
|
+
"desc": "标签文字(历史记录原文 / 条件选项名,经 getLocaleValue)"
|
|
374
|
+
}
|
|
375
|
+
],
|
|
376
|
+
"tips": [
|
|
377
|
+
"less 已有钩子:.ebcoms-searchglobal-panel-tags .ui-m-tag(cursor/inline-block/底色 var(--label-bc)/颜色 var(--regular-fc)/内边距/右间距/圆角/禁止选中)与 .ebcoms-searchglobal-panel-tags .ui-m-tag-default-large-checked(白字 + var(--primary) 底)—— 只要写这类名即可,不要再去写 ui-tag"
|
|
378
|
+
]
|
|
379
|
+
},
|
|
380
|
+
"mobileTop": {
|
|
381
|
+
"desc": "移动端顶栏搜索框(@weapp/ui MSearchbar,前缀 ui-m-searchbar)。整条是只读输入框(inputReadOnly),点击/聚焦会 push 路由打开搜索面板弹层,输入本身不会在这里发生。",
|
|
382
|
+
"chain": "div.ui-m-searchbar > (div.ui-m-searchbar-prepend|div.ui-m-searchbar-append)? + div.ui-m-searchbar-input > div.ui-input-wrap.ui-input-prefix-wrap.ui-input-suffix-wrap",
|
|
383
|
+
"children": [
|
|
384
|
+
{
|
|
385
|
+
"tag": "div",
|
|
386
|
+
"class": [
|
|
387
|
+
"ui-m-searchbar-prepend"
|
|
388
|
+
],
|
|
389
|
+
"when": "config.searchBtns.alignType==='LEFT' 时(装自定义按钮组)",
|
|
390
|
+
"children": [
|
|
391
|
+
"ref:shared.pendBtns"
|
|
392
|
+
]
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"tag": "div",
|
|
396
|
+
"class": [
|
|
397
|
+
"ui-m-searchbar-append"
|
|
398
|
+
],
|
|
399
|
+
"when": "config.searchBtns.alignType==='RIGHT' 时(装自定义按钮组);MSearchbar 的 append/prepend 槽只装自定义按钮,不是『取消』",
|
|
400
|
+
"children": [
|
|
401
|
+
"ref:shared.pendBtns"
|
|
402
|
+
]
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"tag": "div",
|
|
406
|
+
"class": [
|
|
407
|
+
"ui-m-searchbar-input"
|
|
408
|
+
],
|
|
409
|
+
"desc": "输入框容器(less 已给圆角、边框、min-height,以及内部 .ui-icon 的颜色)",
|
|
410
|
+
"children": [
|
|
411
|
+
{
|
|
412
|
+
"tag": "div",
|
|
413
|
+
"class": [
|
|
414
|
+
"ui-input-wrap",
|
|
415
|
+
"ui-input-prefix-wrap",
|
|
416
|
+
"ui-input-suffix-wrap"
|
|
417
|
+
],
|
|
418
|
+
"children": [
|
|
419
|
+
{
|
|
420
|
+
"tag": "span",
|
|
421
|
+
"class": [
|
|
422
|
+
"ui-input-prefix"
|
|
423
|
+
],
|
|
424
|
+
"desc": "搜索图标 Icon-global-search(span.ui-icon.ui-icon-wrapper > svg.ui-icon-sm.ui-icon-svg)"
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"tag": "input",
|
|
428
|
+
"class": [
|
|
429
|
+
"ui-input"
|
|
430
|
+
],
|
|
431
|
+
"desc": "只读输入框(inputReadOnly),值来自 searchKey"
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"tag": "span",
|
|
435
|
+
"class": [
|
|
436
|
+
"ui-input-suffix"
|
|
437
|
+
],
|
|
438
|
+
"desc": "清空按钮(有值时)+ 扫码图标(scanInput 为 true 时)",
|
|
439
|
+
"children": [
|
|
440
|
+
{
|
|
441
|
+
"tag": "span",
|
|
442
|
+
"class": [
|
|
443
|
+
"ui-input-clear"
|
|
444
|
+
],
|
|
445
|
+
"when": "有值与 allowClear 时才有"
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"tag": "span",
|
|
449
|
+
"class": [
|
|
450
|
+
"ui-icon",
|
|
451
|
+
"ui-icon-wrapper"
|
|
452
|
+
],
|
|
453
|
+
"when": "config.scanInput!==false 时才有",
|
|
454
|
+
"desc": "扫码图标 Icon-Scan-code,点击调 weappSDK.scanQRCode 后 push 路由"
|
|
455
|
+
}
|
|
456
|
+
]
|
|
457
|
+
}
|
|
458
|
+
]
|
|
459
|
+
}
|
|
460
|
+
]
|
|
461
|
+
}
|
|
462
|
+
],
|
|
463
|
+
"tips": "⚠️ 移动端 DOM 里 ui-m-searchbar 会出现两次(这里 + 搜索面板内部),less 里 .ebcoms-searchglobal-panel .ui-m-searchbar 那套只命中面板里的那个,改顶栏要限定 .ebcoms-searchglobal-main 或 #<comId>"
|
|
464
|
+
},
|
|
465
|
+
"mobilePanel": {
|
|
466
|
+
"when": "移动端点击顶栏搜索框(或扫码成功)后 push 路由打开;组件用两个 MDialog(isRouteLayout + path)承载,内容通过 Portal 渲染到一个新建的无 class div 里,rc-queue-anim 再包一层动画容器(uncontrolled),所以它不在组件自己的 DOM 位置,写后代选择器只能从 div.ui-m-dialog-routeLayout 往下写",
|
|
467
|
+
"chain": "body > div(Portal 容器,无类名)> 动画容器(rc-queue-anim)> div.ui-m-dialog-routeLayout.ebcoms-searchglobal-panel",
|
|
468
|
+
"children": [
|
|
469
|
+
{
|
|
470
|
+
"tag": "div",
|
|
471
|
+
"class": [
|
|
472
|
+
"ui-m-searchbar"
|
|
473
|
+
],
|
|
474
|
+
"desc": "面板内的搜索框(与顶栏同名类,但这里是可输入的:allowCancel,输入框 autofocus、受 inputVal 控制)",
|
|
475
|
+
"children": [
|
|
476
|
+
{
|
|
477
|
+
"tag": "div",
|
|
478
|
+
"class": [
|
|
479
|
+
"ui-m-searchbar-input"
|
|
480
|
+
],
|
|
481
|
+
"desc": "内部 Input(div.ui-input-wrap …),带扫码 suffix(scanInput 时)"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"tag": "div",
|
|
485
|
+
"class": [
|
|
486
|
+
"ui-m-searchbar-cancel"
|
|
487
|
+
],
|
|
488
|
+
"desc": "右侧按钮,文案按 showSearchBtn 在『搜索』/『取消』间切换(commonFilters 多于 1 个且有勾选时是『搜索』)。点击等于回车搜索",
|
|
489
|
+
"tips": "less 已给 color:var(--input-group-addon-color)"
|
|
490
|
+
}
|
|
491
|
+
]
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"tag": "div",
|
|
495
|
+
"class": [
|
|
496
|
+
"ebcoms-searchglobal-panel-detail"
|
|
497
|
+
],
|
|
498
|
+
"desc": "面板内容区(⚠️ 这里没有 in-popup,PC 弹层才有)。结构与 PC 弹层一致:常用筛选(每个条件一组 panel-title + panel-tags)+ 历史搜索块",
|
|
499
|
+
"children": [
|
|
500
|
+
"ref:shared.panelDetail",
|
|
501
|
+
"ref:shared.historyBlock"
|
|
502
|
+
]
|
|
503
|
+
}
|
|
504
|
+
],
|
|
505
|
+
"tips": "ebcoms-searchglobal-panel 这个类落在 div.ui-m-dialog-routeLayout 上(DialogContainer 的 routeLayoutCls),less 里 .ebcoms-searchglobal-panel 后代规则(白底、竖排、ui-m-searchbar 间距、-detail 内边距)都从这层往下写 → 见 common/index.less"
|
|
506
|
+
},
|
|
507
|
+
"mobileListDialog": {
|
|
508
|
+
"when": "移动端在面板里执行搜索后,会再 push 一个路由打开子页面弹层(path=`${parentPath}/search${id}_${searchPage}`)",
|
|
509
|
+
"chain": "body > div(Portal 容器,无类名)> div.ui-m-dialog-routeLayout > 子页面(CorsComponent MPageView,uncontrolled)",
|
|
510
|
+
"desc": "第二个 MDialog 没有传 className,所以这层的 routeLayout 只有 ui-m-dialog-routeLayout,没有 ebcoms-searchglobal-panel;里面是 @weapp/ebdpage 的 MPageView(搜索结果页),内部结构不可控,只给挂载点。",
|
|
511
|
+
"tips": "要改『搜索结果页』的外观要找 ebdpage/目标页面,不是本组件"
|
|
512
|
+
},
|
|
513
|
+
"state": {
|
|
514
|
+
"desc": "运行期动态变化(初始 render 里没有),写样式时按「可能出现」对待",
|
|
515
|
+
"list": [
|
|
516
|
+
{
|
|
517
|
+
"condition": "PC:点击搜索框(Trigger action=['click'] 且受控 popupVisible)",
|
|
518
|
+
"targetSelector": "div.ui-trigger-popupInner.ebcoms-searchglobal-popup",
|
|
519
|
+
"addClass": "首次打开时新增整棵弹层;关闭切到 ui-trigger-popupInner-visNone / -hidden,节点保留",
|
|
520
|
+
"note": "弹层内容只在 config.showHistory 或 searchConditions.commonFilters 有值时才生成"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"condition": "PC:输入框聚焦 / 有值 / 弹层打开",
|
|
524
|
+
"targetSelector": "div.ui-searchAdvanced-input",
|
|
525
|
+
"addClass": "is-focus(外层 wrapper)+ 清空按钮 span.ui-input-clear 出现 + 回车图标出现(suffix 上的 hide 类移除)"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"condition": "移动端:点击顶栏搜索框或扫码成功",
|
|
529
|
+
"targetSelector": "body",
|
|
530
|
+
"addClass": "(Portal 新增 div.ui-m-dialog-routeLayout.ebcoms-searchglobal-panel,路由变化)"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"condition": "勾选/取消常用筛选标签(PC 弹层里 commonFilters.length===1 时勾选即搜索)",
|
|
534
|
+
"targetSelector": "span.ui-m-tag",
|
|
535
|
+
"addClass": "ui-m-tag-default-large-checked",
|
|
536
|
+
"note": "点击后会把焦点还给搜索框 input.ui-input(PC)"
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"condition": "历史记录增删(每次搜索后写入,最多 20 条)",
|
|
540
|
+
"targetSelector": "div.ebcoms-searchglobal-panel-tags",
|
|
541
|
+
"addClass": "(标签节点增删;清空后整块换成 span.ebcoms-searchglobal-panel-tips)"
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"condition": "组件被事件动作隐藏",
|
|
545
|
+
"targetSelector": "引擎外壳 #<comId>",
|
|
546
|
+
"addClass": "ebcom-display-none",
|
|
547
|
+
"note": "同时写 style.display='none'"
|
|
548
|
+
}
|
|
549
|
+
]
|
|
550
|
+
}
|
|
551
|
+
},
|
|
552
|
+
"view-pc": {
|
|
553
|
+
"when": "页面运行态(外壳含 ebcom-view)且 page.client!=='MOBILE';源码 view/View.tsx → common/ViewContent.tsx",
|
|
554
|
+
"tree": [
|
|
555
|
+
"div#<comId>.ebcom.ebcom-searchglobal.{ebcom-grid|ebcom-flow|ebcom-excel}.ebcom-view[.event-action-click][.has-no-header](引擎外壳)",
|
|
556
|
+
"div.content(引擎内容槽)",
|
|
557
|
+
"ref:shared.comRoot → div.ebcoms-searchglobal-main.custom",
|
|
558
|
+
"div.ebcoms-searchglobal-pendbtns(仅 alignType==='LEFT')",
|
|
559
|
+
"ref:shared.pcBar → div.ebcoms-searchglobal-bar#<uniqueCompId>",
|
|
560
|
+
"ref:shared.pcAdvanced → div.ui-searchAdvanced",
|
|
561
|
+
"div.ebcoms-searchglobal-pendbtns(仅 alignType==='RIGHT')",
|
|
562
|
+
"点击搜索框后:ref:shared.popupPC + ref:shared.panelDetail + ref:shared.historyBlock"
|
|
563
|
+
],
|
|
564
|
+
"diffs": [
|
|
565
|
+
"按钮组在搜索框左右两侧平级(left 在 Trigger 前、right 在 Trigger 后),搜索框本体居中;只有 .custom 这一层是 flex 居中",
|
|
566
|
+
"浮层是历史 + 常用筛选(没有搜索结果列表:结果是跳到 searchPage 页面看,view/index.less 里 ebcoms-searchglobal-search-content / weapp-esearch-pc-result 那套规则是历史遗留,当前 DOM 里没有这些类)"
|
|
567
|
+
]
|
|
568
|
+
},
|
|
569
|
+
"view-mobile": {
|
|
570
|
+
"when": "页面运行态且 page.client==='MOBILE';源码 view-m/View.tsx → common/MViewContent.tsx",
|
|
571
|
+
"tree": [
|
|
572
|
+
"div#<comId>.ebcom.ebcom-searchglobal.ebcom-m.ebcom-mgl.ebcom-view[.event-action-click][.has-no-header](引擎外壳)",
|
|
573
|
+
"div.content(引擎内容槽,与 PC 相同)",
|
|
574
|
+
"ref:shared.comRoot → div.ebcoms-searchglobal-main.custom",
|
|
575
|
+
"ref:shared.mobileTop → div.ui-m-searchbar(顶栏搜索框,点击 push 路由)",
|
|
576
|
+
"点击顶栏后:ref:shared.mobilePanel → body 下的 div.ui-m-dialog-routeLayout.ebcoms-searchglobal-panel(内含第二个 div.ui-m-searchbar + div.ebcoms-searchglobal-panel-detail)",
|
|
577
|
+
"面板里搜索后:ref:shared.mobileListDialog → body 下的 div.ui-m-dialog-routeLayout(MPageView 子页面,uncontrolled)"
|
|
578
|
+
],
|
|
579
|
+
"diffs": [
|
|
580
|
+
"整棵 PC 的搜索框 + Trigger 弹层在移动端完全不存在(源码走的是另一个文件 MViewContent)",
|
|
581
|
+
"移动端没有 history 的独立浮层,历史与常用筛选都在面板(MDialog 路由层)里",
|
|
582
|
+
"移动端历史标签没有 closable(不能单条删除,只能整块清空)",
|
|
583
|
+
"外壳多 ebcom-m 与 ebcom-mgl;less 里 view-m/index.less 的规则挂在 .ebcom-searchglobal.ebcom-searchglobal 上,只管 .ebcoms-searchglobal-pendbtns 的 .ui-btn"
|
|
584
|
+
]
|
|
585
|
+
},
|
|
586
|
+
"design-pc": {
|
|
587
|
+
"when": "设计器设计态且 page.client!=='MOBILE';源码 design/Design.tsx → common/ViewContent.tsx(同一个 ViewContent)",
|
|
588
|
+
"tree": [
|
|
589
|
+
"引擎外壳 div#<comId>.ebcom.ebcom-searchglobal.ebcom-grid.ebcom-design.mask[.has-no-header](createDesign.renderDesign,设计器还会追加自己的类)",
|
|
590
|
+
"div.content(引擎内容槽,与运行态同一套包装)",
|
|
591
|
+
"ref:shared.comRoot → div.ebcoms-searchglobal-main.custom",
|
|
592
|
+
"ref:shared.pcBar → div.ebcoms-searchglobal-bar#<uniqueCompId>",
|
|
593
|
+
"ref:shared.pcAdvanced → div.ui-searchAdvanced",
|
|
594
|
+
"点搜索框后同样会有 ref:shared.popupPC(设计态也能打开浮层,因为没有交互屏蔽)"
|
|
595
|
+
],
|
|
596
|
+
"diffs": [
|
|
597
|
+
"外壳是 ebcom-design 且多 mask(Design.defaultOpts.mask===true)",
|
|
598
|
+
"面板里没有拖拽层、没有 droppable 包裹(组件不是容器类组件,defaultOpts 里也没有 container)",
|
|
599
|
+
"组件自身 DOM 与运行态完全一致:Design/View 都用 common/ViewContent,源码里没有 isDesign 分支,所以不要指望设计态有专属结构"
|
|
600
|
+
]
|
|
601
|
+
},
|
|
602
|
+
"design-mobile": {
|
|
603
|
+
"when": "设计器设计态且 page.client==='MOBILE';源码 design-m/Design.tsx → common/MViewContent.tsx",
|
|
604
|
+
"tree": [
|
|
605
|
+
"引擎外壳 div#<comId>.ebcom.ebcom-searchglobal.ebcom-m.ebcom-mgl.ebcom-design.mask(class 里的布局段按实际布局)",
|
|
606
|
+
"div.content",
|
|
607
|
+
"ref:shared.comRoot → div.ebcoms-searchglobal-main.custom",
|
|
608
|
+
"ref:shared.mobileTop → div.ui-m-searchbar"
|
|
609
|
+
],
|
|
610
|
+
"diffs": [
|
|
611
|
+
"把 design-pc 与 view-mobile 的差异叠加:ebcom-m/ebcom-mgl/ebcom-design/mask + MSearchbar 顶栏",
|
|
612
|
+
"设计态点顶栏会真的 push 路由打开 MDialog 面板(源码没有屏蔽),所以设计器里也可能看到 body 下的 ui-m-dialog-routeLayout 层"
|
|
613
|
+
]
|
|
614
|
+
},
|
|
615
|
+
"notes": [
|
|
616
|
+
"三类前缀要分清:ebcoms-* 是组件自己写的(less 里写作 @prefix,值为 ebcoms);ebcom-* 是引擎外壳(本组件源码里搜不到,less 里写作 @ebcomPrefix);ui-* 来自 @weapp/ui(SearchAdvanced / Input / Trigger / MSearchbar / MDialog / MTag / Icon)。",
|
|
617
|
+
"最常踩的定位错误是『搜索框』三个字:PC 是 div.ebcoms-searchglobal-bar 里的 div.ui-searchAdvanced;移动端顶栏是 div.ui-m-searchbar(在组件内);移动端搜索面板里还有第二个 div.ui-m-searchbar(在 body 的 MDialog 路由层里)。同名类名出现两次,写选择器必须带 #<comId> 或 .ebcoms-searchglobal-panel 之类的限定。",
|
|
618
|
+
"另一个同名陷阱是 content:引擎内容槽是 div.content(外壳的兄弟层级),弹层里是 div.ui-trigger-popupInner-childrenDiv,组件自己的面板里才是 ebcoms-searchglobal-panel-detail / -panel-tags。common/index.less 里 .ebcom-searchglobal .content{overflow:visible!important} 说的是引擎那一层。",
|
|
619
|
+
"less 里的死钩子:view/index.less 除了 .ebcoms-searchglobal-bar / -main / -main-content 外,还留着 .ebcoms-searchglobal-hot-spot*(搜索热点)、.ebcoms-searchglobal-search-content 与 .weapp-esearch-pc-result 一套规则 —— 这些是从 search-weeso 拷过来的,当前 search-global 的 DOM 里没有这些类名,别照着写,也别以为它们会生效。另外 .ebcom-searchglobal.ebcom-searchglobal 是双写类名(提高权重),不是两个不同类。",
|
|
620
|
+
"PC 弹层的挂载位置是二选一的:组件没有父组件时 getPopupContainer 返回搜索框 div#<uniqueCompId>,弹层 DOM 会嵌在搜索框内部(这解释了 less 里 .ebcoms-searchglobal-bar .ui-trigger-popupInner{width:100%});有父组件(Tab 等)时改传 followScroll:true,弹层挂到 body。写『弹层相对搜索框定位』的样式前先确认走的是哪条。",
|
|
621
|
+
"PC 的 SearchAdvanced 自带浮层(ui-searchAdvanced-quikSearchPanel)永远不出现:组件固定传了 disableHistorySearch / disableCommonFilter / disableQuickSearchSetting,三个开关全关时 _getQuickSearchVisible() 直接返回 false。历史/常用筛选是组件自己用 popupContent 渲染的,不是 SearchAdvanced 的功能。",
|
|
622
|
+
"敏感词高亮态会临时改变输入框层级:当 HighLight 处于高亮态(visible 且有关键词)时,输入框会被包进 div.ui-sensitive-word-scan-container.ui-sensitive-word-scan-container-input > div + div.ui-sensitive-word-scan-origin > (原 div.ui-input-wrap)。常态(无高亮)没有这层。改输入框样式时以常态链为准。",
|
|
623
|
+
"config.searchBtns.alignType 只判断 LEFT / RIGHT:配成 CENTER 时左右两处都不渲染(源码里只有 ===AlignType.LEFT / ===AlignType.RIGHT 两个分支)。",
|
|
624
|
+
"已有 less 钩子不要重复写:PC 搜索框 flex 布局与左右圆角、高度 calc(var(--hd)*36)、隐藏 suffix 的 ui-searchAdvanced-input-icon、.ui-searchAdvanced{flex:1}、.ebcoms-searchglobal-main 的 min-width/height、.custom 的 flex 居中、pendbtns 里图标 30px 尺寸与 .ui-btn 去边框、panel-detail 的滚动与内边距、panel-detail.in-popup 的弹层外观、panel-title 的两个 span(文案 14px / 右侧绝对定位清空图标)、panel-tags 的 ui-m-tag 与选中态、panel-tips 空态、.ebcoms-searchglobal-popup 的 z-index:990、以及 .ebcom-searchglobal{overflow:visible!important} 与其 .content 的 overflow 修复。",
|
|
625
|
+
"旧分支:config.searchType==='GLOBAL' 时 Design/View 都改渲染 search-weeso 的 ViewContent(源码注释『目前这里已经废弃』),DOM 属于 search-weeso(ebcoms-searchweeso-* 前缀),本文件不覆盖;排查时先确认配置里有没有 searchType。",
|
|
626
|
+
"反查源码:外壳与内容槽在 weapp-ebdcoms/src/components/core/view/createView.tsx(renderView/renderContent/getContainerClass)与 design/createDesign.tsx(renderDesign/renderContent/getContainerClass,mask 在 L410-412);引擎类名拼装在 core/utils/comp.ts 的 getClassName(ebcom + ebcom-<type.toLowerCase()> + [ebcom-m] + ebcom-<layout> + ebcom-view|design)。PC 组件源码在 common/ViewContent.tsx(搜索框 + Trigger + 弹层触发);移动端在 common/MViewContent.tsx(MSearchbar + 两个 MDialog);PC 弹层内容在 common/popupContent.tsx、移动端面板在 common/SearchPanel.tsx;筛选条件块在 common/SearchPanelDetail.tsx;已有样式在 view/index.less、view-m/index.less、common/index.less、config/index.less(config 那份只管设计器右侧配置面板 .ebcoms-config-SearchGlobal,与本组件页面 DOM 无关)。第三方 DOM:weapp-ui/src/components/search-advanced/{SearchAdvanced.tsx,top/Top.tsx,top/HightLightInput.tsx}、input/InputWrap.tsx、trigger/{Trigger.tsx,popup/PopupInner.tsx}、search-bar/Searchbar.tsx、dialog/{MDialog.tsx,public/DialogContainer.tsx}、tag/Tag.tsx、icon/Icon.tsx。"
|
|
627
|
+
]
|
|
628
|
+
}
|