v13-after.json 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194
  1. {
  2. "tag": "after",
  3. "at": "2026-10-30T11:51:03.473Z",
  4. "one": {
  5. "btns": [
  6. {
  7. "text": "优先级 S→A→B",
  8. "pressed": "true",
  9. "bg": "rgba(0, 0, 0, 0.06)",
  10. "color": "rgb(24, 24, 27)",
  11. "fontSize": "12px",
  12. "lineHeight": "12px",
  13. "h": 28,
  14. "radius": "0px 0px",
  15. "borderLeft": "0px"
  16. },
  17. {
  18. "text": "综合评分 高→低",
  19. "pressed": "false",
  20. "bg": "rgba(0, 0, 0, 0)",
  21. "color": "rgb(63, 63, 70)",
  22. "fontSize": "12px",
  23. "lineHeight": "12px",
  24. "h": 28,
  25. "radius": "0px 0px",
  26. "borderLeft": "1px"
  27. },
  28. {
  29. "text": "证据强度 高→低",
  30. "pressed": "false",
  31. "bg": "rgba(0, 0, 0, 0)",
  32. "color": "rgb(63, 63, 70)",
  33. "fontSize": "12px",
  34. "lineHeight": "12px",
  35. "h": 28,
  36. "radius": "0px 0px",
  37. "borderLeft": "1px"
  38. },
  39. {
  40. "text": "最新上传",
  41. "pressed": "false",
  42. "bg": "rgba(0, 0, 0, 0)",
  43. "color": "rgb(63, 63, 70)",
  44. "fontSize": "12px",
  45. "lineHeight": "12px",
  46. "h": 28,
  47. "radius": "0px 0px",
  48. "borderLeft": "1px"
  49. },
  50. {
  51. "text": "分歧最大",
  52. "pressed": "false",
  53. "bg": "rgba(0, 0, 0, 0)",
  54. "color": "rgb(63, 63, 70)",
  55. "fontSize": "12px",
  56. "lineHeight": "12px",
  57. "h": 28,
  58. "radius": "0px 0px",
  59. "borderLeft": "1px"
  60. }
  61. ],
  62. "seps": [
  63. {
  64. "i": 0,
  65. "left": "0px",
  66. "leftStyle": "none",
  67. "leftColor": "rgb(24, 24, 27)"
  68. },
  69. {
  70. "i": 1,
  71. "left": "1px",
  72. "leftStyle": "solid",
  73. "leftColor": "rgba(0, 0, 0, 0.1)"
  74. },
  75. {
  76. "i": 2,
  77. "left": "1px",
  78. "leftStyle": "solid",
  79. "leftColor": "rgba(0, 0, 0, 0.1)"
  80. },
  81. {
  82. "i": 3,
  83. "left": "1px",
  84. "leftStyle": "solid",
  85. "leftColor": "rgba(0, 0, 0, 0.1)"
  86. },
  87. {
  88. "i": 4,
  89. "left": "1px",
  90. "leftStyle": "solid",
  91. "leftColor": "rgba(0, 0, 0, 0.1)"
  92. }
  93. ],
  94. "outer": {
  95. "radius": "8px",
  96. "border": "1px solid rgba(0, 0, 0, 0.1)",
  97. "h": 28,
  98. "bg": "rgba(0, 0, 0, 0)"
  99. },
  100. "selected": {
  101. "text": "优先级 S→A→B",
  102. "pressed": "true",
  103. "bg": "rgba(0, 0, 0, 0.06)",
  104. "color": "rgb(24, 24, 27)",
  105. "fontSize": "12px",
  106. "lineHeight": "12px",
  107. "h": 28,
  108. "radius": "0px 0px",
  109. "borderLeft": "0px"
  110. },
  111. "unselected": [
  112. {
  113. "text": "综合评分 高→低",
  114. "pressed": "false",
  115. "bg": "rgba(0, 0, 0, 0)",
  116. "color": "rgb(63, 63, 70)",
  117. "fontSize": "12px",
  118. "lineHeight": "12px",
  119. "h": 28,
  120. "radius": "0px 0px",
  121. "borderLeft": "1px"
  122. },
  123. {
  124. "text": "证据强度 高→低",
  125. "pressed": "false",
  126. "bg": "rgba(0, 0, 0, 0)",
  127. "color": "rgb(63, 63, 70)",
  128. "fontSize": "12px",
  129. "lineHeight": "12px",
  130. "h": 28,
  131. "radius": "0px 0px",
  132. "borderLeft": "1px"
  133. },
  134. {
  135. "text": "最新上传",
  136. "pressed": "false",
  137. "bg": "rgba(0, 0, 0, 0)",
  138. "color": "rgb(63, 63, 70)",
  139. "fontSize": "12px",
  140. "lineHeight": "12px",
  141. "h": 28,
  142. "radius": "0px 0px",
  143. "borderLeft": "1px"
  144. },
  145. {
  146. "text": "分歧最大",
  147. "pressed": "false",
  148. "bg": "rgba(0, 0, 0, 0)",
  149. "color": "rgb(63, 63, 70)",
  150. "fontSize": "12px",
  151. "lineHeight": "12px",
  152. "h": 28,
  153. "radius": "0px 0px",
  154. "borderLeft": "1px"
  155. }
  156. ],
  157. "selColorRule": "rgb(24, 24, 27)",
  158. "wrapTop": 444.34375,
  159. "mobile": {
  160. "text": "优先级 S→A→B",
  161. "bg": "rgba(0, 0, 0, 0.06)",
  162. "color": "rgb(24, 24, 27)",
  163. "fontSize": "13px",
  164. "lineHeight": "normal"
  165. }
  166. },
  167. "two": {
  168. "pages": [
  169. {
  170. "page": "/reports",
  171. "n": 12,
  172. "cards": [
  173. {
  174. "title": "夏日清爽凉拌面",
  175. "lead": "夏季 6–8 月拌面搜索",
  176. "leadTxt": "夏季 6–8 月拌面搜索 +35%,但现有产品多为「热拌」,冷拌 / 冰镇吃法没有对应 SKU",
  177. "gapTitleToM": 66,
  178. "contentH": 252,
  179. "rcH": 252,
  180. "faceH": 284,
  181. "cardH": 284,
  182. "maxGap": 0,
  183. "gapAt": "",
  184. "rowIdx": 719
  185. },
  186. {
  187. "title": "夏日清爽凉拌面",
  188. "lead": "夏季 6–8 月拌面搜索",
  189. "leadTxt": "夏季 6–8 月拌面搜索 +35%,但现有产品多为「热拌」,冷拌 / 冰镇吃法没有对应 SKU",
  190. "gapTitleToM": 66,
  191. "contentH": 252,
  192. "rcH": 252,
  193. "faceH": 284,
  194. "cardH": 284,
  195. "maxGap": 0,
  196. "gapAt": "",
  197. "rowIdx": 719
  198. },
  199. {
  200. "title": "露营便携免煮拌面",
  201. "lead": "露营带的都是泡面,想吃拌",
  202. "leadTxt": "露营带的都是泡面,想吃拌面又得煮:冷水泡 8 分钟、自带拌酱的免煮方案",
  203. "gapTitleToM": 66,
  204. "contentH": 252,
  205. "rcH": 252,
  206. "faceH": 284,
  207. "cardH": 284,
  208. "maxGap": 0,
  209. "gapAt": "",
  210. "rowIdx": 719
  211. },
  212. {
  213. "title": "露营便携免煮拌面",
  214. "lead": "露营带的都是泡面,想吃拌",
  215. "leadTxt": "露营带的都是泡面,想吃拌面又得煮:冷水泡 8 分钟、自带拌酱的免煮方案",
  216. "gapTitleToM": 66,
  217. "contentH": 252,
  218. "rcH": 252,
  219. "faceH": 284,
  220. "cardH": 284,
  221. "maxGap": 0,
  222. "gapAt": "",
  223. "rowIdx": 1015
  224. },
  225. {
  226. "title": "拌面品类市场概览(骨架样例)",
  227. "lead": "原材料层样例:字段未定,",
  228. "leadTxt": "原材料层样例:字段未定,业务内容放 payload。",
  229. "gapTitleToM": 45,
  230. "contentH": 231,
  231. "rcH": 231,
  232. "faceH": 284,
  233. "cardH": 284,
  234. "maxGap": 0,
  235. "gapAt": "",
  236. "rowIdx": 1015
  237. },
  238. {
  239. "title": "“老年人更爱汤面”推断",
  240. "lead": "分身据常识推断,学员未提",
  241. "leadTxt": "分身据常识推断,学员未提供访谈原文。",
  242. "gapTitleToM": 45,
  243. "contentH": 231,
  244. "rcH": 231,
  245. "faceH": 284,
  246. "cardH": 284,
  247. "maxGap": 0,
  248. "gapAt": "",
  249. "rowIdx": 1015
  250. },
  251. {
  252. "title": "夜宵低卡拌面机会卡(与张伟重",
  253. "lead": "与已有机会卡高度重复,无",
  254. "leadTxt": "与已有机会卡高度重复,无新增证据。",
  255. "gapTitleToM": 45,
  256. "contentH": 231,
  257. "rcH": 231,
  258. "faceH": 263,
  259. "cardH": 263,
  260. "maxGap": 0,
  261. "gapAt": "",
  262. "rowIdx": 1311
  263. },
  264. {
  265. "title": "国潮联名拌面",
  266. "lead": null,
  267. "leadTxt": "",
  268. "gapTitleToM": 12,
  269. "contentH": 257,
  270. "rcH": 199,
  271. "faceH": 263,
  272. "cardH": 263,
  273. "maxGap": 0,
  274. "gapAt": "",
  275. "rowIdx": 1311
  276. },
  277. {
  278. "title": "国潮联名拌面",
  279. "lead": null,
  280. "leadTxt": "",
  281. "gapTitleToM": 12,
  282. "contentH": 257,
  283. "rcH": 199,
  284. "faceH": 263,
  285. "cardH": 263,
  286. "maxGap": 0,
  287. "gapAt": "",
  288. "rowIdx": 1311
  289. },
  290. {
  291. "title": "国潮联名拌面",
  292. "lead": null,
  293. "leadTxt": "",
  294. "gapTitleToM": 12,
  295. "contentH": 257,
  296. "rcH": 199,
  297. "faceH": 231,
  298. "cardH": 231,
  299. "maxGap": 0,
  300. "gapAt": "",
  301. "rowIdx": 1587
  302. },
  303. {
  304. "title": "早餐快速汤面",
  305. "lead": null,
  306. "leadTxt": "",
  307. "gapTitleToM": 12,
  308. "contentH": 257,
  309. "rcH": 199,
  310. "faceH": 231,
  311. "cardH": 231,
  312. "maxGap": 0,
  313. "gapAt": "",
  314. "rowIdx": 1587
  315. },
  316. {
  317. "title": "早餐快速汤面",
  318. "lead": null,
  319. "leadTxt": "",
  320. "gapTitleToM": 12,
  321. "contentH": 257,
  322. "rcH": 199,
  323. "faceH": 231,
  324. "cardH": 231,
  325. "maxGap": 0,
  326. "gapAt": "",
  327. "rowIdx": 1587
  328. }
  329. ]
  330. },
  331. {
  332. "page": "/stages",
  333. "n": 35,
  334. "cards": [
  335. {
  336. "title": "夏日清爽凉拌面",
  337. "lead": "夏季 6–8 月拌面搜索",
  338. "leadTxt": "夏季 6–8 月拌面搜索 +35%,但现有产品多为「热拌」,冷拌 / 冰镇吃法没有对应 SKU",
  339. "gapTitleToM": 66,
  340. "contentH": 268,
  341. "rcH": 268,
  342. "faceH": 300,
  343. "cardH": 300,
  344. "maxGap": 0,
  345. "gapAt": "",
  346. "rowIdx": 311
  347. },
  348. {
  349. "title": "露营便携免煮拌面",
  350. "lead": "露营带的都是泡面,想吃拌",
  351. "leadTxt": "露营带的都是泡面,想吃拌面又得煮:冷水泡 8 分钟、自带拌酱的免煮方案",
  352. "gapTitleToM": 66,
  353. "contentH": 268,
  354. "rcH": 268,
  355. "faceH": 300,
  356. "cardH": 300,
  357. "maxGap": 0,
  358. "gapAt": "",
  359. "rowIdx": 311
  360. },
  361. {
  362. "title": "“老年人更爱汤面”推断",
  363. "lead": "分身据常识推断,学员未提",
  364. "leadTxt": "分身据常识推断,学员未提供访谈原文。",
  365. "gapTitleToM": 45,
  366. "contentH": 247,
  367. "rcH": 247,
  368. "faceH": 300,
  369. "cardH": 300,
  370. "maxGap": 0,
  371. "gapAt": "",
  372. "rowIdx": 311
  373. },
  374. {
  375. "title": "夜宵低卡拌面机会卡(与张伟重",
  376. "lead": "与已有机会卡高度重复,无",
  377. "leadTxt": "与已有机会卡高度重复,无新增证据。",
  378. "gapTitleToM": 45,
  379. "contentH": 247,
  380. "rcH": 247,
  381. "faceH": 279,
  382. "cardH": 279,
  383. "maxGap": 0,
  384. "gapAt": "",
  385. "rowIdx": 623
  386. },
  387. {
  388. "title": "国潮联名拌面",
  389. "lead": null,
  390. "leadTxt": "",
  391. "gapTitleToM": 12,
  392. "contentH": 284,
  393. "rcH": 214,
  394. "faceH": 279,
  395. "cardH": 279,
  396. "maxGap": 0,
  397. "gapAt": "",
  398. "rowIdx": 623
  399. },
  400. {
  401. "title": "国潮联名拌面",
  402. "lead": null,
  403. "leadTxt": "",
  404. "gapTitleToM": 12,
  405. "contentH": 284,
  406. "rcH": 214,
  407. "faceH": 279,
  408. "cardH": 279,
  409. "maxGap": 0,
  410. "gapAt": "",
  411. "rowIdx": 623
  412. },
  413. {
  414. "title": "国潮联名拌面",
  415. "lead": null,
  416. "leadTxt": "",
  417. "gapTitleToM": 12,
  418. "contentH": 284,
  419. "rcH": 214,
  420. "faceH": 246,
  421. "cardH": 246,
  422. "maxGap": 0,
  423. "gapAt": "",
  424. "rowIdx": 914
  425. },
  426. {
  427. "title": "早餐快速汤面",
  428. "lead": null,
  429. "leadTxt": "",
  430. "gapTitleToM": 12,
  431. "contentH": 284,
  432. "rcH": 214,
  433. "faceH": 246,
  434. "cardH": 246,
  435. "maxGap": 0,
  436. "gapAt": "",
  437. "rowIdx": 914
  438. },
  439. {
  440. "title": "早餐快速汤面",
  441. "lead": null,
  442. "leadTxt": "",
  443. "gapTitleToM": 12,
  444. "contentH": 284,
  445. "rcH": 214,
  446. "faceH": 246,
  447. "cardH": 246,
  448. "maxGap": 0,
  449. "gapAt": "",
  450. "rowIdx": 914
  451. },
  452. {
  453. "title": "早餐快速汤面",
  454. "lead": null,
  455. "leadTxt": "",
  456. "gapTitleToM": 12,
  457. "contentH": 284,
  458. "rcH": 214,
  459. "faceH": 246,
  460. "cardH": 246,
  461. "maxGap": 0,
  462. "gapAt": "",
  463. "rowIdx": 1172
  464. },
  465. {
  466. "title": "夏日清爽凉拌面",
  467. "lead": null,
  468. "leadTxt": "",
  469. "gapTitleToM": 12,
  470. "contentH": 284,
  471. "rcH": 214,
  472. "faceH": 246,
  473. "cardH": 246,
  474. "maxGap": 0,
  475. "gapAt": "",
  476. "rowIdx": 1172
  477. },
  478. {
  479. "title": "夏日清爽凉拌面",
  480. "lead": null,
  481. "leadTxt": "",
  482. "gapTitleToM": 12,
  483. "contentH": 284,
  484. "rcH": 214,
  485. "faceH": 246,
  486. "cardH": 246,
  487. "maxGap": 0,
  488. "gapAt": "",
  489. "rowIdx": 1172
  490. },
  491. {
  492. "title": "健身人群高蛋白面",
  493. "lead": null,
  494. "leadTxt": "",
  495. "gapTitleToM": 12,
  496. "contentH": 284,
  497. "rcH": 214,
  498. "faceH": 246,
  499. "cardH": 246,
  500. "maxGap": 0,
  501. "gapAt": "",
  502. "rowIdx": 1431
  503. },
  504. {
  505. "title": "健身人群高蛋白面",
  506. "lead": null,
  507. "leadTxt": "",
  508. "gapTitleToM": 12,
  509. "contentH": 284,
  510. "rcH": 214,
  511. "faceH": 246,
  512. "cardH": 246,
  513. "maxGap": 0,
  514. "gapAt": "",
  515. "rowIdx": 1431
  516. },
  517. {
  518. "title": "健身人群高蛋白面",
  519. "lead": null,
  520. "leadTxt": "",
  521. "gapTitleToM": 12,
  522. "contentH": 284,
  523. "rcH": 214,
  524. "faceH": 246,
  525. "cardH": 246,
  526. "maxGap": 0,
  527. "gapAt": "",
  528. "rowIdx": 1431
  529. },
  530. {
  531. "title": "银发低钠汤面",
  532. "lead": null,
  533. "leadTxt": "",
  534. "gapTitleToM": 12,
  535. "contentH": 284,
  536. "rcH": 214,
  537. "faceH": 246,
  538. "cardH": 246,
  539. "maxGap": 0,
  540. "gapAt": "",
  541. "rowIdx": 1689
  542. },
  543. {
  544. "title": "银发低钠汤面",
  545. "lead": null,
  546. "leadTxt": "",
  547. "gapTitleToM": 12,
  548. "contentH": 284,
  549. "rcH": 214,
  550. "faceH": 246,
  551. "cardH": 246,
  552. "maxGap": 0,
  553. "gapAt": "",
  554. "rowIdx": 1689
  555. },
  556. {
  557. "title": "露营便携免煮拌面",
  558. "lead": null,
  559. "leadTxt": "",
  560. "gapTitleToM": 12,
  561. "contentH": 284,
  562. "rcH": 214,
  563. "faceH": 246,
  564. "cardH": 246,
  565. "maxGap": 0,
  566. "gapAt": "",
  567. "rowIdx": 1689
  568. },
  569. {
  570. "title": "露营便携免煮拌面",
  571. "lead": null,
  572. "leadTxt": "",
  573. "gapTitleToM": 12,
  574. "contentH": 284,
  575. "rcH": 214,
  576. "faceH": 246,
  577. "cardH": 246,
  578. "maxGap": 0,
  579. "gapAt": "",
  580. "rowIdx": 1947
  581. },
  582. {
  583. "title": "地域风味麻酱拌面",
  584. "lead": null,
  585. "leadTxt": "",
  586. "gapTitleToM": 12,
  587. "contentH": 284,
  588. "rcH": 214,
  589. "faceH": 246,
  590. "cardH": 246,
  591. "maxGap": 0,
  592. "gapAt": "",
  593. "rowIdx": 1947
  594. },
  595. {
  596. "title": "学生党实惠大份拌面",
  597. "lead": null,
  598. "leadTxt": "",
  599. "gapTitleToM": 12,
  600. "contentH": 284,
  601. "rcH": 214,
  602. "faceH": 246,
  603. "cardH": 246,
  604. "maxGap": 0,
  605. "gapAt": "",
  606. "rowIdx": 1947
  607. },
  608. {
  609. "title": "学生党实惠大份拌面",
  610. "lead": null,
  611. "leadTxt": "",
  612. "gapTitleToM": 12,
  613. "contentH": 284,
  614. "rcH": 214,
  615. "faceH": 246,
  616. "cardH": 246,
  617. "maxGap": 0,
  618. "gapAt": "",
  619. "rowIdx": 2205
  620. },
  621. {
  622. "title": "办公室 3 分钟速食拌面",
  623. "lead": null,
  624. "leadTxt": "",
  625. "gapTitleToM": 12,
  626. "contentH": 284,
  627. "rcH": 214,
  628. "faceH": 246,
  629. "cardH": 246,
  630. "maxGap": 0,
  631. "gapAt": "",
  632. "rowIdx": 2205
  633. },
  634. {
  635. "title": "办公室 3 分钟速食拌面",
  636. "lead": null,
  637. "leadTxt": "",
  638. "gapTitleToM": 12,
  639. "contentH": 284,
  640. "rcH": 214,
  641. "faceH": 246,
  642. "cardH": 246,
  643. "maxGap": 0,
  644. "gapAt": "",
  645. "rowIdx": 2205
  646. },
  647. {
  648. "title": "办公室 3 分钟速食拌面",
  649. "lead": null,
  650. "leadTxt": "",
  651. "gapTitleToM": 12,
  652. "contentH": 284,
  653. "rcH": 214,
  654. "faceH": 376,
  655. "cardH": 376,
  656. "maxGap": 0,
  657. "gapAt": "",
  658. "rowIdx": 2464
  659. },
  660. {
  661. "title": "康师傅即食鲜拌面 · 场景与",
  662. "lead": "拌面的问题不是没人吃,是",
  663. "leadTxt": "拌面的问题不是没人吃,是吃得将就——用户想吃一碗像饭馆的拌面,但没有锅。",
  664. "gapTitleToM": 66,
  665. "contentH": 344,
  666. "rcH": 344,
  667. "faceH": 376,
  668. "cardH": 376,
  669. "maxGap": 0,
  670. "gapAt": "",
  671. "rowIdx": 2464
  672. },
  673. {
  674. "title": "夜宵场景低卡高蛋白拌面",
  675. "lead": null,
  676. "leadTxt": "",
  677. "gapTitleToM": 12,
  678. "contentH": 284,
  679. "rcH": 214,
  680. "faceH": 376,
  681. "cardH": 376,
  682. "maxGap": 0,
  683. "gapAt": "",
  684. "rowIdx": 2464
  685. },
  686. {
  687. "title": "夜宵场景低卡高蛋白拌面",
  688. "lead": null,
  689. "leadTxt": "",
  690. "gapTitleToM": 12,
  691. "contentH": 284,
  692. "rcH": 214,
  693. "faceH": 300,
  694. "cardH": 300,
  695. "maxGap": 0,
  696. "gapAt": "",
  697. "rowIdx": 2851
  698. },
  699. {
  700. "title": "夜宵场景低卡高蛋白拌面",
  701. "lead": "加班到十点想吃饱又怕胖:",
  702. "leadTxt": "加班到十点想吃饱又怕胖:低卡高蛋白 + 1 分钟即食,5 个夜宵场景里 3 个需求未被满足",
  703. "gapTitleToM": 66,
  704. "contentH": 268,
  705. "rcH": 268,
  706. "faceH": 300,
  707. "cardH": 300,
  708. "maxGap": 0,
  709. "gapAt": "",
  710. "rowIdx": 2851
  711. },
  712. {
  713. "title": "学生党实惠大份拌面",
  714. "lead": null,
  715. "leadTxt": "",
  716. "gapTitleToM": 12,
  717. "contentH": 284,
  718. "rcH": 214,
  719. "faceH": 300,
  720. "cardH": 300,
  721. "maxGap": 0,
  722. "gapAt": "",
  723. "rowIdx": 2851
  724. },
  725. {
  726. "title": "办公室 3 分钟速食拌面",
  727. "lead": "午休只有 10 分钟、不",
  728. "leadTxt": "午休只有 10 分钟、不想吃汤汤水水:免煮、不冒汤、可带去办公室的拌面",
  729. "gapTitleToM": 66,
  730. "contentH": 268,
  731. "rcH": 268,
  732. "faceH": 300,
  733. "cardH": 300,
  734. "maxGap": 0,
  735. "gapAt": "",
  736. "rowIdx": 3163
  737. },
  738. {
  739. "title": "银发低钠汤面",
  740. "lead": "50 岁以上人群控盐诉求",
  741. "leadTxt": "50 岁以上人群控盐诉求明确,现有方便面钠含量普遍 2000mg 以上,无低钠 SKU",
  742. "gapTitleToM": 66,
  743. "contentH": 268,
  744. "rcH": 268,
  745. "faceH": 300,
  746. "cardH": 300,
  747. "maxGap": 0,
  748. "gapAt": "",
  749. "rowIdx": 3163
  750. },
  751. {
  752. "title": "地域风味麻酱拌面",
  753. "lead": "现有拌面酱包集中在麻酱 ",
  754. "leadTxt": "现有拌面酱包集中在麻酱 / 香辣两类;西北油泼、西南麻辣是搜索热但 SKU 空档",
  755. "gapTitleToM": 66,
  756. "contentH": 268,
  757. "rcH": 268,
  758. "faceH": 300,
  759. "cardH": 300,
  760. "maxGap": 0,
  761. "gapAt": "",
  762. "rowIdx": 3163
  763. },
  764. {
  765. "title": "夜宵低卡拌面(与 seed-",
  766. "lead": "陈静在 S3 独立上传的",
  767. "leadTxt": "陈静在 S3 独立上传的机会卡,内容与张伟的夜宵低卡高蛋白重合",
  768. "gapTitleToM": 66,
  769. "contentH": 268,
  770. "rcH": 268,
  771. "faceH": 300,
  772. "cardH": 300,
  773. "maxGap": 0,
  774. "gapAt": "",
  775. "rowIdx": 3475
  776. },
  777. {
  778. "title": "健身人群高蛋白面",
  779. "lead": "健身人群把速食面当「欺骗",
  780. "leadTxt": "健身人群把速食面当「欺骗餐」,要的是每份 20g 以上蛋白、低脂、能算进宏量",
  781. "gapTitleToM": 66,
  782. "contentH": 268,
  783. "rcH": 268,
  784. "faceH": 300,
  785. "cardH": 300,
  786. "maxGap": 0,
  787. "gapAt": "",
  788. "rowIdx": 3475
  789. }
  790. ]
  791. }
  792. ]
  793. },
  794. "three": {
  795. "pool": {
  796. "host": "view-pool",
  797. "footTag": "span",
  798. "classes": [
  799. "cfoot",
  800. "cfl",
  801. "cfa",
  802. "kf-btn",
  803. "ghost"
  804. ],
  805. "hits": [
  806. {
  807. "cls": "cfoot",
  808. "tag": "span.cfoot",
  809. "rules": 5,
  810. "applies": 2,
  811. "el": "span.cfoot"
  812. },
  813. {
  814. "cls": "cfl",
  815. "tag": "span.cfl",
  816. "rules": 1,
  817. "applies": 1,
  818. "el": "span.cfl"
  819. },
  820. {
  821. "cls": "cfa",
  822. "tag": "span.cfa",
  823. "rules": 1,
  824. "applies": 1,
  825. "el": "span.cfa"
  826. },
  827. {
  828. "cls": "kf-btn",
  829. "tag": "button.kf-btn.ghost",
  830. "rules": 14,
  831. "applies": 8,
  832. "el": "button.kf-btn.ghost"
  833. },
  834. {
  835. "cls": "ghost",
  836. "tag": "button.kf-btn.ghost",
  837. "rules": 2,
  838. "applies": 2,
  839. "el": "button.kf-btn.ghost"
  840. }
  841. ],
  842. "snap": {
  843. "cfoot": {
  844. "padding": "0px 0px 0px 12px",
  845. "border": "1px 0px 0px 1px / solid / rgb(234, 234, 234)",
  846. "borders": "1px solid|0px none|0px none",
  847. "radius": "0px 0px 0px 0px",
  848. "font": "12px/19.2px 400",
  849. "color": "rgb(75, 85, 99)",
  850. "bg": "rgba(0, 0, 0, 0)",
  851. "display": "flex",
  852. "gap": "8px"
  853. },
  854. "span.cfl": {
  855. "padding": "0px 0px 0px 0px",
  856. "border": "0px 0px 0px 0px / none / rgb(75, 85, 99)",
  857. "borders": "0px none|0px none|0px none",
  858. "radius": "0px 0px 0px 0px",
  859. "font": "12px/19.2px 400",
  860. "color": "rgb(75, 85, 99)",
  861. "bg": "rgba(0, 0, 0, 0)",
  862. "display": "block",
  863. "gap": "normal",
  864. "justify": "normal",
  865. "marginTop": "0px"
  866. },
  867. "span.cfa": {
  868. "padding": "0px 0px 0px 0px",
  869. "border": "0px 0px 0px 0px / none / rgb(75, 85, 99)",
  870. "borders": "0px none|0px none|0px none",
  871. "radius": "0px 0px 0px 0px",
  872. "font": "12px/19.2px 400",
  873. "color": "rgb(75, 85, 99)",
  874. "bg": "rgba(0, 0, 0, 0)",
  875. "display": "flex",
  876. "gap": "8px",
  877. "justify": "normal",
  878. "marginTop": "0px"
  879. },
  880. "span.cfa>button.kf-btn.ghost": {
  881. "padding": "0px 10px 0px 10px",
  882. "border": "1px 1px 1px 1px / solid / rgba(0, 0, 0, 0)",
  883. "borders": "1px solid|1px solid|1px solid",
  884. "radius": "8px 8px 8px 8px",
  885. "font": "12px/12px 500",
  886. "color": "rgb(63, 63, 70)",
  887. "bg": "rgba(0, 0, 0, 0)",
  888. "display": "flex",
  889. "gap": "6px",
  890. "justify": "center",
  891. "marginTop": "0px"
  892. }
  893. },
  894. "mediaHits": [
  895. {
  896. "sel": ".cfoot",
  897. "media": "",
  898. "css": "display: flex; align-items: center; justify-content: center; flex-wrap"
  899. },
  900. {
  901. "sel": ".cfoot .cfl",
  902. "media": "",
  903. "css": "font-variant-numeric: tabular-nums;"
  904. },
  905. {
  906. "sel": ".cfoot .cfa",
  907. "media": "",
  908. "css": "display: inline-flex; gap: 8px;"
  909. },
  910. {
  911. "sel": ".cfoot .kf-btn",
  912. "media": "",
  913. "css": "height: 28px; padding: 0px 10px; font-size: 12px;"
  914. },
  915. {
  916. "sel": ".frow.toolbar .cfoot[data-foot]",
  917. "media": "",
  918. "css": "margin: 0px 0px 0px 4px; justify-content: flex-start; padding: 0px 0px"
  919. },
  920. {
  921. "sel": ".kf-btn",
  922. "media": "",
  923. "css": "display: inline-flex; align-items: center; justify-content: center; ga"
  924. },
  925. {
  926. "sel": ".kf-btn:hover",
  927. "media": "",
  928. "css": "background: linear-gradient(var(--kf-glass-chip-hover), var(--kf-glass"
  929. },
  930. {
  931. "sel": ".kf-btn:active",
  932. "media": "",
  933. "css": "transform: scale(0.985); transition: transform 80ms cubic-bezier(0.4, "
  934. },
  935. {
  936. "sel": ".kf-btn[disabled]",
  937. "media": "",
  938. "css": "opacity: 0.5; cursor: not-allowed;"
  939. },
  940. {
  941. "sel": ".kf-btn.primary",
  942. "media": "",
  943. "css": "background: var(--kf-accent); border-color: var(--kf-accent); color: r"
  944. },
  945. {
  946. "sel": ".kf-btn.primary:hover",
  947. "media": "",
  948. "css": "background: var(--kf-accent-strong);"
  949. },
  950. {
  951. "sel": ".kf-btn.secondary, .kf-btn",
  952. "media": "",
  953. "css": "background: transparent; border-color: rgba(255, 255, 255, 0.14); box-"
  954. },
  955. {
  956. "sel": ".kf-btn.secondary:hover",
  957. "media": "",
  958. "css": "background: rgba(255, 255, 255, 0.55); border-color: rgba(255, 255, 25"
  959. },
  960. {
  961. "sel": ".kf-btn.primary",
  962. "media": "",
  963. "css": "box-shadow: var(--shadow-1);"
  964. }
  965. ]
  966. },
  967. "reports": {
  968. "host": "view-reports",
  969. "footTag": "footer",
  970. "classes": [
  971. "cfoot",
  972. "cfl",
  973. "cfa",
  974. "kf-btn",
  975. "ghost"
  976. ],
  977. "hits": [
  978. {
  979. "cls": "cfoot",
  980. "tag": "footer.cfoot",
  981. "rules": 4,
  982. "applies": 1,
  983. "el": "footer.cfoot"
  984. },
  985. {
  986. "cls": "cfl",
  987. "tag": "span.cfl",
  988. "rules": 1,
  989. "applies": 1,
  990. "el": "span.cfl"
  991. },
  992. {
  993. "cls": "cfa",
  994. "tag": "span.cfa",
  995. "rules": 1,
  996. "applies": 1,
  997. "el": "span.cfa"
  998. },
  999. {
  1000. "cls": "kf-btn",
  1001. "tag": "button.kf-btn.ghost",
  1002. "rules": 14,
  1003. "applies": 8,
  1004. "el": "button.kf-btn.ghost"
  1005. },
  1006. {
  1007. "cls": "ghost",
  1008. "tag": "button.kf-btn.ghost",
  1009. "rules": 2,
  1010. "applies": 2,
  1011. "el": "button.kf-btn.ghost"
  1012. }
  1013. ],
  1014. "snap": {
  1015. "cfoot": {
  1016. "padding": "20px 4px 12px 4px",
  1017. "border": "1px 0px 0px 0px / solid / rgb(234, 234, 234)",
  1018. "borders": "1px solid|0px none|0px none",
  1019. "radius": "0px 0px 0px 0px",
  1020. "font": "12px/19.2px 400",
  1021. "color": "rgb(75, 85, 99)",
  1022. "bg": "rgba(0, 0, 0, 0)",
  1023. "display": "flex",
  1024. "gap": "8px"
  1025. },
  1026. "span.cfl": {
  1027. "padding": "0px 0px 0px 0px",
  1028. "border": "0px 0px 0px 0px / none / rgb(75, 85, 99)",
  1029. "borders": "0px none|0px none|0px none",
  1030. "radius": "0px 0px 0px 0px",
  1031. "font": "12px/19.2px 400",
  1032. "color": "rgb(75, 85, 99)",
  1033. "bg": "rgba(0, 0, 0, 0)",
  1034. "display": "block",
  1035. "gap": "normal",
  1036. "justify": "normal",
  1037. "marginTop": "0px"
  1038. },
  1039. "span.cfa": {
  1040. "padding": "0px 0px 0px 0px",
  1041. "border": "0px 0px 0px 0px / none / rgb(75, 85, 99)",
  1042. "borders": "0px none|0px none|0px none",
  1043. "radius": "0px 0px 0px 0px",
  1044. "font": "12px/19.2px 400",
  1045. "color": "rgb(75, 85, 99)",
  1046. "bg": "rgba(0, 0, 0, 0)",
  1047. "display": "flex",
  1048. "gap": "8px",
  1049. "justify": "normal",
  1050. "marginTop": "0px"
  1051. },
  1052. "span.cfa>button.kf-btn.ghost": {
  1053. "padding": "0px 10px 0px 10px",
  1054. "border": "1px 1px 1px 1px / solid / rgba(0, 0, 0, 0)",
  1055. "borders": "1px solid|1px solid|1px solid",
  1056. "radius": "8px 8px 8px 8px",
  1057. "font": "12px/12px 500",
  1058. "color": "rgb(63, 63, 70)",
  1059. "bg": "rgba(0, 0, 0, 0)",
  1060. "display": "flex",
  1061. "gap": "6px",
  1062. "justify": "center",
  1063. "marginTop": "0px"
  1064. }
  1065. },
  1066. "mediaHits": [
  1067. {
  1068. "sel": ".cfoot",
  1069. "media": "",
  1070. "css": "display: flex; align-items: center; justify-content: center; flex-wrap"
  1071. },
  1072. {
  1073. "sel": ".cfoot .cfl",
  1074. "media": "",
  1075. "css": "font-variant-numeric: tabular-nums;"
  1076. },
  1077. {
  1078. "sel": ".cfoot .cfa",
  1079. "media": "",
  1080. "css": "display: inline-flex; gap: 8px;"
  1081. },
  1082. {
  1083. "sel": ".cfoot .kf-btn",
  1084. "media": "",
  1085. "css": "height: 28px; padding: 0px 10px; font-size: 12px;"
  1086. },
  1087. {
  1088. "sel": ".kf-btn",
  1089. "media": "",
  1090. "css": "display: inline-flex; align-items: center; justify-content: center; ga"
  1091. },
  1092. {
  1093. "sel": ".kf-btn:hover",
  1094. "media": "",
  1095. "css": "background: linear-gradient(var(--kf-glass-chip-hover), var(--kf-glass"
  1096. },
  1097. {
  1098. "sel": ".kf-btn:active",
  1099. "media": "",
  1100. "css": "transform: scale(0.985); transition: transform 80ms cubic-bezier(0.4, "
  1101. },
  1102. {
  1103. "sel": ".kf-btn[disabled]",
  1104. "media": "",
  1105. "css": "opacity: 0.5; cursor: not-allowed;"
  1106. },
  1107. {
  1108. "sel": ".kf-btn.primary",
  1109. "media": "",
  1110. "css": "background: var(--kf-accent); border-color: var(--kf-accent); color: r"
  1111. },
  1112. {
  1113. "sel": ".kf-btn.primary:hover",
  1114. "media": "",
  1115. "css": "background: var(--kf-accent-strong);"
  1116. },
  1117. {
  1118. "sel": ".kf-btn.secondary, .kf-btn",
  1119. "media": "",
  1120. "css": "background: transparent; border-color: rgba(255, 255, 255, 0.14); box-"
  1121. },
  1122. {
  1123. "sel": ".kf-btn.secondary:hover",
  1124. "media": "",
  1125. "css": "background: rgba(255, 255, 255, 0.55); border-color: rgba(255, 255, 25"
  1126. },
  1127. {
  1128. "sel": ".kf-btn.primary",
  1129. "media": "",
  1130. "css": "box-shadow: var(--shadow-1);"
  1131. },
  1132. {
  1133. "sel": ".kf-btn.ghost",
  1134. "media": "",
  1135. "css": "background: transparent; border-color: transparent; box-shadow: none; "
  1136. }
  1137. ]
  1138. },
  1139. "compared": [
  1140. "cfoot",
  1141. "span.cfl",
  1142. "span.cfa",
  1143. "span.cfa>button.kf-btn.ghost"
  1144. ],
  1145. "diff": [
  1146. {
  1147. "path": "cfoot",
  1148. "prop": "padding",
  1149. "pool": "0px 0px 0px 12px",
  1150. "reports": "20px 4px 12px 4px",
  1151. "note": "豁免:页脚根节点纵向内衬归零(排序行 28px)、右侧与卡片右缘对齐"
  1152. },
  1153. {
  1154. "path": "cfoot",
  1155. "prop": "border",
  1156. "pool": "1px 0px 0px 1px",
  1157. "reports": "1px 0px 0px 0px",
  1158. "note": "豁免:页脚根节点左边线(行内分隔),上/右/下三边相等"
  1159. }
  1160. ]
  1161. },
  1162. "v12": {
  1163. "pass": 11,
  1164. "total": 13,
  1165. "line": "判分:11/13 达标",
  1166. "fails": [
  1167. "圆角种类 ≤ 3 且 ∈ {8,12,20}(0 只允许分割线/非容器)",
  1168. "字号档 ≤ 5 且无 13.3333px"
  1169. ]
  1170. },
  1171. "checks": [
  1172. {
  1173. "name": "一 排序段:选中浅底不白字 / 字级一致 / 一整块 1px 分隔 / 高 28",
  1174. "ok": true,
  1175. "detail": "选中「优先级 S→A→B」bg=rgba(0, 0, 0, 0.06) → 叠白底后 240,240,240(亮度 240.0,旧 rgb(24,24,27) 亮度 24.2),字色 rgb(24, 24, 27);未选中 rgba(0, 0, 0, 0) / rgb(63, 63, 70);font-size 选中 12px vs 未选中 12px,line-height 12px vs 12px,框高 28 vs 28;按钮圆角 [0px 0px | 0px 0px | 0px 0px | 0px 0px | 0px 0px],分隔线 [0px,1px,1px,1px,1px];外层 radius 8px border 1px solid rgba(0, 0, 0, 0.1) 高 28;手机选中 bg=rgba(0, 0, 0, 0.06)(叠白后 240,240,240)字色 rgb(24, 24, 27) 字号 13px"
  1176. },
  1177. {
  1178. "name": "二 空描述卡:不渲染描述区 + 卡内重新均分 + 内容高差 ≤ 40px + 卡内空白 ≤ 24px",
  1179. "ok": true,
  1180. "detail": "/reports:共 12 张,无描述 5 张;无描述卡 .rc/.face 高 [199/263,199/263,199/231...];有描述卡 gap(标题→指标) 均值 57.0px / 无描述卡 12.0px;内容高 有描述 [252,252,252,252,231,231,231] 无描述 [257,257,257,257,257] 差 14.0px;无描述卡同排卡高一致 true;卡内非内容留白 有描述 38.0px / 无描述 -13.2px;最大连续空白 0px\n /stages:共 35 张,无描述 24 张;无描述卡 .rc/.face 高 [214/279,214/279,214/246...];有描述卡 gap(标题→指标) 均值 62.2px / 无描述卡 12.0px;内容高 有描述 [268,268,247,247,344,268,268,268,268,268,268] 无描述 [284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284] 差 12.9px;无描述卡同排卡高一致 true;卡内非内容留白 有描述 33.9px / 无描述 -19.9px;最大连续空白 0px"
  1181. },
  1182. {
  1183. "name": "三 /pool 页脚类名逐项命中(每个类名 ≥1 条生效规则)+ 与 /reports 同名元素 computed 逐项相等",
  1184. "ok": true,
  1185. "detail": "类名 5 个:cfoot(2 条生效/5 条含)、cfl(1 条生效/1 条含)、cfa(1 条生效/1 条含)、kf-btn(8 条生效/14 条含)、ghost(2 条生效/2 条含);与 /reports 比对 4 个元素 × 8 项(内衬 / 边框 / 圆角 / 字体 / 字色 / 底色 / 显示 / 间距):单元格 32,不一致 0\n \n 豁免:cfoot.padding 0px 0px 0px 12px(豁免:页脚根节点纵向内衬归零(排序行 28px)、右侧与卡片右缘对齐);cfoot.border 1px 0px 0px 1px(豁免:页脚根节点左边线(行内分隔),上/右/下三边相等)"
  1186. },
  1187. {
  1188. "name": "v12 回归不退步",
  1189. "ok": true,
  1190. "detail": "判分:11/13 达标;未达标:圆角种类 ≤ 3 且 ∈ {8,12,20}(0 只允许分割线/非容器)、字号档 ≤ 5 且无 13.3333px"
  1191. }
  1192. ],
  1193. "errors": []
  1194. }