Appearance
组件与交互
这一页只记录已经能落到具体字段读写的组件级结构,不再写“复刻步骤”。
1. quoteArea 组件数据
1.1 站内渲染态:j2.b
MarkdownCustomQuoteAreaKt 渲染时直接读取 extra.G.d,其类型是 j2.b。[1]
| 字段 | 类型 | 当前解释 | 消费状态 |
|---|---|---|---|
f4993a | String? | 标题 | 字段存在,但来源未闭环 |
b | int | 状态值 | 字段存在,枚举未闭环 |
f4994c | List<j2.c> | 条目列表 | 已确认被点击链消费 |
d | Long? | msgId | 字段存在 |
当前边界:
- 渲染层会消费现成
j2.b - 点击时
MarkdownHandlerImpl.b(j2.b)继续消费的是f4994c j2.b的构造点仍未命中a2.e.d的写侧仍未命中
1.2 半浮层条目态:j2.c
半浮层页面不直接读 j2.b,而是读 quoteAreaItems 反序列化出的 j2.c 列表。[2]
| 字段 | 类型 | 当前解释 | 消费状态 |
|---|---|---|---|
title | String? | 条目标题 | 已确认消费 |
jumpUrl | String? | 跳转链接 | 已确认消费 |
summary | String? | 摘要 | 已确认消费 |
sourceIcon | String? | 来源图标 | 已确认消费 |
sourceName | String? | 来源名 | 已确认消费 |
sourceAuthor | String? | 来源作者 | 已确认消费 |
date | String? | 日期文本 | 已确认消费 |
displayWeight | int | 排序权重 | 已确认参与排序 |
2. quoteArea 点击链
当前已闭环链路:
MarkdownCustomQuoteAreaKt持有现成j2.b- 点击时调用
handler.b(j2.b) MarkdownHandlerImpl.b(j2.b)只取j2.b.f4994c- 序列化写入
quoteAreaItems - 打开
QuoteHalfFloatingPage
当前由此能确认:
j2.b是站内渲染态 DTOj2.c是半浮层条目 DTOquoteArea的点击展示依赖j2.c列表
当前仍未闭环:
quoteAreaAST 数据如何组装成j2.bquoteArea.text是否最终进入j2.b.f4993a
3. multiPic 组件字段
multiPic 当前是已知闭环更完整的一条链。
| 参数 | 类型 | 当前消费点 | 当前解释 | 状态 |
|---|---|---|---|---|
itemsPerRow | 未完全定型 | MultiPicParser | 每行数量 | 已确认消费 |
itemsNum | 未完全定型 | MultiPicParser | 总数 | 已确认消费 |
index | 未完全定型 | f2.c | 条目位置 | 已确认消费 |
picUrl | string 倾向 | f2.c | 图片地址 | 已确认消费 |
jumpUrl | string 倾向 | f2.c | 点击跳转 | 已确认消费 |
当前可以明确写出的结论:
itemsPerRow/itemsNum/index已有真实消费点- 因此它们不能再写成
replace自身字段 - 流式阶段存在
loading占位,预览阶段会过滤loading
4. text 在不同链路中的状态
| 所在链 | 当前状态 |
|---|---|
quoteArea 普通 node | 已确认会进入 extra.F["text"],并被预处理器读取 |
replace | 未找到 replace 专属 text 消费点 |
thinkArea | 已确认被 MarkerCustomProcessor 读取 |
5. 当前最重要的未闭环点
quoteArea.text -> j2.b.f4993aa2.e.d写侧j2.b生产侧j2.b.b的状态枚举
6. 关键源码
MarkdownCustomQuoteAreaKt读取extra.G.d见../../classes14_src/base/markdown/renderer/compose/elements/custom_syntax/MarkdownCustomQuoteAreaKt.java:106-120,j2.b结构见../../classes14_src/j2/b.java:8-20,31-52。 ↩︎QuoteHalfFloatingPage构造j2.c见../../classes14_src/net_search/QuoteHalfFloatingPage.java:54-120;MarkdownHandlerImpl.b(j2.b)消费f4994c见../../classes14_src/base/markdown/renderer/model/MarkdownHandlerImpl.java:41-75,368-431。 ↩︎