bricks-miniprogram/DESIGN.md

35 lines
1.0 KiB
Markdown

# Bricks 微信小程序 - 设计文档
## 架构
JSON → BricksParser → setData → WXML 递归模板 → 小程序原生渲染
## 核心文件
- `utils/parser.js` - JSON 解析引擎
- `utils/http.js` - wx.request 封装
- `utils/renderer.js` - 事件分发
- `components/brick/brick.wxml` - 递归模板 (template is="brick")
- `pages/bricks/bricks.js` - 页面入口
## 组件映射
| Bricks Widget | 小程序组件 |
|--------------|----------|
| Text/Title1-6 | `<text class="title-N">` |
| HBox/VBox | `<view class="flex-row/flex-col">` |
| Filler | `<view class="flex-fill">` |
| KeyinText/Input | `<input>` |
| Image | `<image>` |
| Running | `<loading>` |
| VScrollPanel/HScrollPanel | `<scroll-view scroll-y/x>` |
| Modal/Popup | `<view class="modal-overlay">` |
## 事件系统
- urlwidget → wx.navigateTo
- method → Page 方法调用
- event → bindtap/catchtap
- script → wx.request 服务端 RPC
## 限制
- 包体积 2MB → 分包加载
- WXML 不支持 innerHTML → 用 template 递归
- Markdown/Html → 需引入 mp-html 插件