skill-calorie 0.2.1 → 0.2.3

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.
Files changed (117) hide show
  1. package/SKILL.md +15 -12
  2. package/dist/analysis/cross.js +3 -3
  3. package/dist/analysis/cross.js.map +1 -1
  4. package/dist/analysis/series.js +3 -3
  5. package/dist/analysis/series.js.map +1 -1
  6. package/dist/analysis/utils.d.ts +11 -0
  7. package/dist/analysis/utils.d.ts.map +1 -1
  8. package/dist/analysis/utils.js +11 -0
  9. package/dist/analysis/utils.js.map +1 -1
  10. package/dist/cli/cmd_read.d.ts +5 -0
  11. package/dist/cli/cmd_read.d.ts.map +1 -1
  12. package/dist/cli/cmd_read.js +47 -11
  13. package/dist/cli/cmd_read.js.map +1 -1
  14. package/dist/cli/keys.d.ts +5 -1
  15. package/dist/cli/keys.d.ts.map +1 -1
  16. package/dist/cli/keys.js +3 -0
  17. package/dist/cli/keys.js.map +1 -1
  18. package/dist/cli/write.d.ts +3 -1
  19. package/dist/cli/write.d.ts.map +1 -1
  20. package/dist/cli/write.js +51 -7
  21. package/dist/cli/write.js.map +1 -1
  22. package/dist/fetch/body.js +7 -7
  23. package/dist/fetch/body.js.map +1 -1
  24. package/dist/fetch/exercise.d.ts.map +1 -1
  25. package/dist/fetch/exercise.js +7 -3
  26. package/dist/fetch/exercise.js.map +1 -1
  27. package/dist/fetch/nutritionGoal.d.ts.map +1 -1
  28. package/dist/fetch/nutritionGoal.js +15 -4
  29. package/dist/fetch/nutritionGoal.js.map +1 -1
  30. package/dist/output.d.ts +15 -10
  31. package/dist/output.d.ts.map +1 -1
  32. package/dist/output.js +69 -27
  33. package/dist/output.js.map +1 -1
  34. package/dist/profile/setup.d.ts +48 -0
  35. package/dist/profile/setup.d.ts.map +1 -0
  36. package/dist/profile/setup.js +290 -0
  37. package/dist/profile/setup.js.map +1 -0
  38. package/dist/profile/update.d.ts +5 -0
  39. package/dist/profile/update.d.ts.map +1 -0
  40. package/dist/profile/update.js +65 -0
  41. package/dist/profile/update.js.map +1 -0
  42. package/dist/profile/view.d.ts +33 -0
  43. package/dist/profile/view.d.ts.map +1 -0
  44. package/dist/profile/view.js +94 -0
  45. package/dist/profile/view.js.map +1 -0
  46. package/dist/render/dietDocs.d.ts.map +1 -1
  47. package/dist/render/dietDocs.js +86 -49
  48. package/dist/render/dietDocs.js.map +1 -1
  49. package/dist/render/helpCenter.d.ts.map +1 -1
  50. package/dist/render/helpCenter.js +4 -2
  51. package/dist/render/helpCenter.js.map +1 -1
  52. package/dist/render/helpFile.d.ts +26 -0
  53. package/dist/render/helpFile.d.ts.map +1 -0
  54. package/dist/render/helpFile.js +60 -0
  55. package/dist/render/helpFile.js.map +1 -0
  56. package/dist/render/helpPaths.d.ts +22 -0
  57. package/dist/render/helpPaths.d.ts.map +1 -0
  58. package/dist/render/helpPaths.js +22 -0
  59. package/dist/render/helpPaths.js.map +1 -0
  60. package/dist/render/helpShell.d.ts +16 -0
  61. package/dist/render/helpShell.d.ts.map +1 -0
  62. package/dist/render/helpShell.js +27 -0
  63. package/dist/render/helpShell.js.map +1 -0
  64. package/dist/render/html.d.ts +1 -1
  65. package/dist/render/html.d.ts.map +1 -1
  66. package/dist/render/index.d.ts +2 -2
  67. package/dist/render/index.d.ts.map +1 -1
  68. package/dist/render/index.js +3 -1
  69. package/dist/render/index.js.map +1 -1
  70. package/dist/render/nutritionPortDocs.d.ts.map +1 -1
  71. package/dist/render/nutritionPortDocs.js +41 -48
  72. package/dist/render/nutritionPortDocs.js.map +1 -1
  73. package/dist/render/receipt.d.ts +4 -0
  74. package/dist/render/receipt.d.ts.map +1 -1
  75. package/dist/render/receipt.js +4 -1
  76. package/dist/render/receipt.js.map +1 -1
  77. package/dist/render/sportDocs.d.ts.map +1 -1
  78. package/dist/render/sportDocs.js +86 -58
  79. package/dist/render/sportDocs.js.map +1 -1
  80. package/dist/render/sportPortDocs.d.ts.map +1 -1
  81. package/dist/render/sportPortDocs.js +59 -52
  82. package/dist/render/sportPortDocs.js.map +1 -1
  83. package/dist/render/trendDocs.d.ts.map +1 -1
  84. package/dist/render/trendDocs.js +59 -52
  85. package/dist/render/trendDocs.js.map +1 -1
  86. package/dist/render/trendMiscPortDocs.d.ts.map +1 -1
  87. package/dist/render/trendMiscPortDocs.js +77 -56
  88. package/dist/render/trendMiscPortDocs.js.map +1 -1
  89. package/dist/render/wizardPortDocs.d.ts.map +1 -1
  90. package/dist/render/wizardPortDocs.js +41 -51
  91. package/dist/render/wizardPortDocs.js.map +1 -1
  92. package/dist/schema.d.ts.map +1 -1
  93. package/dist/schema.js +11 -0
  94. package/dist/schema.js.map +1 -1
  95. package/dist/shared/copyArea.d.ts +54 -0
  96. package/dist/shared/copyArea.d.ts.map +1 -0
  97. package/dist/shared/copyArea.js +89 -0
  98. package/dist/shared/copyArea.js.map +1 -0
  99. package/dist/shared/docPage.d.ts +20 -0
  100. package/dist/shared/docPage.d.ts.map +1 -0
  101. package/dist/shared/docPage.js +55 -0
  102. package/dist/shared/docPage.js.map +1 -0
  103. package/dist/triggers/routing.d.ts +9 -7
  104. package/dist/triggers/routing.d.ts.map +1 -1
  105. package/dist/triggers/routing.js +27 -25
  106. package/dist/triggers/routing.js.map +1 -1
  107. package/dist/triggers/scene-07-profile.js +3 -3
  108. package/dist/triggers/scene-07-profile.js.map +1 -1
  109. package/dist/triggers/wake-assets.d.ts +47 -0
  110. package/dist/triggers/wake-assets.d.ts.map +1 -0
  111. package/dist/triggers/wake-assets.js +4715 -0
  112. package/dist/triggers/wake-assets.js.map +1 -0
  113. package/package.json +2 -2
  114. package/dist/render/profilePlate.d.ts +0 -17
  115. package/dist/render/profilePlate.d.ts.map +0 -1
  116. package/dist/render/profilePlate.js +0 -18
  117. package/dist/render/profilePlate.js.map +0 -1
@@ -17,54 +17,19 @@
17
17
  * 复制文本一律 buildDataText(#77 契约):stat 投影 metrics 只收确定数字。
18
18
  * 本层不做取数(数据由 render/nutritionPort.ts 备齐),不返空(缺失由数据层抛 missing-data)。
19
19
  */
20
- import { blocksCss, renderChartBlock, renderCopyBlock, renderDataTable, renderDisclosure, renderKpiGrid, renderListRows, renderPageShell, renderParamForm, } from 'base-paint/blocks';
21
- import { buildChartsHelpersJs, buildDataText, buildSharedHelpersJs, buildStyleSheet, fillTemplate } from 'base-paint';
20
+ import { renderChartBlock, renderDataTable, renderDisclosure, renderKpiGrid, renderListRows, renderParamForm, } from 'base-paint/blocks';
21
+ import { assembleDocPage, metricsOf } from '../shared/docPage.js';
22
+ import { dataCopyArea } from '../shared/copyArea.js';
22
23
  /** envelope 头(值冻结对齐 cli/keys.ts ENVELOPE_VERSION/CALORIE_SKILL;测试钉死一致)。 */
23
24
  const DOC_VERSION = '0.1.0';
24
25
  const DOC_SKILL = 'calorie';
25
- /** 内容页壳(裸标记+CONTENT 槽;包裹约定:资产裸文本+填充器包裹,标记不得预包裹)。
26
- * wrap ilife-page 兼容既有 --html 断言。 */
27
- const DOC_SHELL = '<!doctype html>\n<html lang="zh-CN">\n<head>\n<meta charset="utf-8">\n' +
28
- '<meta name="viewport" content="width=device-width,initial-scale=1">\n' +
29
- '<title>卡路里·营养移植</title>\n<!--SHARED-CSS-->\n</head>\n<body>\n' +
30
- '<div class="wrap ilife-page">\n<!--CONTENT-->\n</div>\n<!--SHARED-HELPERS-->\n</body>\n</html>';
31
- /** 图表页壳(多一个 CHARTS-HELPERS 标记,图表 CSS 由 charts helpers 运行时注入)。 */
32
- const DOC_SHELL_CHARTS = '<!doctype html>\n<html lang="zh-CN">\n<head>\n<meta charset="utf-8">\n' +
33
- '<meta name="viewport" content="width=device-width,initial-scale=1">\n' +
34
- '<title>卡路里·营养移植</title>\n<!--SHARED-CSS-->\n</head>\n<body>\n' +
35
- '<div class="wrap ilife-page">\n<!--CONTENT-->\n</div>\n<!--SHARED-HELPERS-->\n<!--CHARTS-HELPERS-->\n</body>\n</html>';
36
- function assemble(title, eyebrow, subtitle, content, charts) {
37
- const assets = {
38
- sharedCssText: buildStyleSheet().css + '\n' + blocksCss(),
39
- sharedHelpersJs: buildSharedHelpersJs(),
40
- };
41
- if (charts)
42
- assets.chartsHelpersJs = buildChartsHelpersJs();
43
- const body = renderPageShell({
44
- title,
45
- ...(eyebrow ? { eyebrow } : {}),
46
- ...(subtitle ? { subtitle } : {}),
47
- content,
48
- });
49
- return fillTemplate({ template: charts ? DOC_SHELL_CHARTS : DOC_SHELL, assets, content: body }).html;
50
- }
51
- function copyBlock(title, input) {
52
- return renderCopyBlock({ title, dataText: buildDataText(input) });
53
- }
26
+ /** 本文件各页共用的 head 标题(整页模板住 `src/shared/docPage.ts`,标题走参数)。 */
27
+ const DOC_TITLE = '卡路里·营养移植';
54
28
  function fmt(n) {
55
29
  if (n === null || n === undefined)
56
30
  return '—';
57
31
  return String(n);
58
32
  }
59
- /** 复制投影 stat-metrics 只收确定数字(冻结口径:null/undefined 不进投影)。 */
60
- function metricsOf(obj) {
61
- const out = {};
62
- for (const [k, v] of Object.entries(obj)) {
63
- if (v !== null && v !== undefined)
64
- out[k] = v;
65
- }
66
- return out;
67
- }
68
33
  function windowForm(start, end, extra) {
69
34
  return renderParamForm({
70
35
  fields: [
@@ -139,7 +104,7 @@ export function buildNutritionRatioDoc(v) {
139
104
  caption: '推荐范围对比(' + v.start + ' ~ ' + v.end + ')',
140
105
  emptyText: '本窗无配比数据',
141
106
  }));
142
- parts.push(copyBlock('复制数据', {
107
+ parts.push(dataCopyArea('复制数据', {
143
108
  envelope: {
144
109
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.nutrition-ratio',
145
110
  data: {
@@ -151,7 +116,14 @@ export function buildNutritionRatioDoc(v) {
151
116
  },
152
117
  },
153
118
  }));
154
- return assemble('营养配比 ' + v.start + ' ~ ' + v.end, 'calorie.view.nutrition-ratio · 营养移植域', '蛋白/碳水/脂肪占比+实际 vs 目标(无目标行即“—”,不编数)', parts.join(''), charts);
119
+ return assembleDocPage({
120
+ docTitle: DOC_TITLE,
121
+ title: '营养配比 ' + v.start + ' ~ ' + v.end,
122
+ eyebrow: 'calorie.view.nutrition-ratio · 营养移植域',
123
+ subtitle: '蛋白/碳水/脂肪占比+实际 vs 目标(无目标行即“—”,不编数)',
124
+ content: parts.join(''),
125
+ charts,
126
+ });
155
127
  }
156
128
  /* ── 营养素深度(nutrition_detail.html 对照:纤维/钠/糖 vs 固定推荐+缺数据盒) ── */
157
129
  export function buildNutritionDetailDoc(v) {
@@ -192,7 +164,7 @@ export function buildNutritionDetailDoc(v) {
192
164
  }),
193
165
  }));
194
166
  }
195
- parts.push(copyBlock('复制数据', {
167
+ parts.push(dataCopyArea('复制数据', {
196
168
  envelope: {
197
169
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.nutrition-detail',
198
170
  data: {
@@ -210,7 +182,14 @@ export function buildNutritionDetailDoc(v) {
210
182
  },
211
183
  },
212
184
  }));
213
- return assemble('营养素深度 ' + v.start + ' ~ ' + v.end, 'calorie.view.nutrition-detail · 营养移植域', '纤维/钠/糖实际 vs 推荐(缺库食物明示未计入,不编数)', parts.join(''), charts);
185
+ return assembleDocPage({
186
+ docTitle: DOC_TITLE,
187
+ title: '营养素深度 ' + v.start + ' ~ ' + v.end,
188
+ eyebrow: 'calorie.view.nutrition-detail · 营养移植域',
189
+ subtitle: '纤维/钠/糖实际 vs 推荐(缺库食物明示未计入,不编数)',
190
+ content: parts.join(''),
191
+ charts,
192
+ });
214
193
  }
215
194
  /* ── 食品来源统计(source_stats.html 对照:来源数+总数+按来源分组) ── */
216
195
  export function buildSourceStatsDoc(v) {
@@ -239,7 +218,7 @@ export function buildSourceStatsDoc(v) {
239
218
  caption: '按来源分组(GROUP BY source,下架已排除;空串来源归“未知”)',
240
219
  emptyText: '库内无食品记录',
241
220
  }));
242
- parts.push(copyBlock('复制数据', {
221
+ parts.push(dataCopyArea('复制数据', {
243
222
  envelope: {
244
223
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.source-stats',
245
224
  data: {
@@ -247,7 +226,14 @@ export function buildSourceStatsDoc(v) {
247
226
  },
248
227
  },
249
228
  }));
250
- return assemble('食品来源统计', 'calorie.view.source-stats · 营养移植域', '库内食品按来源分组计数(库空即 missing,不编数)', parts.join(''), charts);
229
+ return assembleDocPage({
230
+ docTitle: DOC_TITLE,
231
+ title: '食品来源统计',
232
+ eyebrow: 'calorie.view.source-stats · 营养移植域',
233
+ subtitle: '库内食品按来源分组计数(库空即 missing,不编数)',
234
+ content: parts.join(''),
235
+ charts,
236
+ });
251
237
  }
252
238
  /* ── 今日饮水(today_water.html 对照:进度环+7 天+每杯明细) ── */
253
239
  const WEEKDAY = ['日', '一', '二', '三', '四', '五', '六'];
@@ -302,7 +288,7 @@ export function buildTodayWaterDoc(v) {
302
288
  caption: '今日每杯(共 ' + v.cups.length + ' 杯)',
303
289
  emptyText: '今天还没有喝水记录',
304
290
  }));
305
- parts.push(copyBlock('复制数据', {
291
+ parts.push(dataCopyArea('复制数据', {
306
292
  envelope: {
307
293
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.today-water',
308
294
  data: {
@@ -312,6 +298,13 @@ export function buildTodayWaterDoc(v) {
312
298
  },
313
299
  },
314
300
  }));
315
- return assemble('今日饮水 ' + v.date, 'calorie.view.today-water · 营养移植域', v.remainMl > 0 ? '还差 ' + v.remainMl + ' ml' : '已达标(' + v.pct + '%)', parts.join(''), charts);
301
+ return assembleDocPage({
302
+ docTitle: DOC_TITLE,
303
+ title: '今日饮水 ' + v.date,
304
+ eyebrow: 'calorie.view.today-water · 营养移植域',
305
+ subtitle: v.remainMl > 0 ? '还差 ' + v.remainMl + ' ml' : '已达标(' + v.pct + '%)',
306
+ content: parts.join(''),
307
+ charts,
308
+ });
316
309
  }
317
310
  //# sourceMappingURL=nutritionPortDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nutritionPortDocs.js","sourceRoot":"","sources":["../../src/render/nutritionPortDocs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nutritionPortDocs.js","sourceRoot":"","sources":["../../src/render/nutritionPortDocs.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,10 @@ export declare function m5LineOf(input: {
85
85
  export declare function buildM5(input: M5Input): M5Fields;
86
86
  /** 只追加:把 M5 字段补进既有回执(photo.ts 三回执与本层同一入口,既有字段一字不改)。 */
87
87
  export declare function withM5(receipt: CrudReceipt, patch?: Omit<M5Input, 'recordId' | 'actionAt'>): CrudReceipt;
88
+ /** 本仓唯一的时间戳口径(`YYYY-MM-DD HH:MM:SS`,本地时)。回执 `meta.actionAt` 与
89
+ * 复制日志第 5 段同源;#239 起对外给出去——别在别处再写一份同样的格式。
90
+ * (注:`src/fetch/exercise.ts` 另有一份同名私有件,属取数层的既有重复,不在本次改动面。) */
91
+ export declare function nowStamp(): string;
88
92
  export declare function buildReceiptMeta(entityType: string, wakeWord: string, source: string): ReceiptMeta;
89
93
  export declare function buildCrudReceipt(input: {
90
94
  scene: string;
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../src/render/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../src/render/receipt.ts"],"names":[],"mappings":"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"}
@@ -61,7 +61,10 @@ export function withM5(receipt, patch = {}) {
61
61
  }),
62
62
  };
63
63
  }
64
- function nowStamp() {
64
+ /** 本仓唯一的时间戳口径(`YYYY-MM-DD HH:MM:SS`,本地时)。回执 `meta.actionAt` 与
65
+ * 复制日志第 5 段同源;#239 起对外给出去——别在别处再写一份同样的格式。
66
+ * (注:`src/fetch/exercise.ts` 另有一份同名私有件,属取数层的既有重复,不在本次改动面。) */
67
+ export function nowStamp() {
65
68
  const d = new Date();
66
69
  const p = (n) => String(n).padStart(2, '0');
67
70
  return d.getFullYear() + '-' + p(d.getMonth() + 1) + '-' + p(d.getDate()) + ' ' + p(d.getHours()) + ':' + p(d.getMinutes()) + ':' + p(d.getSeconds());
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/render/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/render/receipt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sportDocs.d.ts","sourceRoot":"","sources":["../../src/render/sportDocs.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AA0D1B,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAmFxD;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAiChE;AAID,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAgDzD;AAID,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,CA8ClE;AAaD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAoClE;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAsChE;AAID,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAsD5D;AAID,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAgDtE;AAWD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAoE9D"}
1
+ {"version":3,"file":"sportDocs.d.ts","sourceRoot":"","sources":["../../src/render/sportDocs.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAgB1B,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAoFxD;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAkChE;AAID,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAuDzD;AAID,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAqDlE;AAaD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,CA2ClE;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CA6ChE;AAID,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAuD5D;AAID,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAuDtE;AAWD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CA2E9D"}
@@ -19,55 +19,20 @@
19
19
  * 行级页(体成分/围度记录)走 list 投影。本层不做取数(数据由调用方 dispatch 备齐),
20
20
  * 不返空(缺失由数据层抛 missing-data)。
21
21
  */
22
- import { blocksCss, renderChartBlock, renderCopyBlock, renderDataTable, renderDisclosure, renderKpiGrid, renderListRows, renderPageShell, renderParamForm, } from 'base-paint/blocks';
23
- import { buildChartsHelpersJs, buildDataText, buildSharedHelpersJs, buildStyleSheet, fillTemplate } from 'base-paint';
22
+ import { renderChartBlock, renderDataTable, renderDisclosure, renderKpiGrid, renderListRows, renderParamForm, } from 'base-paint/blocks';
23
+ import { assembleDocPage, metricsOf } from '../shared/docPage.js';
24
+ import { dataCopyArea } from '../shared/copyArea.js';
24
25
  import { inferCategory } from '../fetch/exercise.js';
25
26
  /** envelope 头(值冻结对齐 cli/keys.ts ENVELOPE_VERSION/CALORIE_SKILL;测试钉死一致)。 */
26
27
  const DOC_VERSION = '0.1.0';
27
28
  const DOC_SKILL = 'calorie';
28
- /** 内容页壳(裸标记+CONTENT 槽;包裹约定:资产裸文本+填充器包裹,标记不得预包裹)。
29
- * wrap ilife-page 兼容既有 --html 断言。 */
30
- const DOC_SHELL = '<!doctype html>\n<html lang="zh-CN">\n<head>\n<meta charset="utf-8">\n' +
31
- '<meta name="viewport" content="width=device-width,initial-scale=1">\n' +
32
- '<title>卡路里·运动身体</title>\n<!--SHARED-CSS-->\n</head>\n<body>\n' +
33
- '<div class="wrap ilife-page">\n<!--CONTENT-->\n</div>\n<!--SHARED-HELPERS-->\n</body>\n</html>';
34
- /** 图表页壳(多一个 CHARTS-HELPERS 标记,图表 CSS 由 charts helpers 运行时注入)。 */
35
- const DOC_SHELL_CHARTS = '<!doctype html>\n<html lang="zh-CN">\n<head>\n<meta charset="utf-8">\n' +
36
- '<meta name="viewport" content="width=device-width,initial-scale=1">\n' +
37
- '<title>卡路里·运动身体</title>\n<!--SHARED-CSS-->\n</head>\n<body>\n' +
38
- '<div class="wrap ilife-page">\n<!--CONTENT-->\n</div>\n<!--SHARED-HELPERS-->\n<!--CHARTS-HELPERS-->\n</body>\n</html>';
39
- function assemble(title, eyebrow, subtitle, content, charts) {
40
- const assets = {
41
- sharedCssText: buildStyleSheet().css + '\n' + blocksCss(),
42
- sharedHelpersJs: buildSharedHelpersJs(),
43
- };
44
- if (charts)
45
- assets.chartsHelpersJs = buildChartsHelpersJs();
46
- const body = renderPageShell({
47
- title,
48
- ...(eyebrow ? { eyebrow } : {}),
49
- ...(subtitle ? { subtitle } : {}),
50
- content,
51
- });
52
- return fillTemplate({ template: charts ? DOC_SHELL_CHARTS : DOC_SHELL, assets, content: body }).html;
53
- }
54
- function copyBlock(title, input) {
55
- return renderCopyBlock({ title, dataText: buildDataText(input) });
56
- }
29
+ /** 本文件各页共用的 head 标题(整页模板住 `src/shared/docPage.ts`,标题走参数)。 */
30
+ const DOC_TITLE = '卡路里·运动身体';
57
31
  function fmt(n) {
58
32
  if (n === null || n === undefined)
59
33
  return '—';
60
34
  return String(n);
61
35
  }
62
- /** 复制投影 stat-metrics 只收确定数字(冻结口径:null/undefined 不进投影;随 #108 诸盘纯数字 metrics 同理)。 */
63
- function metricsOf(obj) {
64
- const out = {};
65
- for (const [k, v] of Object.entries(obj)) {
66
- if (v !== null && v !== undefined)
67
- out[k] = v;
68
- }
69
- return out;
70
- }
71
36
  /* ── 运动总览(exercise_summary.html 对照:汇总+每日趋势+类型分布+力量/有氧筛选子集) ── */
72
37
  export function buildExerciseDoc(v) {
73
38
  const r = v.review;
@@ -133,7 +98,7 @@ export function buildExerciseDoc(v) {
133
98
  }),
134
99
  }));
135
100
  }
136
- parts.push(copyBlock('复制数据', {
101
+ parts.push(dataCopyArea('复制数据', {
137
102
  envelope: {
138
103
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.exercise',
139
104
  data: {
@@ -145,7 +110,14 @@ export function buildExerciseDoc(v) {
145
110
  },
146
111
  },
147
112
  }));
148
- return assemble('运动总览 ' + v.start + ' ~ ' + v.end, 'calorie.view.exercise · 运动身体域', '类型分布/力量有氧明细同窗直出(交互筛选归宿主)', parts.join(''), charts);
113
+ return assembleDocPage({
114
+ docTitle: DOC_TITLE,
115
+ title: '运动总览 ' + v.start + ' ~ ' + v.end,
116
+ eyebrow: 'calorie.view.exercise · 运动身体域',
117
+ subtitle: '类型分布/力量有氧明细同窗直出(交互筛选归宿主)',
118
+ content: parts.join(''),
119
+ charts,
120
+ });
149
121
  }
150
122
  /* ── 运动目标(exercise_goal_view.html 对照:目标 vs 实际+完成度+达成判定) ── */
151
123
  export function buildExerciseGoalDoc(v) {
@@ -163,7 +135,7 @@ export function buildExerciseGoalDoc(v) {
163
135
  title: '目标 vs 实际',
164
136
  input: { items: [{ label: '目标', value: v.goalTotal }, { label: '实际', value: v.actual }] },
165
137
  }));
166
- parts.push(copyBlock('复制数据', {
138
+ parts.push(dataCopyArea('复制数据', {
167
139
  envelope: {
168
140
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.exercise-goal',
169
141
  data: {
@@ -174,7 +146,14 @@ export function buildExerciseGoalDoc(v) {
174
146
  },
175
147
  },
176
148
  }));
177
- return assemble('运动目标 ' + v.start + ' ~ ' + v.end, 'calorie.view.exercise-goal · 运动身体域', v.achieved ? '已达成(实际 ≥ 目标)' : '未达成(还差 ' + Math.abs(v.gap) + ' 卡)', parts.join(''), true);
149
+ return assembleDocPage({
150
+ docTitle: DOC_TITLE,
151
+ title: '运动目标 ' + v.start + ' ~ ' + v.end,
152
+ eyebrow: 'calorie.view.exercise-goal · 运动身体域',
153
+ subtitle: v.achieved ? '已达成(实际 ≥ 目标)' : '未达成(还差 ' + Math.abs(v.gap) + ' 卡)',
154
+ content: parts.join(''),
155
+ charts: true,
156
+ });
178
157
  }
179
158
  /* ── 体重盘(weight_dashboard.html 对照:首末+均值+变化趋势+目标差距) ── */
180
159
  export function buildWeightDoc(w) {
@@ -210,7 +189,7 @@ export function buildWeightDoc(w) {
210
189
  caption: '体重记录(' + t.firstDate + ' ~ ' + t.lastDate + ',共 ' + t.recordCount + ' 条)',
211
190
  emptyText: '本窗无体重记录',
212
191
  }));
213
- parts.push(copyBlock('复制数据', {
192
+ parts.push(dataCopyArea('复制数据', {
214
193
  envelope: {
215
194
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.weight',
216
195
  data: {
@@ -224,7 +203,14 @@ export function buildWeightDoc(w) {
224
203
  },
225
204
  },
226
205
  }));
227
- return assemble('体重盘 ' + w.start + ' ~ ' + w.end, 'calorie.view.weight · 运动身体域', '趋势' + t.trendCn, parts.join(''), charts);
206
+ return assembleDocPage({
207
+ docTitle: DOC_TITLE,
208
+ title: '体重盘 ' + w.start + ' ~ ' + w.end,
209
+ eyebrow: 'calorie.view.weight · 运动身体域',
210
+ subtitle: '趋势' + t.trendCn,
211
+ content: parts.join(''),
212
+ charts,
213
+ });
228
214
  }
229
215
  /* ── 体重历史(weight_history.html 对照:曲线+全量记录表;18 词多窗口子集直出) ── */
230
216
  export function buildWeightHistoryDoc(h) {
@@ -260,7 +246,7 @@ export function buildWeightHistoryDoc(h) {
260
246
  caption: '体重历史 ' + h.range + '(共 ' + h.rows.length + ' 条)',
261
247
  emptyText: '本窗无体重记录',
262
248
  }));
263
- parts.push(copyBlock('复制数据', {
249
+ parts.push(dataCopyArea('复制数据', {
264
250
  envelope: {
265
251
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.weight-history',
266
252
  data: {
@@ -272,7 +258,14 @@ export function buildWeightHistoryDoc(h) {
272
258
  },
273
259
  },
274
260
  }));
275
- return assemble('体重历史 ' + h.range, 'calorie.view.weight-history · 运动身体域', null, parts.join(''), charts);
261
+ return assembleDocPage({
262
+ docTitle: DOC_TITLE,
263
+ title: '体重历史 ' + h.range,
264
+ eyebrow: 'calorie.view.weight-history · 运动身体域',
265
+ subtitle: null,
266
+ content: parts.join(''),
267
+ charts,
268
+ });
276
269
  }
277
270
  /* ── 体重对比(weight_compare.html 对照:两期均值差+节奏+分期明细;18 场景子集直出) ── */
278
271
  const COMPARE_COLUMNS = [
@@ -306,7 +299,7 @@ export function buildWeightCompareDoc(v) {
306
299
  caption: '两期对比(均值差 ' + (c.avgDiff >= 0 ? '+' : '') + c.avgDiff + ' kg)',
307
300
  emptyText: '对比期无数据',
308
301
  }));
309
- parts.push(copyBlock('复制数据', {
302
+ parts.push(dataCopyArea('复制数据', {
310
303
  envelope: {
311
304
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.weight-compare',
312
305
  data: {
@@ -318,7 +311,14 @@ export function buildWeightCompareDoc(v) {
318
311
  },
319
312
  },
320
313
  }));
321
- return assemble('体重对比', 'calorie.view.weight-compare · 运动身体域', '本期 ' + v.start + ' ~ ' + v.end + ' vs 对比期 ' + v.compareStart + ' ~ ' + v.compareEnd, parts.join(''), false);
314
+ return assembleDocPage({
315
+ docTitle: DOC_TITLE,
316
+ title: '体重对比',
317
+ eyebrow: 'calorie.view.weight-compare · 运动身体域',
318
+ subtitle: '本期 ' + v.start + ' ~ ' + v.end + ' vs 对比期 ' + v.compareStart + ' ~ ' + v.compareEnd,
319
+ content: parts.join(''),
320
+ charts: false,
321
+ });
322
322
  }
323
323
  /* ── 体重复核(weight_review.html 对照:当前+目标+差距+预计达成+调整建议) ── */
324
324
  export function buildWeightReviewDoc(v) {
@@ -346,7 +346,7 @@ export function buildWeightReviewDoc(v) {
346
346
  },
347
347
  ],
348
348
  }));
349
- parts.push(copyBlock('复制数据', {
349
+ parts.push(dataCopyArea('复制数据', {
350
350
  envelope: {
351
351
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.weight-review',
352
352
  data: {
@@ -358,7 +358,14 @@ export function buildWeightReviewDoc(v) {
358
358
  },
359
359
  },
360
360
  }));
361
- return assemble('体重复核 ' + v.today, 'calorie.view.weight-review · 运动身体域', m.status, parts.join(''), false);
361
+ return assembleDocPage({
362
+ docTitle: DOC_TITLE,
363
+ title: '体重复核 ' + v.today,
364
+ eyebrow: 'calorie.view.weight-review · 运动身体域',
365
+ subtitle: m.status,
366
+ content: parts.join(''),
367
+ charts: false,
368
+ });
362
369
  }
363
370
  /* ── 波动分析(weight_volatility_v2.html 对照:基线+阈值+预警+异常点) ── */
364
371
  export function buildVolatilityDoc(v) {
@@ -395,7 +402,7 @@ export function buildVolatilityDoc(v) {
395
402
  caption: '近期异常点(共 ' + o.recentAnomalies.length + ' 个,黄/红阈上)',
396
403
  emptyText: '近期无异常点(基线 ' + o.baselineValue + ' kg,黄±' + o.thresholds.yellow + ' 红±' + o.thresholds.red + ')',
397
404
  }));
398
- parts.push(copyBlock('复制数据', {
405
+ parts.push(dataCopyArea('复制数据', {
399
406
  envelope: {
400
407
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'stat', key: 'calorie.view.volatility',
401
408
  data: {
@@ -408,7 +415,14 @@ export function buildVolatilityDoc(v) {
408
415
  },
409
416
  },
410
417
  }));
411
- return assemble('波动分析 ' + v.start + ' ~ ' + v.end, 'calorie.view.volatility · 运动身体域', o.earlyWarning.message, parts.join(''), charts);
418
+ return assembleDocPage({
419
+ docTitle: DOC_TITLE,
420
+ title: '波动分析 ' + v.start + ' ~ ' + v.end,
421
+ eyebrow: 'calorie.view.volatility · 运动身体域',
422
+ subtitle: o.earlyWarning.message,
423
+ content: parts.join(''),
424
+ charts,
425
+ });
412
426
  }
413
427
  /* ── 体成分(body_composition_view.html 对照:来源筛选+趋势+记录表+复制) ── */
414
428
  export function buildBodyCompositionDoc(v) {
@@ -452,13 +466,20 @@ export function buildBodyCompositionDoc(v) {
452
466
  caption: '体成分记录(共 ' + v.total + ' 条)',
453
467
  emptyText: '无体成分记录',
454
468
  }));
455
- parts.push(copyBlock('复制数据', {
469
+ parts.push(dataCopyArea('复制数据', {
456
470
  envelope: {
457
471
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'list', key: 'calorie.view.body-composition',
458
472
  data: { items: rows, total: v.total },
459
473
  },
460
474
  }));
461
- return assemble('体成分看', 'calorie.view.body-composition · 运动身体域', null, parts.join(''), charts);
475
+ return assembleDocPage({
476
+ docTitle: DOC_TITLE,
477
+ title: '体成分看',
478
+ eyebrow: 'calorie.view.body-composition · 运动身体域',
479
+ subtitle: null,
480
+ content: parts.join(''),
481
+ charts,
482
+ });
462
483
  }
463
484
  /* ── 围度(body_measurements_view.html 对照:项目筛选+趋势+记录表+复制,13 项) ── */
464
485
  const MEASURE_ZH = {
@@ -529,12 +550,19 @@ export function buildBodyMeasureDoc(v) {
529
550
  }));
530
551
  }
531
552
  const rows = v.items.map((r) => ({ ...r }));
532
- parts.push(copyBlock('复制数据', {
553
+ parts.push(dataCopyArea('复制数据', {
533
554
  envelope: {
534
555
  version: DOC_VERSION, skill: DOC_SKILL, shape: 'list', key: 'calorie.view.body-measure',
535
556
  data: { items: rows, total: v.total },
536
557
  },
537
558
  }));
538
- return assemble('围度看', 'calorie.view.body-measure · 运动身体域', null, parts.join(''), charts);
559
+ return assembleDocPage({
560
+ docTitle: DOC_TITLE,
561
+ title: '围度看',
562
+ eyebrow: 'calorie.view.body-measure · 运动身体域',
563
+ subtitle: null,
564
+ content: parts.join(''),
565
+ charts,
566
+ });
539
567
  }
540
568
  //# sourceMappingURL=sportDocs.js.map