Zhengen
|
3944e11330
|
feat(core): 补全剩余 6 个 StreamField Block (ProductCard/Pricing/Timeline/Team/TechStack/Video)
- apps/core/blocks.py 新增 ProductCardBlock/PricingBlock/TimelineBlock/TeamBlock/TechStackBlock/VideoBlock,COMMON_BLOCKS 扩充至 14 个内容 Block
- TeamBlock 新增 TeamMemberChooserBlock(SnippetChooserBlock),复用 FormBlock 已有的 get_api_representation 展开模式,展开 TeamMember 完整字段(含 serialize_image 复用)
- 为 blog/cases/home/products/solutions 五个 Page 模型生成并应用 alter field body 迁移(StreamField block 定义变更会写入迁移 state)
- apps/core/tests.py 新增 TeamMemberChooserBlock 空值/展开单元测试,pytest 33 个用例全部通过
- 设计文档 §2.6/§2.16 同步更新为已实现
|
2026-08-07 15:58:44 +08:00 |
|
Zhengen
|
8d440b9e4a
|
feat: 实现预览模式(wagtail-headless-preview + Next.js Draft Mode)
|
2026-08-07 15:34:46 +08:00 |
|
Zhengen
|
16e4f97e74
|
国内可访问服务替换排查:新增蜜罐反垃圾字段 + CDN 加速域名配置
|
2026-08-07 14:49:00 +08:00 |
|
Zhengen
|
d6503bb46f
|
feat: 实现PIPL数据主体删除权支持功能
- 新增 LeadDeletionRequest 模型,支持邮箱验证的删除申请/确认流程
- POST /api/v1/custom/leads/deletion-requests/ 发起申请(通用响应避免探测邮箱是否存在)
- POST /api/v1/custom/leads/deletion-requests/confirm/ 确认删除(24小时token有效期)
- 按邮箱在 Lead.data 中匹配并删除对应记录,跨SQLite/Postgres使用Python级匹配
- LeadDeletionRequest 通过 Django Admin 只读展示供合规审计
- 新增 FRONTEND_BASE_URL 设置用于拼接邮件确认链接
- apps/forms/tests.py 新增6个测试用例(含节流缓存隔离修复),全仓库30个用例通过
- 更新设计文档 §2.15/§2.16 勾选项
|
2026-08-07 13:29:20 +08:00 |
|
Zhengen
|
8fbbd2e6b0
|
feat: 新增Snippet全局内容模型(TeamMember/Testimonial/Partner/NavigationMenu/SiteSettings)
- 新增 apps.core.TeamMember/Testimonial/Partner:简单 register_snippet,含 order 排序字段
- 新增 apps.core.NavigationMenu+NavigationMenuItem:ClusterableModel+Orderable+InlinePanel,
支持内部页面或外部链接二选一
- 新增 apps.core.SiteSettings:接入 wagtail.contrib.settings + BaseSiteSetting,
存放公司信息/ICP备案号/社交账号等全局配置
- 新增只读 API:/api/v1/custom/core/{team,testimonials,partners,navigation,site-settings}/
- 补充 apps/core/tests.py 单元测试,pytest 用例由 11 个增至 24 个,全部通过
- 更新设计文档 §2.16 Phase 1 进度清单
|
2026-08-07 13:06:22 +08:00 |
|
Zhengen
|
b04de9f5c1
|
docs: 修正Phase1进度清单中过期的复选框状态
|
2026-08-07 11:05:41 +08:00 |
|
Zhengen
|
ec2e629db2
|
fix: 生产环境补充SECURE_PROXY_SSL_HEADER,完善白名单配置文档说明
|
2026-08-07 09:42:29 +08:00 |
|
Zhengen
|
4e4cdf31ac
|
docs: Cookie同意条控件已完成,更新合规清单
|
2026-08-07 09:38:05 +08:00 |
|
Zhengen
|
b05d2b7f52
|
feat: 新增隐私政策内容页(apps.core.SimpleContentPage)及seed命令,更新设计文档
|
2026-08-06 17:17:07 +08:00 |
|
Zhengen
|
9e60cabd5e
|
docs: 页脚已替换为实际ICP备案号,更新合规清单状态
|
2026-08-06 16:54:34 +08:00 |
|
Zhengen
|
e2a0f62ef4
|
docs: ICP备案已完成,更新合规清单状态
|
2026-08-06 16:37:40 +08:00 |
|
Zhengen
|
e6fd8f62f4
|
docs: update design doc progress (solutions app + pytest suite completed)
|
2026-08-06 16:24:59 +08:00 |
|
Zhengen
|
052fff1a40
|
feat: add solutions app, fix HomePage subpage_types, add pytest test suite
- apps/solutions: SolutionIndexPage/SolutionPage (mirrors products/cases)
- apps/home: HomePage.subpage_types now includes products/solutions/cases index pages (previously only blog, blocking admin page creation)
- pytest.ini + conftest.py (root_page/home_page fixtures)
- unit tests for core (SEOablePage, FormBlock API repr), products, cases, forms (lead submit API)
|
2026-08-06 16:23:49 +08:00 |
|
Zhengen
|
12f7caa158
|
feat: add products/cases page models and forms lead-capture app
- apps/products: ProductIndexPage/ProductPage
- apps/cases: CaseStudyIndexPage/CaseStudyPage
- apps/forms: FormDefinition/FormDefinitionField/Lead + submit API
- core/blocks: CaseStudyBlock, FormBlock (with API representation)
- register new apps, custom leads API route, migrations
|
2026-08-06 16:04:21 +08:00 |
|
Zhengen
|
7f51a31150
|
chore: initial commit of Wagtail backend scaffold
|
2026-08-06 15:56:14 +08:00 |
|