weifuwu 0.87.0 → 0.89.0
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 +111 -135
- package/dist/client/components/ActionSheet/ActionSheet.d.ts +1 -1
- package/dist/client/components/AiChat/AiChat.d.ts +3 -4
- package/dist/client/components/ChatInput/ChatInput.d.ts +5 -0
- package/dist/client/components/CitationCard/CitationCard.d.ts +1 -1
- package/dist/client/components/Command/Command.d.ts +1 -1
- package/dist/client/components/ContextMenu/ContextMenu.d.ts +1 -1
- package/dist/client/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/client/components/Dropdown/Dropdown.d.ts +1 -1
- package/dist/client/components/Editor/model/html.d.ts +10 -0
- package/dist/client/components/ImageCropper/ImageCropper.d.ts +6 -2
- package/dist/client/components/Menu/Menu.d.ts +1 -1
- package/dist/client/components/NavMenu/NavMenu.d.ts +1 -1
- package/dist/client/components/Popconfirm/Popconfirm.d.ts +1 -1
- package/dist/client/components/SlideCanvas/SlideCanvas.d.ts +1 -1
- package/dist/client/components/Tour/Tour.d.ts +1 -1
- package/dist/client/components/TreeSelect/TreeSelect.d.ts +1 -1
- package/dist/client/components/index.js +41 -41
- package/dist/client/components/style.css +298 -644
- package/dist/client/layout/weifuwu-layout.css +286 -640
- package/dist/client/vdom/browser/Browser.d.ts +2 -0
- package/dist/client/vdom/commands.d.ts +4 -1
- package/dist/client/vdom/context/UIContext.d.ts +8 -0
- package/dist/client/vdom/core/diff/attrs.d.ts +10 -2
- package/dist/client/vdom/core/field/attributes.d.ts +12 -0
- package/dist/client/vdom/core/field/events.d.ts +8 -0
- package/dist/client/vdom/core/field/input-sync.d.ts +14 -0
- package/dist/client/vdom/core/field/key.d.ts +3 -0
- package/dist/client/vdom/core/field/props.d.ts +13 -1
- package/dist/client/vdom/core/field/ref.d.ts +6 -0
- package/dist/client/vdom/core/field/style.d.ts +7 -1
- package/dist/client/vdom/core/node/component.d.ts +3 -4
- package/dist/client/vdom/core/node/native.d.ts +6 -1
- package/dist/client/vdom/core/patch/index.d.ts +24 -1
- package/dist/client/vdom/core/patch/processors.d.ts +8 -1
- package/dist/client/vdom/core/protocol.d.ts +45 -0
- package/dist/client/vdom/core/router.d.ts +7 -0
- package/dist/client/vdom/core/ssr/absorb.d.ts +31 -4
- package/dist/client/vdom/core/transform/index.d.ts +6 -6
- package/dist/client/vdom/core/v2/cycle.d.ts +54 -0
- package/dist/client/vdom/core/v2/diff.d.ts +80 -0
- package/dist/client/vdom/core/v2/integrate.d.ts +24 -0
- package/dist/client/vdom/core/v2/render.d.ts +28 -0
- package/dist/client/vdom/core/v2/schedule.d.ts +33 -0
- package/dist/client/vdom/core/v2/serve.d.ts +4 -0
- package/dist/client/vdom/core/v2/spy.d.ts +21 -0
- package/dist/client/vdom/core/v2/ssr.d.ts +14 -0
- package/dist/client/vdom/core/vnode.d.ts +9 -6
- package/dist/client/vdom/dev/error-counter.d.ts +27 -0
- package/dist/client/vdom/dev/render-health.d.ts +60 -0
- package/dist/client/vdom/hooks/chat.d.ts +32 -5
- package/dist/client/vdom/hooks/drag-media.d.ts +3 -1
- package/dist/client/vdom/hooks/env.d.ts +32 -0
- package/dist/client/vdom/hooks/popup-manager.d.ts +21 -0
- package/dist/client/vdom/hooks/popup.d.ts +4 -1
- package/dist/client/vdom/hooks/stable.d.ts +4 -0
- package/dist/client/vdom/hooks/use-observable.d.ts +13 -0
- package/dist/client/vdom/index.d.ts +14 -6
- package/dist/client/vdom/index.js +4 -7
- package/dist/client/vdom/jsx-runtime.js +1 -1
- package/dist/client/vdom/middlewares/api.d.ts +8 -0
- package/dist/client/vdom/middlewares/auth-i18n.d.ts +7 -0
- package/dist/client/vdom/middlewares/ws.d.ts +41 -1
- package/dist/client/vdom/observable/index.d.ts +13 -0
- package/dist/client/vdom/observable/observable.d.ts +26 -0
- package/dist/client/vdom/observable/operators.d.ts +76 -0
- package/dist/client/vdom/observable/sources.d.ts +54 -0
- package/dist/client/vdom/observable/types.d.ts +45 -0
- package/dist/client/vdom/store.d.ts +17 -2
- package/dist/client/vdom/testing.js +2 -2
- package/dist/server/ai/agent.d.ts +18 -0
- package/dist/server/ai/client.d.ts +14 -2
- package/dist/server/ai/contracts.d.ts +2 -2
- package/dist/server/ai/sse.d.ts +6 -0
- package/dist/server/core/collect.d.ts +31 -0
- package/dist/server/core/error-counter.d.ts +11 -0
- package/dist/server/core/hub.d.ts +2 -0
- package/dist/server/core/router.d.ts +12 -9
- package/dist/server/db/contracts.d.ts +24 -0
- package/dist/server/db/memory-redis.d.ts +3 -4
- package/dist/server/db/memory-sql.d.ts +20 -4
- package/dist/server/db/postgres-server.d.ts +2 -0
- package/dist/server/db/query.d.ts +21 -0
- package/dist/server/db/redis-server.d.ts +4 -2
- package/dist/server/db/sql-parser.d.ts +2 -1
- package/dist/server/email/index.d.ts +2 -0
- package/dist/server/index.d.ts +4 -1
- package/dist/server/index.js +3927 -1982
- package/dist/server/messager/index.d.ts +21 -2
- package/dist/server/middleware/compress.d.ts +25 -0
- package/dist/server/ui/index.d.ts +8 -1
- package/dist/server/user/index.d.ts +4 -0
- package/dist/shared/router/chain.d.ts +9 -0
- package/dist/shared/router/context.d.ts +35 -0
- package/dist/shared/router/ctx-fields.d.ts +20 -0
- package/dist/shared/router/pipeline.d.ts +70 -0
- package/dist/shared/router/trie.d.ts +11 -3
- package/dist/shared/router/types.d.ts +23 -0
- package/docs/style-guide.md +44 -41
- package/package.json +13 -10
- package/content/apps/admin.md +0 -55
- package/content/apps/agent-platform.md +0 -35
- package/content/apps/auth.md +0 -49
- package/content/apps/multi.md +0 -44
- package/content/apps/todo.md +0 -51
- package/content/backend/ai.md +0 -28
- package/content/backend/auth.md +0 -20
- package/content/backend/email.md +0 -23
- package/content/backend/graphql.md +0 -23
- package/content/backend/http.md +0 -23
- package/content/backend/limit.md +0 -23
- package/content/backend/middleware.md +0 -17
- package/content/backend/queue.md +0 -23
- package/content/backend/redis.md +0 -26
- package/content/backend/router.md +0 -23
- package/content/backend/schedule.md +0 -23
- package/content/backend/sql.md +0 -27
- package/content/backend/sse.md +0 -26
- package/content/backend/ws.md +0 -26
- package/content/capabilities/app-node.md +0 -21
- package/content/capabilities/data.md +0 -21
- package/content/capabilities/events.md +0 -21
- package/content/capabilities/hooks.md +0 -22
- package/content/capabilities/i18n.md +0 -21
- package/content/capabilities/popup.md +0 -21
- package/content/capabilities/render-only.md +0 -23
- package/content/capabilities/router.md +0 -22
- package/content/capabilities/self-id.md +0 -21
- package/content/capabilities/store.md +0 -21
- package/content/capabilities/theme.md +0 -21
- package/content/capabilities/two-phase.md +0 -21
- package/content/components/accordion.md +0 -50
- package/content/components/actionsheet.md +0 -46
- package/content/components/affix.md +0 -51
- package/content/components/aichat.md +0 -57
- package/content/components/alert.md +0 -52
- package/content/components/alertgroup.md +0 -45
- package/content/components/anchor.md +0 -52
- package/content/components/app.md +0 -37
- package/content/components/approvalcard.md +0 -56
- package/content/components/appshell.md +0 -50
- package/content/components/aspectratio.md +0 -47
- package/content/components/authpage.md +0 -61
- package/content/components/autocomplete-v2.md +0 -40
- package/content/components/autocomplete.md +0 -56
- package/content/components/avatar.md +0 -51
- package/content/components/avatargroup.md +0 -47
- package/content/components/backtop.md +0 -53
- package/content/components/badge.md +0 -55
- package/content/components/breadcrumb.md +0 -49
- package/content/components/button.md +0 -63
- package/content/components/calendar-v2.md +0 -40
- package/content/components/calendar.md +0 -50
- package/content/components/card.md +0 -58
- package/content/components/carousel.md +0 -52
- package/content/components/cascader-v2.md +0 -39
- package/content/components/cascader.md +0 -54
- package/content/components/chart.md +0 -53
- package/content/components/chatinput.md +0 -63
- package/content/components/checkbox.md +0 -51
- package/content/components/checkboxgroup.md +0 -52
- package/content/components/citationcard.md +0 -48
- package/content/components/codeblock.md +0 -48
- package/content/components/codeeditor.md +0 -47
- package/content/components/collapse.md +0 -49
- package/content/components/colorpicker.md +0 -50
- package/content/components/command.md +0 -50
- package/content/components/confirm.md +0 -57
- package/content/components/contextmenu.md +0 -48
- package/content/components/copybutton.md +0 -51
- package/content/components/datepicker.md +0 -52
- package/content/components/descriptions-v2.md +0 -39
- package/content/components/descriptions.md +0 -52
- package/content/components/diffview-v2.md +0 -39
- package/content/components/diffview.md +0 -50
- package/content/components/divider.md +0 -48
- package/content/components/drawer.md +0 -55
- package/content/components/dropdown.md +0 -53
- package/content/components/editor.md +0 -49
- package/content/components/emptystate.md +0 -51
- package/content/components/exportcsv.md +0 -38
- package/content/components/field.md +0 -54
- package/content/components/filepreview-office.md +0 -37
- package/content/components/filepreview.md +0 -49
- package/content/components/filetree.md +0 -56
- package/content/components/fileupload-v2.md +0 -39
- package/content/components/fileupload.md +0 -57
- package/content/components/floatbutton.md +0 -52
- package/content/components/form-v2.md +0 -41
- package/content/components/form.md +0 -60
- package/content/components/grid.md +0 -51
- package/content/components/highlight-v2.md +0 -39
- package/content/components/highlight.md +0 -46
- package/content/components/hovercard.md +0 -51
- package/content/components/icon.md +0 -50
- package/content/components/imagecropper.md +0 -45
- package/content/components/img.md +0 -56
- package/content/components/infinitescroll-v2.md +0 -40
- package/content/components/infinitescroll.md +0 -54
- package/content/components/input.md +0 -65
- package/content/components/inputnumber.md +0 -58
- package/content/components/inview.md +0 -56
- package/content/components/jsonschemaform.md +0 -53
- package/content/components/jsonviewer-v2.md +0 -39
- package/content/components/jsonviewer.md +0 -49
- package/content/components/kanban.md +0 -46
- package/content/components/label.md +0 -48
- package/content/components/layout.md +0 -54
- package/content/components/layoutcontent.md +0 -43
- package/content/components/layoutheader.md +0 -43
- package/content/components/layoutsider.md +0 -43
- package/content/components/link.md +0 -52
- package/content/components/list.md +0 -44
- package/content/components/loading.md +0 -45
- package/content/components/logviewer-v2.md +0 -39
- package/content/components/logviewer.md +0 -53
- package/content/components/markdown.md +0 -51
- package/content/components/markdowneditor.md +0 -47
- package/content/components/math.md +0 -42
- package/content/components/mentions-v2.md +0 -39
- package/content/components/mentions.md +0 -52
- package/content/components/menu.md +0 -56
- package/content/components/menubar.md +0 -44
- package/content/components/messagebubble.md +0 -50
- package/content/components/modal.md +0 -59
- package/content/components/navmenu.md +0 -47
- package/content/components/notification.md +0 -51
- package/content/components/pageheader.md +0 -53
- package/content/components/pagination.md +0 -49
- package/content/components/paragraph.md +0 -45
- package/content/components/passwordinput.md +0 -57
- package/content/components/pininput-v2.md +0 -39
- package/content/components/pininput.md +0 -50
- package/content/components/pipeline.md +0 -49
- package/content/components/popconfirm.md +0 -58
- package/content/components/popover.md +0 -61
- package/content/components/progressbar.md +0 -50
- package/content/components/prompttemplate.md +0 -49
- package/content/components/qrcode.md +0 -50
- package/content/components/radiogroup.md +0 -53
- package/content/components/rate.md +0 -53
- package/content/components/reasoningblock.md +0 -47
- package/content/components/relationgraph.md +0 -52
- package/content/components/resizable.md +0 -53
- package/content/components/result.md +0 -49
- package/content/components/scrollbar.md +0 -49
- package/content/components/searchinput.md +0 -51
- package/content/components/segmentedcontrol.md +0 -59
- package/content/components/select-searchable.md +0 -47
- package/content/components/select.md +0 -66
- package/content/components/sessionlist.md +0 -52
- package/content/components/sheetgrid.md +0 -44
- package/content/components/skeleton.md +0 -55
- package/content/components/slidecanvas.md +0 -44
- package/content/components/slider.md +0 -62
- package/content/components/sortablelist.md +0 -39
- package/content/components/space.md +0 -52
- package/content/components/sparkline.md +0 -52
- package/content/components/statcard-countdown.md +0 -39
- package/content/components/statcard.md +0 -56
- package/content/components/steps.md +0 -48
- package/content/components/switch.md +0 -50
- package/content/components/tabbar.md +0 -45
- package/content/components/table-v2.md +0 -40
- package/content/components/table.md +0 -66
- package/content/components/tabs.md +0 -56
- package/content/components/tag.md +0 -51
- package/content/components/tagsinput-v2.md +0 -39
- package/content/components/tagsinput.md +0 -54
- package/content/components/text.md +0 -45
- package/content/components/textarea.md +0 -57
- package/content/components/themeswitch.md +0 -69
- package/content/components/timeline.md +0 -50
- package/content/components/title.md +0 -45
- package/content/components/toast.md +0 -52
- package/content/components/toggle-togglegroup.md +0 -52
- package/content/components/togglegroup.md +0 -47
- package/content/components/toolcallcard.md +0 -51
- package/content/components/tooltip.md +0 -50
- package/content/components/tour.md +0 -50
- package/content/components/transfer.md +0 -52
- package/content/components/tree-v2.md +0 -39
- package/content/components/tree.md +0 -59
- package/content/components/treeselect.md +0 -54
- package/content/components/typography.md +0 -51
- package/content/components/videoplayer.md +0 -52
- package/content/components/virtuallist.md +0 -52
- package/content/components/virtualtable-v2.md +0 -39
- package/content/components/virtualtable.md +0 -55
- package/content/components/watermark.md +0 -53
- package/content/components/wave.md +0 -43
- package/content/guides/ai-chat-family.md +0 -24
- package/content/guides/choose.md +0 -67
- package/content/guides/component-model.md +0 -32
- package/content/guides/component-standards.md +0 -123
- package/content/guides/components-guide.md +0 -813
- package/content/guides/custom-component.md +0 -321
- package/content/guides/data-guide.md +0 -281
- package/content/guides/file-preview-family.md +0 -18
- package/content/guides/frontend.md +0 -968
- package/content/guides/layout-choice.md +0 -64
- package/content/guides/layout-guide.md +0 -241
- package/content/guides/middleware.md +0 -459
- package/content/guides/mobile-guide.md +0 -105
- package/content/guides/page-building.md +0 -98
- package/content/guides/production.md +0 -37
- package/content/guides/quality.md +0 -60
- package/content/guides/realtime-guide.md +0 -296
- package/content/guides/render-only.md +0 -44
- package/content/guides/saas-guide.md +0 -253
- package/content/guides/server-guide.md +0 -359
- package/content/guides/start.md +0 -41
- package/content/guides/styling.md +0 -154
- package/content/guides/ui-dom-guide.md +0 -157
- package/content/index.json +0 -4344
- package/content/index.md +0 -181
- package/content/layout/align.md +0 -20
- package/content/layout/anchor.md +0 -19
- package/content/layout/app-shell.md +0 -23
- package/content/layout/border.md +0 -20
- package/content/layout/center.md +0 -19
- package/content/layout/cluster.md +0 -19
- package/content/layout/container.md +0 -19
- package/content/layout/fill.md +0 -19
- package/content/layout/grid.md +0 -19
- package/content/layout/hidden.md +0 -22
- package/content/layout/layer.md +0 -19
- package/content/layout/position.md +0 -22
- package/content/layout/row.md +0 -23
- package/content/layout/safe-area.md +0 -20
- package/content/layout/scroll.md +0 -21
- package/content/layout/spacing.md +0 -22
- package/content/layout/split.md +0 -19
- package/content/layout/stack.md +0 -19
- package/content/layout/surface.md +0 -23
- package/content/layout/text.md +0 -22
- package/content/patterns/app-shell.md +0 -34
- package/content/patterns/dashboard.md +0 -36
- package/content/patterns/data-screen.md +0 -30
- package/content/patterns/detail-page.md +0 -31
- package/content/patterns/docs.md +0 -34
- package/content/patterns/focus-task.md +0 -34
- package/content/patterns/landing.md +0 -35
- package/content/patterns/list-page.md +0 -32
- package/content/patterns/mobile.md +0 -31
- package/content/patterns/settings-page.md +0 -33
- package/content/patterns/workspace.md +0 -32
- package/dist/cli/content-sync.test.d.ts +0 -1
- package/dist/cli/docs-cli.test.d.ts +0 -1
- package/dist/cli/docs.d.ts +0 -2
- package/dist/cli/docs.mjs +0 -10961
- package/dist/client/vdom/core/build.d.ts +0 -36
- package/dist/client/vdom/core/diff/children.d.ts +0 -29
- package/dist/client/vdom/core/diff/index.d.ts +0 -22
- package/dist/client/vdom/core/diff/output.d.ts +0 -30
- package/dist/client/vdom/core/diff/same.d.ts +0 -22
- package/dist/client/vdom/core/serve.d.ts +0 -75
- package/dist/client/vdom/core/ssr/index.d.ts +0 -25
- package/examples/apps/admin/README.md +0 -23
- package/examples/apps/admin/api.ts +0 -27
- package/examples/apps/admin/app.tsx +0 -144
- package/examples/apps/admin/main.tsx +0 -8
- package/examples/apps/admin/server.ts +0 -37
- package/examples/apps/auth/README.md +0 -23
- package/examples/apps/auth/api.ts +0 -49
- package/examples/apps/auth/app.tsx +0 -137
- package/examples/apps/auth/main.tsx +0 -8
- package/examples/apps/auth/server.ts +0 -37
- package/examples/apps/multi/README.md +0 -23
- package/examples/apps/multi/app.tsx +0 -83
- package/examples/apps/multi/main.tsx +0 -8
- package/examples/apps/multi/server.ts +0 -33
- package/examples/apps/todo/README.md +0 -23
- package/examples/apps/todo/api.ts +0 -26
- package/examples/apps/todo/app.tsx +0 -128
- package/examples/apps/todo/main.tsx +0 -9
- package/examples/apps/todo/server.ts +0 -39
- package/examples/hello-world/README.md +0 -9
- package/examples/hello-world/client.ts +0 -14
- package/examples/hello-world/routes.tsx +0 -26
- package/examples/hello-world/server.ts +0 -46
- package/examples/patterns/AppShell.tsx +0 -224
- package/examples/patterns/Dashboard.tsx +0 -153
- package/examples/patterns/DataScreen.tsx +0 -104
- package/examples/patterns/DetailPage.tsx +0 -79
- package/examples/patterns/Docs.tsx +0 -105
- package/examples/patterns/FocusTask.tsx +0 -67
- package/examples/patterns/Landing.tsx +0 -90
- package/examples/patterns/ListPage.tsx +0 -77
- package/examples/patterns/Mobile.tsx +0 -154
- package/examples/patterns/SettingsPage.tsx +0 -98
- package/examples/patterns/SplitWorkspace.tsx +0 -113
package/content/apps/multi.md
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# 应用编排 · apps
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
父应用嵌子应用:registerApp/hApp + app:* 边界事件——子应用独立状态。后端:ws 广播。
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
## 用到的页面模式
|
|
9
|
-
- (无)
|
|
10
|
-
|
|
11
|
-
## 用到的组件
|
|
12
|
-
- [Card](../components/card.md)
|
|
13
|
-
- [Button](../components/button.md)
|
|
14
|
-
- [Input](../components/input.md)
|
|
15
|
-
- [Tag](../components/tag.md)
|
|
16
|
-
- [Tabs](../components/tabs.md)
|
|
17
|
-
|
|
18
|
-
## 源码
|
|
19
|
-
|
|
20
|
-
> `examples/apps/multi/` ——完整可运行(随 npm 包发布)
|
|
21
|
-
|
|
22
|
-
## 目录结构
|
|
23
|
-
|
|
24
|
-
| 文件 | 职责 |
|
|
25
|
-
|------|------|
|
|
26
|
-
| `app.tsx` | 前端:registerApp 注册 2 个子应用 + 父应用工作台(h(App, {appId}) 嵌入) |
|
|
27
|
-
| `server.ts` | 独立入口(:3303——纯前端编排无后端 API) |
|
|
28
|
-
| `main.tsx` | 独立前端入口 |
|
|
29
|
-
|
|
30
|
-
## 改造指南(新手从跑起来到改成自己的)
|
|
31
|
-
|
|
32
|
-
- 1. 加子应用:app.tsx 里 registerApp('my-app', (props, ctx) => h(MyComp, {})) + 父树 h(App, { appId: 'my-app' })
|
|
33
|
-
- 2. 子应用传参:h(App, { appId, props: {...} })——app:update 边界事件(见 content/capabilities/app-node.md)
|
|
34
|
-
- 3. 观察边界事件:stream.subscribe 过滤 e.entity === 'app'(工作台已展示)
|
|
35
|
-
|
|
36
|
-
## 质量标准
|
|
37
|
-
|
|
38
|
-
- [x] 子应用独立状态
|
|
39
|
-
- [x] 边界事件观测
|
|
40
|
-
- [x] 零控制台错误
|
|
41
|
-
|
|
42
|
-
## 验证
|
|
43
|
-
|
|
44
|
-
> agent-browser 走查:打开 showcase `/apps/multi`(活体嵌入)——列表/新建/保存/删除全流程 + 控制台零错误
|
package/content/apps/todo.md
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# 任务管理 · apps
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
经典 CRUD 应用:列表/详情/新建——多页路由 + createStore 跨页状态 + 表单受控。后端:MemorySql 持久化。
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
## 用到的页面模式
|
|
9
|
-
- (无)
|
|
10
|
-
|
|
11
|
-
## 用到的组件
|
|
12
|
-
- [Button](../components/button.md)
|
|
13
|
-
- [Input](../components/input.md)
|
|
14
|
-
- [Checkbox](../components/checkbox.md)
|
|
15
|
-
- [Form](../components/form.md)
|
|
16
|
-
- [Tag](../components/tag.md)
|
|
17
|
-
- [EmptyState](../components/emptystate.md)
|
|
18
|
-
- [PageHeader](../components/pageheader.md)
|
|
19
|
-
|
|
20
|
-
## 源码
|
|
21
|
-
|
|
22
|
-
> `examples/apps/todo/` ——完整可运行(随 npm 包发布)
|
|
23
|
-
|
|
24
|
-
## 目录结构
|
|
25
|
-
|
|
26
|
-
| 文件 | 职责 |
|
|
27
|
-
|------|------|
|
|
28
|
-
| `app.tsx` | 前端:路由表 + 页面组件(TodoList/TodoNew)+ createStore + hash 桥接 |
|
|
29
|
-
| `api.ts` | 后端:registerTodoApi(app, sql)——CRUD 路由(独立/嵌入共享) |
|
|
30
|
-
| `server.ts` | 独立入口:MemorySql + ui + 前端服务(:3300) |
|
|
31
|
-
| `main.tsx` | 独立前端入口:createTodoApp + hashchange 桥接 |
|
|
32
|
-
|
|
33
|
-
## 改造指南(新手从跑起来到改成自己的)
|
|
34
|
-
|
|
35
|
-
- 1. 改数据模型:编辑 api.ts 的 SQL 表结构(todos 表字段)——MemorySql 与 postgres() 同契约,换库只改 server.ts 一行
|
|
36
|
-
- 2. 加页面:app.tsx 的路由表加一行 { path, render } + 新建页面组件(组件写法见 guides/component-model.md)
|
|
37
|
-
- 3. 改交互/状态:页面组件内 let + ctx.render()(render-only——见 guides/render-only.md)
|
|
38
|
-
- 4. 换样式:组件文档「用法示例」+ layout 原语(wf-* 类,零手写 CSS)
|
|
39
|
-
- 5. 接真实后端:server.ts 把 createMemorySql() 换成 postgres()(见 content/backend/sql.md)
|
|
40
|
-
|
|
41
|
-
## 质量标准
|
|
42
|
-
|
|
43
|
-
- [x] 键盘可达
|
|
44
|
-
- [x] 375/768 无溢出
|
|
45
|
-
- [x] 亮暗主题
|
|
46
|
-
- [x] loading/error/empty 态
|
|
47
|
-
- [x] 零控制台错误
|
|
48
|
-
|
|
49
|
-
## 验证
|
|
50
|
-
|
|
51
|
-
> agent-browser 走查:打开 showcase `/apps/todo`(活体嵌入)——列表/新建/保存/删除全流程 + 控制台零错误
|
package/content/backend/ai.md
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# ctx.ai(chat/stream/agent/approve) · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
AI 对话全链路:流式 token / 工具调用 / HITL 审批——wf: 协议对页面透明
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.ai`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/chat
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 关联组件
|
|
18
|
-
- [AiChat](../components/aichat.md)
|
|
19
|
-
- [ToolCallCard](../components/toolcallcard.md)
|
|
20
|
-
- [ApprovalCard](../components/approvalcard.md)
|
|
21
|
-
|
|
22
|
-
## 文档素材
|
|
23
|
-
|
|
24
|
-
来源:`docs/ai-contract.md`(迁移至本节——P3)
|
|
25
|
-
|
|
26
|
-
## 验证
|
|
27
|
-
|
|
28
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
package/content/backend/auth.md
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# 认证(ctx.auth/user) · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
登录态/会话/权限——userSystem 集成
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.auth`
|
|
10
|
-
|
|
11
|
-
## 关联组件
|
|
12
|
-
- [AuthPage](../components/authpage.md)
|
|
13
|
-
|
|
14
|
-
## 文档素材
|
|
15
|
-
|
|
16
|
-
来源:`content/guides/saas-guide.md`(迁移至本节——P3)
|
|
17
|
-
|
|
18
|
-
## 验证
|
|
19
|
-
|
|
20
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
package/content/backend/email.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# 邮件(ctx.email) · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
Mailer 契约——演示用内存捕获回显(mock 输出可读)
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.email`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/demo/email
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 文档素材
|
|
18
|
-
|
|
19
|
-
来源:`content/guides/saas-guide.md`(迁移至本节——P3)
|
|
20
|
-
|
|
21
|
-
## 验证
|
|
22
|
-
|
|
23
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# GraphQL · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
app.graphql(handler)——SDL + resolvers map 绑定
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`—`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/demo/graphql
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 文档素材
|
|
18
|
-
|
|
19
|
-
来源:`content/guides/server-guide.md`(迁移至本节——P3)
|
|
20
|
-
|
|
21
|
-
## 验证
|
|
22
|
-
|
|
23
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
package/content/backend/http.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# HTTP 原语 · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
Request/Response 标准接口 + SSE + CORS + 静态服务
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`—`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/demo/http
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 文档素材
|
|
18
|
-
|
|
19
|
-
来源:`content/guides/server-guide.md`(迁移至本节——P3)
|
|
20
|
-
|
|
21
|
-
## 验证
|
|
22
|
-
|
|
23
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
package/content/backend/limit.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# rateLimit(ctx.limit) · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
限流中间件——超额返回 429(演示端点轻阈值)
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.limit`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/demo/limit
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 文档素材
|
|
18
|
-
|
|
19
|
-
来源:`content/guides/saas-guide.md`(迁移至本节——P3)
|
|
20
|
-
|
|
21
|
-
## 验证
|
|
22
|
-
|
|
23
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
package/content/backend/queue.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# 任务队列(ctx.queue) · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
QueueClientModule——池命令 + 阻塞 worker(注入 Redis 模式)
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.queue`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/demo/queue
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 文档素材
|
|
18
|
-
|
|
19
|
-
来源:`content/guides/saas-guide.md`(迁移至本节——P3)
|
|
20
|
-
|
|
21
|
-
## 验证
|
|
22
|
-
|
|
23
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
package/content/backend/redis.md
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# ctx.redis(自研 RESP 协议层) · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
RedisClient 实现 Redis 契约——缓存/计数/发布订阅;演示用 MemoryRedis
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.redis`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/demo/redis
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 关联组件
|
|
18
|
-
- [Table](../components/table.md)
|
|
19
|
-
|
|
20
|
-
## 文档素材
|
|
21
|
-
|
|
22
|
-
来源:`content/guides/data-guide.md`(迁移至本节——P3)
|
|
23
|
-
|
|
24
|
-
## 验证
|
|
25
|
-
|
|
26
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Router 与请求 · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
Trie 路由 + 路径参数 :id + 通配符 + 方法分发——showcase 自身就是活体证明
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.route`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/demo/router
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 文档素材
|
|
18
|
-
|
|
19
|
-
来源:`content/guides/server-guide.md`(迁移至本节——P3)
|
|
20
|
-
|
|
21
|
-
## 验证
|
|
22
|
-
|
|
23
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# 定时任务(ctx.schedule/cron) · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
cron 表达式调度——演示:日志计数端点
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.schedule`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/demo/cron
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 文档素材
|
|
18
|
-
|
|
19
|
-
来源:`content/guides/saas-guide.md`(迁移至本节——P3)
|
|
20
|
-
|
|
21
|
-
## 验证
|
|
22
|
-
|
|
23
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
package/content/backend/sql.md
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# ctx.sql(自研 PG 协议层) · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
PgConnection 实现 Sql 契约——演示用 MemorySql(零 docker),文档说明换 postgres() 一行代码
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.sql`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/demo/sql
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 关联组件
|
|
18
|
-
- [Form](../components/form.md)
|
|
19
|
-
- [Table](../components/table.md)
|
|
20
|
-
|
|
21
|
-
## 文档素材
|
|
22
|
-
|
|
23
|
-
来源:`content/guides/data-guide.md`(迁移至本节——P3)
|
|
24
|
-
|
|
25
|
-
## 验证
|
|
26
|
-
|
|
27
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
package/content/backend/sse.md
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# SSE 事件流 · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
Server-Sent Events——服务端推送(流式回复/进度/通知);wire-fake chat 即活体
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`—`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /api/chat
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 关联组件
|
|
18
|
-
- [AiChat](../components/aichat.md)
|
|
19
|
-
|
|
20
|
-
## 文档素材
|
|
21
|
-
|
|
22
|
-
来源:`content/guides/realtime-guide.md`(迁移至本节——P3)
|
|
23
|
-
|
|
24
|
-
## 验证
|
|
25
|
-
|
|
26
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
package/content/backend/ws.md
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# WebSocket · backend
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
app.ws(path, handler)——双向实时(聊天/推送/协作)
|
|
6
|
-
|
|
7
|
-
## 装配
|
|
8
|
-
|
|
9
|
-
中间件注入键:`ctx.ws`
|
|
10
|
-
|
|
11
|
-
## 活体端点
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
curl /ws/echo
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 关联组件
|
|
18
|
-
- [AiChat](../components/aichat.md)
|
|
19
|
-
|
|
20
|
-
## 文档素材
|
|
21
|
-
|
|
22
|
-
来源:`content/guides/realtime-guide.md`(迁移至本节——P3)
|
|
23
|
-
|
|
24
|
-
## 验证
|
|
25
|
-
|
|
26
|
-
> curl 活体端点断言响应(P2 填充具体断言)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# 多应用(registerApp/hApp) · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
注册表 + 独立状态 + app:* 边界事件——应用编排
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/vdom3/registry.ts`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- multi 应用模板
|
|
14
|
-
|
|
15
|
-
## 相关纪律
|
|
16
|
-
|
|
17
|
-
`AGENTS.md §3.3`
|
|
18
|
-
|
|
19
|
-
## 验证
|
|
20
|
-
|
|
21
|
-
> agent-browser 走查:打开 `/capabilities/app-node` ——(P1 填充)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# ctx.data 数据管道 · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
get/set/has + 并发合并——SSR/hydration/SPA 三场景自动适配
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- (P2:示例页)
|
|
14
|
-
|
|
15
|
-
## 相关纪律
|
|
16
|
-
|
|
17
|
-
`AGENTS.md §3.4`
|
|
18
|
-
|
|
19
|
-
## 验证
|
|
20
|
-
|
|
21
|
-
> agent-browser 走查:打开 `/capabilities/data` ——(P1 填充)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# 事件流(stream) · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
DOM↔事件流全链路因果可回放——__wf_tail 实时观测
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/vdom3/events.ts`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- __wf_tail 观测面板
|
|
14
|
-
|
|
15
|
-
## 相关纪律
|
|
16
|
-
|
|
17
|
-
`AGENTS.md §6`
|
|
18
|
-
|
|
19
|
-
## 验证
|
|
20
|
-
|
|
21
|
-
> agent-browser 走查:打开 `/capabilities/events` ——(P1 填充)
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# hooks 族 · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
useMedia/useInView/useChat/usePopup…——事件驱动重渲染
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/vdom3/`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- 懒渲染
|
|
14
|
-
- 弹层
|
|
15
|
-
|
|
16
|
-
## 相关纪律
|
|
17
|
-
|
|
18
|
-
`AGENTS.md §4.2`
|
|
19
|
-
|
|
20
|
-
## 验证
|
|
21
|
-
|
|
22
|
-
> agent-browser 走查:打开 `/capabilities/hooks` ——(P1 填充)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# i18n 中间件 · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
locale/setLocale/t + 页面级重渲染(demo 专用 AppMiddleware)
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/i18n.ts`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- 中英切换
|
|
14
|
-
|
|
15
|
-
## 相关纪律
|
|
16
|
-
|
|
17
|
-
`AGENTS.md §4`
|
|
18
|
-
|
|
19
|
-
## 验证
|
|
20
|
-
|
|
21
|
-
> agent-browser 走查:打开 `/capabilities/i18n` ——(P1 填充)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# usePopup 弹窗基座 · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
portal + 定位 + 外部点击/Escape + 会话级模态——新弹层一律复用
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/popup.ts`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- Drawer/代码抽屉/下拉
|
|
14
|
-
|
|
15
|
-
## 相关纪律
|
|
16
|
-
|
|
17
|
-
`AGENTS.md §5.4`
|
|
18
|
-
|
|
19
|
-
## 验证
|
|
20
|
-
|
|
21
|
-
> agent-browser 走查:打开 `/capabilities/popup` ——(P1 填充)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# render-only 状态 · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
只有 ctx.render() 一种触发——状态是普通对象(let/createStore),无 $ Proxy 无隐式触发
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/vdom3/router.ts`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- 搜索框
|
|
14
|
-
- 主题切换
|
|
15
|
-
- 应用页内嵌 router
|
|
16
|
-
|
|
17
|
-
## 相关纪律
|
|
18
|
-
|
|
19
|
-
`AGENTS.md §4`
|
|
20
|
-
|
|
21
|
-
## 验证
|
|
22
|
-
|
|
23
|
-
> agent-browser 走查:打开 `/capabilities/render-only` ——(P1 填充)
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# UIRouter 路由 · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
pathname 路由 + :param + layout 包裹复用 + 隔离模式(页面内嵌子路由)
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/vdom3/router.ts`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- showcase 八域导航
|
|
14
|
-
- app demo 嵌入
|
|
15
|
-
|
|
16
|
-
## 相关纪律
|
|
17
|
-
|
|
18
|
-
`AGENTS.md §3.5`
|
|
19
|
-
|
|
20
|
-
## 验证
|
|
21
|
-
|
|
22
|
-
> agent-browser 走查:打开 `/capabilities/router` ——(P1 填充)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# selfId 精准刷新 · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
自定义组件 ID——任意位置 render([id]) 跨组件精准定位
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/vdom3/`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- (示例页)
|
|
14
|
-
|
|
15
|
-
## 相关纪律
|
|
16
|
-
|
|
17
|
-
`AGENTS.md §4.3`
|
|
18
|
-
|
|
19
|
-
## 验证
|
|
20
|
-
|
|
21
|
-
> agent-browser 走查:打开 `/capabilities/self-id` ——(P1 填充)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# createStore + useExternal · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
共享状态原语:普通对象 + subscribe/set/update/notify——跨组件通道
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/client/ui-dom/store.ts`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- 主题/语言偏好跨页同步
|
|
14
|
-
|
|
15
|
-
## 相关纪律
|
|
16
|
-
|
|
17
|
-
`AGENTS.md §4.5`
|
|
18
|
-
|
|
19
|
-
## 验证
|
|
20
|
-
|
|
21
|
-
> agent-browser 走查:打开 `/capabilities/store` ——(P1 填充)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# 主题系统 · capabilities
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
--wf-* token 双层(亮/暗/自动)+ ThemeSwitch + localStorage 持久化
|
|
6
|
-
|
|
7
|
-
## 框架源码
|
|
8
|
-
|
|
9
|
-
`src/layout/_tokens.css`
|
|
10
|
-
|
|
11
|
-
## 平台自证
|
|
12
|
-
|
|
13
|
-
- ThemeSwitch 全站
|
|
14
|
-
|
|
15
|
-
## 相关纪律
|
|
16
|
-
|
|
17
|
-
`AGENTS.md §8`
|
|
18
|
-
|
|
19
|
-
## 验证
|
|
20
|
-
|
|
21
|
-
> agent-browser 走查:打开 `/capabilities/theme` ——(P1 填充)
|