@sovovs/bycli 2.1.33 → 2.1.34
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.
package/cli-manifest.json
CHANGED
|
@@ -28455,7 +28455,15 @@
|
|
|
28455
28455
|
"markdownSize",
|
|
28456
28456
|
"dataPath",
|
|
28457
28457
|
"dataSize",
|
|
28458
|
-
"error"
|
|
28458
|
+
"error",
|
|
28459
|
+
"listReads",
|
|
28460
|
+
"listShares",
|
|
28461
|
+
"listLikes",
|
|
28462
|
+
"listComments",
|
|
28463
|
+
"detailReadUsers",
|
|
28464
|
+
"detailShares",
|
|
28465
|
+
"detailLikes",
|
|
28466
|
+
"detailComments"
|
|
28459
28467
|
],
|
|
28460
28468
|
"type": "js",
|
|
28461
28469
|
"modulePath": "weixin/download-publish-data.js",
|
|
@@ -25,6 +25,8 @@ const COLUMNS = [
|
|
|
25
25
|
'title', 'publishedAt', 'url', 'status',
|
|
26
26
|
...METRIC_COLUMNS,
|
|
27
27
|
'markdownPath', 'markdownSize', 'dataPath', 'dataSize', 'error',
|
|
28
|
+
'listReads', 'listShares', 'listLikes', 'listComments',
|
|
29
|
+
'detailReadUsers', 'detailShares', 'detailLikes', 'detailComments',
|
|
28
30
|
];
|
|
29
31
|
|
|
30
32
|
function sanitizedError(error, secrets, fallback) {
|
|
@@ -135,17 +137,43 @@ export const downloadPublishDataCommand = cli({
|
|
|
135
137
|
const status = dataResult && markdownResult ? 'downloaded'
|
|
136
138
|
: dataResult || markdownResult ? 'partial' : 'failed';
|
|
137
139
|
const metrics = markdownResult?.metrics ?? null;
|
|
140
|
+
|
|
141
|
+
// Use published list data as the authoritative source for overlapping fields.
|
|
142
|
+
// Detail page metrics are only used for fields exclusive to the detail page.
|
|
143
|
+
const mergedMetrics = {
|
|
144
|
+
readUsers: record.reads,
|
|
145
|
+
avgReadMinutes: metrics?.avgReadMinutes ?? null,
|
|
146
|
+
finishedReadRatio: metrics?.finishedReadRatio ?? null,
|
|
147
|
+
newFollowers: metrics?.newFollowers ?? null,
|
|
148
|
+
listenUsers: metrics?.listenUsers ?? null,
|
|
149
|
+
shares: record.shares,
|
|
150
|
+
zaikan: metrics?.zaikan ?? null,
|
|
151
|
+
likes: record.likes,
|
|
152
|
+
rewardYuan: metrics?.rewardYuan ?? null,
|
|
153
|
+
comments: record.comments,
|
|
154
|
+
collections: metrics?.collections ?? null,
|
|
155
|
+
};
|
|
156
|
+
|
|
138
157
|
return [{
|
|
139
158
|
title: record.title,
|
|
140
159
|
publishedAt: record.publishedAt,
|
|
141
160
|
url: record.url,
|
|
142
161
|
status,
|
|
143
|
-
...
|
|
162
|
+
...mergedMetrics,
|
|
144
163
|
markdownPath: markdownResult?.path ?? null,
|
|
145
164
|
markdownSize: markdownResult?.size ?? null,
|
|
146
165
|
dataPath: dataResult?.path ?? null,
|
|
147
166
|
dataSize: dataResult?.size ?? null,
|
|
148
167
|
error: errors.length > 0 ? errors.join('; ') : null,
|
|
168
|
+
// Data source transparency: show raw values from both sources
|
|
169
|
+
listReads: record.reads,
|
|
170
|
+
listShares: record.shares,
|
|
171
|
+
listLikes: record.likes,
|
|
172
|
+
listComments: record.comments,
|
|
173
|
+
detailReadUsers: metrics?.readUsers ?? null,
|
|
174
|
+
detailShares: metrics?.shares ?? null,
|
|
175
|
+
detailLikes: metrics?.likes ?? null,
|
|
176
|
+
detailComments: metrics?.comments ?? null,
|
|
149
177
|
}];
|
|
150
178
|
},
|
|
151
179
|
});
|