4.3 KiB
4.3 KiB
Lovart 重建接口联调清单
更新时间:2026-02-12
已接入(当前可用)
| 页面 | 数据来源 | 方式 | 状态 |
|---|---|---|---|
/lovart |
getSiteSettings |
DB 直连(RSC) | 已接入 |
/lovart |
getNavLinks |
DB 直连(RSC) | 已接入 |
/lovart |
getEnabledAiModelsWithProvider |
DB 直连(RSC) | 已接入 |
/lovart |
getTutorialVideos |
DB 直连(RSC) | 已接入 |
/lovart |
getPublicFeaturedImages |
DB 直连(RSC) | 已接入 |
/lovart |
getPublicFeaturedRanking |
DB 直连(RSC) | 已接入 |
/lovart/pricing |
模型、教程、精选样例 | DB 直连(RSC) | 已接入 |
/lovart/news |
教程流 + 精选流 + 榜单 | DB 直连(RSC) | 已接入 |
/lovart/blog |
教程流 + 灵感墙 | DB 直连(RSC) | 已接入 |
/lovart/changelog |
教程更新 + 精选更新时间线 | DB 直连(RSC) | 已接入 |
/lovart* 公开访问 |
proxy.ts 放行 |
中间件路由白名单 | 已接入 |
/api/public/lovart?view=home |
首页聚合数据 | Public API | 已接入 |
/api/public/lovart?view=pricing |
定价页聚合数据 | Public API | 已接入 |
/api/public/lovart?view=news |
新闻页聚合数据 | Public API | 已接入 |
/api/public/lovart?view=blog |
博客页聚合数据 | Public API | 已接入 |
/api/public/lovart?view=changelog |
更新日志聚合数据 | Public API | 已接入 |
POST /api/billing/checkout |
Stripe Checkout 会话创建 | 登录用户触发支付 | 已接入 |
POST /api/billing/webhook/stripe |
Stripe 事件回调 | 更新用户套餐额度 | 已接入 |
新增查询与 API
- 查询函数(
lib/db/queries.ts)getPublicFeaturedImages(limit)getPublicFeaturedRanking(limit)getPublicChangelogEvents(limit)getTutorialVideos()(改为静态导入,减少运行时开销)
- 支付配置(
lib/billing/plans.ts)- 套餐定义、额度映射、Stripe Price ID 读取
- Stripe 工具(
lib/billing/stripe.ts)- Checkout Session 创建
- Webhook 签名校验
- 公开接口(
app/api/public/lovart/route.ts)GET /api/public/lovart?view=home|pricing|news|blog|changelog- 返回公共营销页所需聚合数据(含短缓存头)
- 计费接口
POST /api/billing/checkoutPOST /api/billing/webhook/stripe
页面层联动点
| 页面 | 联动项 | 说明 |
|---|---|---|
/lovart |
siteSettings.bannerEnabled/bannerText |
顶部公告条同步后台配置 |
/lovart |
siteSettings.rankingEnabled |
控制是否显示作者榜 |
/lovart |
siteSettings.tutorialEnabled |
控制是否展示教程区块 |
/lovart |
siteSettings.toolbox1Name/toolbox2Name + navLinks.toolboxGroup |
统计工具箱入口并展示在顶部指标条 |
/lovart/pricing |
模型/教程/精选数量 | 套餐文案与样例数量实时同步 |
/lovart/news |
视频更新时间 + 精选流 + 榜单 | 新闻头条和列表动态生成 |
暂未接入(后续)
| 项目 | 说明 | 后续动作 |
|---|---|---|
| 转化事件埋点 | 参考站有较重埋点(GTM/像素) | 接入统一埋点层,避免散落脚本 |
| 支付与订阅管理页 | 已接入 Stripe Checkout 与 Webhook | 增加用户中心“管理订阅/账单”入口 |
| 多语言内容 | 参考站多语言切换 | 增加 i18n 路由和文案资源 |
| 复杂交互动效 | 目前是首版时序动效 | 按参考页面做逐区块微交互调优 |
| 页面 AB 参数化 | 参考站含实验参数 | 结合后台配置做模块开关 |
风险与注意
- 当前公开页直接走服务端查询,性能可控;高并发建议在查询层增加缓存。
- 新增 Public API 仅输出营销页公共数据,不含私密用户字段。
- 若后续改成纯客户端渲染,可直接消费
/api/public/lovart,减少页面层重复聚合逻辑。
Stripe 接入说明(当前版本)
- 需要在环境变量中配置:
STRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETSTRIPE_PRICE_ID_BASICSTRIPE_PRICE_ID_PROSTRIPE_PRICE_ID_ULTIMATE
- Stripe Webhook 回调地址:
POST /api/billing/webhook/stripe
- 当前事件处理:
checkout.session.completedcustomer.subscription.updatedcustomer.subscription.deleted
- 订阅权益映射:
- 基于套餐写回
User.monthlyImageLimit。
- 基于套餐写回