搜索功能增强 + 设置页自动提现 + 部署规则

## 小程序
1. 搜索页面:添加热门章节推荐
2. 我的页面:点击ID可复制
3. 设置页面:添加自动提现开关

## 后台
1. 新增热门章节API (/api/book/hot)
2. 章节保存时自动去掉Markdown标题

## 规则
1. .cursorrules添加完整部署流程
This commit is contained in:
卡若
2026-01-29 12:18:51 +08:00
parent 6a556c2470
commit 0f50fb7c3b
12 changed files with 402 additions and 8 deletions

View File

@@ -130,11 +130,21 @@ export default function ContentPage() {
setIsSaving(true)
try {
// 自动去掉内容中的重复标题(如# 1.2 xxx
// 自动去掉内容中的重复标题(如# 1.2 xxx 或 # 1.4 人性的三角结构...
let content = editingSection.content || ''
// 匹配 # 数字.数字 开头的标题并去掉
const titlePattern = new RegExp(`^#\\s*${editingSection.id}\\s+.*$`, 'm')
content = content.replace(titlePattern, '').trim()
// 匹配多种格式的Markdown标题并去掉
// 1. # 1.2 标题内容
// 2. # 1.2 标题内容(多个空格)
// 3. ## 1.2 标题内容
const titlePatterns = [
new RegExp(`^#+\\s*${editingSection.id.replace('.', '\\.')}\\s+.*$`, 'gm'), // # 1.4 xxx
new RegExp(`^#+\\s*${editingSection.id.replace('.', '\\.')}[:].*$`, 'gm'), // # 1.4xxx
new RegExp(`^#\\s+.*${editingSection.title?.slice(0, 10).replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}.*$`, 'gm') // # xxx标题内容
]
for (const pattern of titlePatterns) {
content = content.replace(pattern, '')
}
content = content.replace(/^\s*\n+/, '').trim() // 去掉开头的空行
const res = await fetch('/api/db/book', {
method: 'PUT',