mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-05-23 15:09:46 +00:00
encrypt-password
This commit is contained in:
@@ -212,17 +212,16 @@ async function getPageRecordMapByNotionAPI({ pageId, from }) {
|
|||||||
collectionData.push(properties)
|
collectionData.push(properties)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 读取映射 配置
|
|
||||||
let postCount = 0
|
|
||||||
|
|
||||||
// 获取page作为自定义菜单
|
// 获取page作为自定义菜单
|
||||||
const customNav = getCustomNav({ allPages: collectionData.filter(post => post.type === 'Page' && post.status === 'Published') })
|
const customNav = getCustomNav({ allPages: collectionData.filter(post => post.type === 'Page' && post.status === 'Published') })
|
||||||
|
|
||||||
|
// 文章计数
|
||||||
|
let postCount = 0
|
||||||
const allPages = collectionData.filter(post => {
|
const allPages = collectionData.filter(post => {
|
||||||
if (post.type === 'Post' && post.status === 'Published') {
|
if (post.type === 'Post' && post.status === 'Published') {
|
||||||
postCount++
|
postCount++
|
||||||
}
|
}
|
||||||
|
|
||||||
return post &&
|
return post &&
|
||||||
post.type &&
|
post.type &&
|
||||||
(post.type === 'Post' || post.type === 'Page') &&
|
(post.type === 'Post' || post.type === 'Page') &&
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { NotionAPI } from 'notion-client'
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import formatDate from '../formatDate'
|
import formatDate from '../formatDate'
|
||||||
import { defaultMapImageUrl } from 'react-notion-x'
|
import { defaultMapImageUrl } from 'react-notion-x'
|
||||||
|
import md5 from 'js-md5'
|
||||||
|
|
||||||
export default async function getPageProperties(id, block, schema, authToken, tagOptions, siteInfo) {
|
export default async function getPageProperties(id, block, schema, authToken, tagOptions, siteInfo) {
|
||||||
const rawProperties = Object.entries(block?.[id]?.value?.properties || [])
|
const rawProperties = Object.entries(block?.[id]?.value?.properties || [])
|
||||||
@@ -89,6 +90,7 @@ export default async function getPageProperties(id, block, schema, authToken, ta
|
|||||||
properties.pageIcon = getImageUrl(block[id].value?.format?.page_icon, block[id].value) ?? ''
|
properties.pageIcon = getImageUrl(block[id].value?.format?.page_icon, block[id].value) ?? ''
|
||||||
properties.page_cover = getImageUrl(block[id].value?.format?.page_cover, block[id].value) ?? siteInfo?.pageCover
|
properties.page_cover = getImageUrl(block[id].value?.format?.page_cover, block[id].value) ?? siteInfo?.pageCover
|
||||||
properties.content = value.content ?? []
|
properties.content = value.content ?? []
|
||||||
|
properties.password = properties.password ? md5(properties.slug + properties.password) : ''
|
||||||
properties.tagItems = properties?.tags?.map(tag => {
|
properties.tagItems = properties?.tags?.map(tag => {
|
||||||
return { name: tag, color: tagOptions?.find(t => t.value === tag)?.color || 'gray' }
|
return { name: tag, color: tagOptions?.find(t => t.value === tag)?.color || 'gray' }
|
||||||
}) || []
|
}) || []
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"feed": "^4.2.2",
|
"feed": "^4.2.2",
|
||||||
"gitalk": "^1.7.2",
|
"gitalk": "^1.7.2",
|
||||||
|
"js-md5": "^0.7.3",
|
||||||
"localStorage": "^1.0.4",
|
"localStorage": "^1.0.4",
|
||||||
"lodash.throttle": "^4.1.1",
|
"lodash.throttle": "^4.1.1",
|
||||||
"mark.js": "^8.11.1",
|
"mark.js": "^8.11.1",
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import { idToUuid, getPageTableOfContents } from 'notion-utils'
|
|||||||
import Router from 'next/router'
|
import Router from 'next/router'
|
||||||
import { isBrowser } from '@/lib/utils'
|
import { isBrowser } from '@/lib/utils'
|
||||||
import { getNotion } from '@/lib/notion/getNotion'
|
import { getNotion } from '@/lib/notion/getNotion'
|
||||||
|
import md5 from 'js-md5'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据notion的slug访问页面
|
* 根据notion的slug访问页面
|
||||||
@@ -57,7 +58,7 @@ const Slug = props => {
|
|||||||
* @param {*} result
|
* @param {*} result
|
||||||
*/
|
*/
|
||||||
const validPassword = passInput => {
|
const validPassword = passInput => {
|
||||||
if (passInput && passInput === post.password) {
|
if (passInput && md5(post.slug + passInput) === post.password) {
|
||||||
setLock(false)
|
setLock(false)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import BLOG from '@/blog.config'
|
|||||||
|
|
||||||
export const LayoutCategory = props => {
|
export const LayoutCategory = props => {
|
||||||
const { category } = props
|
const { category } = props
|
||||||
const slotTop = <div className='flex items-center font-sans p-8'><div className='text-xl'><i className='mr-2 fas fa-th' />分类:</div>{category}</div>
|
const slotTop = <div className='flex items-center font-sans py-8'><div className='text-xl'><i className='mr-2 fas fa-th' />分类:</div>{category}</div>
|
||||||
|
|
||||||
return <LayoutBase {...props} slotTop={slotTop}>
|
return <LayoutBase {...props} slotTop={slotTop}>
|
||||||
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
|
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import BlogPostListPage from './components/BlogPostListPage'
|
|||||||
|
|
||||||
export const LayoutTag = (props) => {
|
export const LayoutTag = (props) => {
|
||||||
const { tag } = props
|
const { tag } = props
|
||||||
const slotTop = <div className='flex items-center font-sans p-8'><div className='text-xl'><i className='mr-2 fas fa-tag'/>标签:</div>{tag}</div>
|
const slotTop = <div className='flex items-center font-sans py-8'><div className='text-xl'><i className='mr-2 fas fa-tag'/>标签:</div>{tag}</div>
|
||||||
|
|
||||||
return <LayoutBase {...props} slotTop={slotTop}>
|
return <LayoutBase {...props} slotTop={slotTop}>
|
||||||
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
|
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
|
||||||
|
|||||||
Reference in New Issue
Block a user