跳到主要内容

参观引导

按顺序走一遍,大约 10 分钟,每一步都对应一个模块。全程不需要任何第三方密钥。

这是一个本地演示环境

支付走本地演示收银台:它不会真的扣款,但会发出带真实 HMAC 签名的 webhook,经过与 Stripe 完全相同的验签 → 归一化 → 履约内核。差别只在「谁发起这笔支付」。

演示账号

密码是公开的 —— 它们只用于演示环境

admin@example.com/admin1234管理员,能进后台
demo@example.com/demo1234普通用户

没有这些账号?跑一次 pnpm demo:seed 就有了(幂等,重复跑不会产生重复数据)。

  1. 1
    看定价与计划

    价格来自 config/plans.ts —— 定价页与后端校验读同一份配置,不会出现「页面显示一个价、扣款另一个价」。

  2. 2
    注册并验证邮箱

    未配置邮件通道:验证邮件会打印到运行服务的终端里,链接可以直接点。

  3. 3
    打开一篇订阅者专享的文章

    未订阅时只能看到标题与订阅引导 —— 正文(含 meta description)都不会下发。

  4. 4
    订阅一个付费计划

    会打开本地演示收银台:点「模拟支付」会发出带真实 HMAC 签名的 webhook,走与 Stripe 逐行相同的履约链路。

  5. 5
    看积分变化

    订阅额度进「订阅桶」(周期重置),注册奖励进「永久桶」。账本是 append-only 的,每一笔都能追溯到来源。

  6. 6
    回到那篇文章发一条评论

    订阅后正文可见。首次发言会进待审队列 —— 这是四道反垃圾里的一道,不是报错。

  7. 7
    到后台审核它

    用管理员账号登录后可以在这里通过 / 标记垃圾 / 删除;通过后评论立刻在文章页对所有人可见。

  8. 8
    试试管理操作

    改角色、封禁、手动发积分。三类操作都会写进不可修改的审计日志 —— 包括「谁在什么时候改了谁」。

看不到后台?

没有管理员账号时,用一条命令把自己提上去

pnpm user:promote your@email.com

这是唯一能创建第一个管理员的途径(后台的「设为管理员」按钮本身要求是管理员)。命令行操作同样会写审计日志。

想看它有没有被改坏?

pnpm verify类型 + lint + 测试 + 构建
pnpm smoke --full在真实 HTTP 上跑完整链路(注册 → 订阅 → 付费墙 → 评论 → 后台)

更详细的走查脚本见仓库里的 docs/DEMO.md 。