支持输出统计

This commit is contained in:
2024-12-16 09:59:17 +08:00
parent ac8d89454b
commit 409ff2f44a
2 changed files with 32 additions and 4 deletions

25
main.js
View File

@@ -8,6 +8,7 @@ class 计数 {
= new Map()
= new Map()
= new Map()
= new Map()
}
class 类型 {
@@ -25,6 +26,24 @@ const 截图 = new 类型()
const 收藏 = new 类型()
const 综合 = new 类型()
// 获取浏览数
export function get_views(name, ids = []) {
const all = { 文章, 作品, 游戏, 截图, 收藏, 综合 }
const counts = all[name].浏览数.
return ids.map(id => ({ id, count: counts.get(id) || 0 }))
}
// 获取当日热门搜索词
export function get_search(n = 10) {
const ex = new Map()
const all = { 文章, 作品, 游戏, 截图, 收藏, 综合 }
for (const item of all) {
item.搜索词.forEach((value, key) => {
ex.set(key, (ex.get(key) || 0) + value)
})
}
return [...ex.entries()].sort((a, b) => b[1] - a[1]).slice(0, n)
}
const 日期格式 = new Intl.DateTimeFormat('zh-CN', {
year: 'numeric',
@@ -60,7 +79,7 @@ const 存档 = async (message = '正在存档...') => {
}
export default function () {
export function main() {
console.log(当前日期, '启动时加载当日数据...')
if (fs.existsSync(`./data/${当前日期}.json`)) {
const file = fs.readFileSync(`./data/${当前日期}.json`, 'utf8')
@@ -84,13 +103,13 @@ export default function () {
await update('web_images', 'day_rank', Object.entries(Object.fromEntries(截图.浏览数.)))
await update('web_article', 'day_rank', Object.entries(Object.fromEntries(文章.浏览数.)))
await update_explorer('web_member_explorer', 'day_rank', Object.entries(Object.fromEntries(收藏.浏览数.)))
} catch(err) {
} catch (err) {
console.error(err)
}
await new Promise(resolve => setTimeout(resolve, 10 * 60 * 1000))
}
}
// 启动定时任务
startScheduledTask()