feat: rewrite schema-driven widget system
This commit is contained in:
1 parent
6c6c462df8
commit
ad99ab53ce
28 files changed
+3489
No files matched your search
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"schema": "aksrt.widget-reference.v1",
|
||||
"captured_at": "2026-08-17",
|
||||
"source_root": "C:\\Users\\Xing\\Desktop\\zibll",
|
||||
"source_policy": {
|
||||
"modern_widget_count": 37,
|
||||
"include_core_product_marketing": true,
|
||||
"exclude_bbs_branch": true,
|
||||
"exclude_shop_branch": true,
|
||||
"exclude_deprecated_widgets": true,
|
||||
"branding": "AKSRT"
|
||||
},
|
||||
"files": [
|
||||
{"path":"inc/widgets/widget-class.php","bytes":2123,"sha256":"92e8ae46c47cc6d9f46312113e182105b013c8073c29da61ef048680c9cc814b"},
|
||||
{"path":"inc/widgets/widget-import.php","bytes":146458,"sha256":"dca6b442e35f1804a7fe9130e7df9ac4c11772c85774c1faa69ebacb48df9b62"},
|
||||
{"path":"inc/widgets/widget-index.php","bytes":18826,"sha256":"6f15b1b73f909ea7eccf4697b5274a38512deae2e931ae7b0a33e48a5fcd8b25"},
|
||||
{"path":"inc/widgets/widget-more.php","bytes":167708,"sha256":"07ea0c3260a9ee9701b1ce03795941fbbfb61c377ad71fe8f7820107763c5528"},
|
||||
{"path":"inc/widgets/widget-posts.php","bytes":99676,"sha256":"20b04007270ecfd265adaaa287eb1a696566385b1f86379079be9664cfaea409"},
|
||||
{"path":"inc/widgets/widget-produck.php","bytes":121409,"sha256":"77194592685b50e5428c6db4d0e2ca2cbc52d0ff4a81200f4e10b56e26159b9d"},
|
||||
{"path":"inc/widgets/widget-slider.php","bytes":45007,"sha256":"a06a12500cb8ffbf57e496d9979eaed0edd545499ecb9c80d011d3ae49d2244e"},
|
||||
{"path":"inc/widgets/widget-user.php","bytes":24655,"sha256":"97a4fde11d0a93af229e499f9b11c8d769b21b6b7500eac9bb94b4dd850f6b24"},
|
||||
{"path":"inc/csf-framework/classes/widget-options.class.php","bytes":40070,"sha256":"ac7af19cc5d981eff933417430f45eb5bb0b1ff7dc8a0462238b79c9bab74722"},
|
||||
{"path":"css/widget-set.css","bytes":5567,"sha256":"a11605b3e30d2ee372438c4242929461cbcc369fed1fa417a8046b4f15ae8a9f"},
|
||||
{"path":"js/widget-set.js","bytes":35437,"sha256":"bdb9ac07039ec85f1ac90a92ca4496f0c625b7bdeea6a468bd9a30814e968d8f"}
|
||||
],
|
||||
"groups": {
|
||||
"general": ["search","posts_toc","quote","icon_cards","video","embed","media_cards","icon_cover_cards","partners","combo_info","text_title","buttons","layout_gap","tag_cloud","recent_comments","links","notice"],
|
||||
"content": ["term_cards","term_aggregation","hot_posts","post_pay","posts","tab_posts","oneline_posts"],
|
||||
"knowledge_product": ["pricing_plans","reviews","faq","stats","highlights","feature_intro","tilt_cases"],
|
||||
"slider": ["slider","slider_media_combo"],
|
||||
"user": ["user_card","author_card","user_ranking","user_list"]
|
||||
},
|
||||
"excluded_legacy": ["widget_ui_main_tab_posts","widget_ui_mini_tab_posts","widget_ui_mini_posts","widget_ui_mian_posts","widget_ui_slider"],
|
||||
"excluded_paths": ["inc/functions/bbs/widgets","inc/functions/shop/widgets"]
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
# Plan: AKSRT 小工具系统全量重写
|
||||
|
||||
> 用户确认基线:`C:\Users\Xing\Desktop\zibll`
|
||||
> 目标:37 个现代核心小工具;排除论坛、商城和废弃旧版;无兼容、迁移或双路运行。
|
||||
|
||||
## Architectural Decisions
|
||||
|
||||
- 使用全新的 `AKSRT\WidgetSystem` 数据驱动内核,不引入 Codestar/CSF。
|
||||
- 新实例 ID 统一为 `aksrt_widget_<slug>`,不注册或读取现有小工具 ID。
|
||||
- 开发期新系统在未接入 bootstrap 前保持不可达;最终以单次注册器切换删除旧运行路径。
|
||||
- 参考“专题”映射为 `category`/`post_tag`;付费类型只使用 AKSRT `DomainModel`。
|
||||
- 最终树只保留一套小工具 CSS、JS、REST 与挂载区域实现。
|
||||
|
||||
## Phase 1 — 参考基线与原生内核
|
||||
|
||||
- [x] 冻结参考文件哈希、37 项现代组件清单和明确排除项。
|
||||
- [x] 实现 `WidgetDefinition`、`WidgetRegistry`、字段 schema、通用字段与递归规范化。
|
||||
- [x] 实现后台表单渲染、懒加载控制器及独立 admin CSS/JS 基础。
|
||||
- [x] 增加注册表/字段契约审计并通过 PHP 语法与审计检查。
|
||||
|
||||
## Phase 2 — 37 个渲染器与动态数据接口
|
||||
|
||||
- [x] 实现 17 个通用/装饰组件。
|
||||
- [x] 实现 7 个文章/知识付费组件和统一查询、卡片、分页链路。
|
||||
- [x] 实现 7 个知识产品、2 个幻灯片和 4 个用户组件。
|
||||
- [x] 实现统一 REST items 路由、一言路由及按需前端资源。
|
||||
|
||||
## Phase 3 — 原子切换、挂载区域与导入导出
|
||||
|
||||
- [ ] 替换注册器并删除旧小工具类、旧公共层、旧路由和重复资源。
|
||||
- [ ] 重写 40 个静态挂载区域、动态页面区域及所有模板消费点。
|
||||
- [ ] 实现 `aksrt.widgets.v1` 导入导出和 5 套知识付费模板。
|
||||
- [ ] 核对默认 WordPress 小工具注销策略与区块编辑器/自定义器行为。
|
||||
|
||||
## Phase 4 — 自动化与视觉终验
|
||||
|
||||
- [ ] 完成 schema、查询、可见性、导入导出、REST 与支付适配测试。
|
||||
- [ ] 生成参考源码黄金 fixture,并完成 1440/1024/390、明暗模式截图矩阵。
|
||||
- [ ] 验证交互、无障碍、控制台、网络和像素差异阈值。
|
||||
- [ ] 复跑 WordPress 项目检测、全量 PHP 检查和管理端契约审计。
|
||||
Reference in new issue
Block a user