Skip to content

Commit 248fcb0

Browse files
committedFeb 2, 2024
减小页面体积
1 parent c7485a4 commit 248fcb0

File tree

2 files changed

+42
-12
lines changed

2 files changed

+42
-12
lines changed
 

‎lib/notion/getNotionData.js

+39-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export async function getGlobalData({
2828
// 从notion获取
2929
const data = await getNotionPageData({ pageId, from })
3030
const db = deepClone(data)
31-
// 不返回的敏感数据
31+
// 减少返回给前端的数据,减少流量损耗
3232
delete db.block
3333
delete db.schema
3434
delete db.rawMetadata
@@ -38,9 +38,47 @@ export async function getGlobalData({
3838
delete db.collectionQuery
3939
delete db.collectionId
4040
delete db.collectionView
41+
42+
// 清理多余的块
43+
if (db?.notice) {
44+
db.notice = cleanBlock(db?.notice)
45+
}
46+
if (db?.post) {
47+
db.post = cleanBlock(db?.post)
48+
}
49+
4150
return db
4251
}
4352

53+
function cleanBlock(post) {
54+
const pageBlock = post?.blockMap?.block
55+
for (const i in pageBlock) {
56+
pageBlock[i] = cleanBlock(pageBlock[i])
57+
delete pageBlock[i]?.role
58+
delete pageBlock[i]?.value?.version
59+
delete pageBlock[i]?.value?.created_by_table
60+
delete pageBlock[i]?.value?.created_by_id
61+
delete pageBlock[i]?.value?.last_edited_by_table
62+
delete pageBlock[i]?.value?.last_edited_by_id
63+
delete pageBlock[i]?.value?.space_id
64+
delete pageBlock[i]?.value?.version
65+
delete pageBlock[i]?.value?.format?.copied_from_pointer
66+
delete pageBlock[i]?.value?.format?.block_locked_by
67+
delete pageBlock[i]?.value?.parent_table
68+
delete pageBlock[i]?.value?.copied_from_pointer
69+
delete pageBlock[i]?.value?.copied_from
70+
delete pageBlock[i]?.value?.created_by_table
71+
delete pageBlock[i]?.value?.created_by_id
72+
delete pageBlock[i]?.value?.last_edited_by_table
73+
delete pageBlock[i]?.value?.last_edited_by_id
74+
delete pageBlock[i]?.value?.permissions
75+
delete pageBlock[i]?.value?.alive
76+
}
77+
78+
delete post?.blockMap?.collection
79+
return post
80+
}
81+
4482
/**
4583
* 获取最新文章 根据最后修改时间倒序排列
4684
* @param {*}} param0

‎lib/notion/getPostBlocks.js

+3-11
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,12 @@ export async function getPageWithRetry(id, from, retryAttempts = 3) {
8787
* 2.比如文件、视频、音频、url格式化
8888
* 3.代码块等元素兼容
8989
* @param {*} id 页面ID
90-
* @param {*} pageBlock 页面元素
90+
* @param {*} blockMap 页面元素
9191
* @param {*} slice 截取数量
9292
* @returns
9393
*/
94-
function filterPostBlocks(id, pageBlock, slice) {
95-
const clonePageBlock = deepClone(pageBlock)
94+
function filterPostBlocks(id, blockMap, slice) {
95+
const clonePageBlock = deepClone(blockMap)
9696
let count = 0
9797

9898
// 循环遍历文档的每个block
@@ -132,14 +132,6 @@ function filterPostBlocks(id, pageBlock, slice) {
132132
const newUrl = `https://notion.so/signed/${encodeURIComponent(oldUrl)}?table=block&id=${b?.value?.id}`
133133
b.value.properties.source[0][0] = newUrl
134134
}
135-
136-
delete b?.role
137-
delete b?.value?.version
138-
delete b?.value?.created_by_table
139-
delete b?.value?.created_by_id
140-
delete b?.value?.last_edited_by_table
141-
delete b?.value?.last_edited_by_id
142-
delete b?.value?.space_id
143135
}
144136

145137
// 去掉不用的字段

0 commit comments

Comments
 (0)
Please sign in to comment.