一块钱的“七宗罪测试”,我扒完源码后沉默了

一个连后端都没有的纯前端页面,被包装成“心理测评产品”,在小红书上卖一块钱,甚至二十块。作为站长,我决定把它拆开看看。


事情是这样的。

前几天在群里看到有人发了个链接,标题叫「七宗罪测试」,说是小红书上有卖,一块钱一个,还有卖二十的。

我当时的第一反应是:一块钱?这能买到什么?

第二反应是:*等等,这玩意儿该不会是 `.pages.dev` 吧?**

点开一看,果然是。

cloudflarepages 部署,*.pages.dev 域名,纯静态 HTML。页面做得还挺像那么回事——暗黑哥特风,七宗罪轮盘,罪德对照版,雷达图,触发矩阵,平衡建议,一应俱全。

然后我按了 Ctrl+U。


一、所谓“授权系统”,就是一个字符串比较

页面打开,先弹一个授权码输入框,文案写得挺正经:

“使用本测评需要激活授权码” “关注公众号后,授权码会自动发到公众号对话框;也可在小红书订单信息窗口获取”

看着像那么回事。有门槛感,有仪式感,有“付费产品”的体面。

然后我搜了一下源码里的 AUTH_CONFIG:

const AUTH_CONFIG = {
  code: "113324",
  officialUrl: "https://mp.weixin.qq.com/s/...",
  miniProgramName: "心奇屋测试",
  miniProgramQr: "./mp-qr.png"
};

授权码:113324。

明文,硬编码,就写在前端 JavaScript 里。没有加密,没有混淆,没有后端校验接口。

验证逻辑更是简洁得令人感动:

if (val !== String(AUTH_CONFIG.code).trim()) {
  err.textContent = "授权码错误,请重试";
  return;
}
closeAuthModal();
startTest();

翻译一下就是:

你输入的字符串,跟我写死的这个字符串,相等吗? 相等就进去,不相等就重试。

这就是全部了。

没有数据库,没有 API,没有服务端。所谓“授权码”,本质上就是一个前端字符串比较。

任何人,只要打开 F12,搜一下 AUTH_CONFIG,就能看到 113324。或者更直接一点,右键查看网页源代码,Ctrl+F 搜 code,也能看到。

再或者,把 HTML 保存下来,把 code 改成 1,本地打开,照样能测。

这就是它全部的“技术壁垒”。


二、成本核算:一杯奶茶都不到,利润率接近无限

我们来算一笔账。

项目 成本
HTML 模板 0 元(自己写,或者网上抄一份)
Cloudflare Pages 托管 0 元(免费套餐,全球 CDN)
*.pages.dev 域名 0 元(Cloudflare 免费送子域)
授权码系统 0 元(前端字符串比较)
后端服务器 不存在
数据库 不存在
运维成本 不存在
合计 ≈ 0 元

然后卖多少钱呢?

小红书上,有人卖 1 块,有人卖 9.9,还有人卖 19.9,甚至有卖 20 的。

利润率:无限大。

因为分母是零。


三、真正赚钱的不是链接,是引流

如果你以为卖链接是它的商业模式,那你就想简单了。

我把整个页面的跳转链路扒了一遍:

小红书笔记 → 卖「七宗罪测试链接」
    ↓
用户花 1 块 / 9.9 / 19.9 买到 *.pages.dev 链接
    ↓
打开 → 弹授权码输入框
    ↓
「关注公众号后,授权码会自动发到公众号对话框」
「也可在小红书订单信息窗口获取」
    ↓
用户去关注公众号 / 回小红书看订单
    ↓
(公众号涨粉 / 小红书店铺成交)
    ↓
测完 → 「免费获取更多测试」
    ↓
弹小程序码 → 导到微信小程序「心奇屋测试」
    ↓
小程序里继续转化

看懂了吗?

卖链接只是钩子。

真正的资产,是公众号粉丝,是小红书店铺成交,是小程序用户。

页面里到处都是引流入口:

  • 授权弹窗里的「去公众号领取授权码」
  • 首页的「免费获取更多测试」
  • 结果页底部的「免费获取更多测试」
  • 小程序弹窗里的二维码和「复制小程序名称」

一个测试页面,被你做成了三层引流漏斗。

这已经不是“卖测试”了,这是用测试当诱饵,做私域引流。


四、技术层面:确实“连个后端都没”

我把整个 HTML 从头到尾看了一遍。

  • 纯静态 HTML + CSS + JS
  • 计分逻辑全在前端(calculateBasic / calculateVs)
  • 历史记录用 localStorage
  • 报告生成纯 DOM 操作
  • 没有 fetch,没有 XMLHttpRequest,没有 API 调用
  • 没有数据库,没有服务端,没有用户系统

它就是一个单文件 HTML。

部署到 Cloudflare Pages,拖一个文件夹上去,或者连个 Git 仓库,三十秒搞定。

免费、全球 CDN、自带 *.pages.dev 域名。

甚至 mp-qr.png 这个小程序码图片,也是直接放在同一个目录下,跟 HTML 一起部署的。你打开 你的域名/mp-qr.png,就能直接把小程序码下载下来。

连图片防盗链都没做。


五、更“典”的细节

我继续往下看,越看越觉得有意思。

1. 结果页的“保存结果报告”

<button class="primary-btn" type="button" onclick="window.print()">保存结果报告</button>

所谓“保存结果报告”,就是调用浏览器的打印功能。

2. 历史记录存 localStorage

const HISTORY_KEY = "seven_sins_dual_mode_history_v1";

清个缓存就没了。但卖家不在乎,因为这不是核心资产。

3. 加载动画的“仪式感”

const loadingPhasesBasic = [
  { at: 0, percent: 18, step: 0, title: "正在整理<span>作答线索</span>", ... },
  { at: 650, percent: 45, step: 1, title: "正在点亮<span>七重印记</span>", ... },
  { at: 1320, percent: 73, step: 2, title: "正在校准<span>触发矩阵</span>", ... },
  { at: 1980, percent: 94, step: 3, title: "正在生成<span>完整报告</span>", ... }
];

四段式加载动画,每段都有标题、副标题、进度条、步骤状态。

看起来很专业,实际上就是四个 setTimeout。

4. “解锁完整内容”的 gate 页面

测试做完,不直接出结果,先给你看一个“报告已生成”的页面:

“完整报告包含倾向指数、结构图谱、触发矩阵与平衡建议。当前页面不会提前展示真实分数。”

然后下面三个 LOCKED:

  • 主导印记分析 LOCKED
  • 七重星盘图谱 LOCKED
  • 触发矩阵与建议 LOCKED

再下面一个按钮:「解锁完整内容」。

点一下,就出结果了。

没有付费,没有验证,没有二次授权。就是纯纯的仪式感。

5. 结果页的“罪德对照”

VS 版把七宗罪和七美德做成双轨雷达图,左边红色是罪,右边金色是德,中间一条虚线分开。

视觉上确实挺唬人的。

但计分逻辑呢?

sinScores[key] = clampScore(normalizeBand(sinRaw[key], sinCount[key], 1, 5));
virtueScores[key] = clampScore(normalizeBand(virtueRaw[key], virtueCount[key], 1, 5));

就是把 1-5 分的答案,线性映射到 0-100 分。

没了。


六、这玩意儿一眼 LLM 写的

作为站长,我写过的页面不算少。这个 HTML 一打开,我就有一种强烈的既视感。

太 LLM 了。

具体表现在哪?

1. 文案风格高度统一

每一段文案都是那种“既文艺又克制,既专业又温柔”的调调:

“探索内心的暗影,遇见更完整的自己” “光明与黑暗并非敌人,觉察与选择才是力量” “真正的平衡点,是让自信支撑行动,而不是被面子牵着走”

这种文案,人类写手也能写,但一个页面里几十处都保持同一水准、同一语气、同一节奏,就很像 LLM 批量生成的。

2. 结构极度工整

七个维度,每个维度都有:

  • name
  • en
  • mark
  • desc
  • high
  • low
  • keywords
  • advice(三条)

七美德也是,七宗罪也是。

这种对称性,是人类写手很难自然做到的。

人类写东西会有偏重,会有详略,会有“这个我多写点,那个我少写点”。但 LLM 不会,LLM 会给你均匀地铺满。

3. 建议文案的“正确的废话”感

比如:

“把证明自己改成完成事情。” “当你想立刻反驳时,先确认事实是否真的被误解。” “允许自己有普通、失误和不完美的时刻。”

每一条都对,每一条都温和,每一条都放在任何一个人身上都适用。

这就是 LLM 的典型特征:安全、正确、无害、但缺乏真正的针对性。

4. 题库的“情境化”套路

35 道题,每一道都是“情境 + 感受”的句式:

“当我做得不错时,我希望别人主动看见我的能力。” “得到一个目标后,我很快会想要下一个更大的目标。” “被冒犯后,我很难马上放下。”

这种题目,人类心理测量学者会做信效度检验,会做因子分析,会做项目区分度分析。

但 LLM 不会,LLM 只会根据维度名称,生成看起来合理的题目。

5. 代码结构的“AI 味”

const sinVirtuePair = {
  pride: "humility",
  greed: "charity",
  lust: "chastity",
  envy: "kindness",
  wrath: "patience",
  gluttony: "temperance",
  sloth: "diligence"
};

这种映射关系,工整、对称、一一对应。

const radarAxisOrder = [...sinRadarOrder, ...virtueRadarOrder];

罪侧七个,德侧七个,正好十四维。

太整齐了。整齐得不像人类随手写的。

6. 甚至还有“注释”

// 雷达轴顺序:左半七罪、右半七德
// 罪侧:色欲→嫉妒→暴怒→懒惰→贪婪→暴食→傲慢
// 德侧:贞洁→节制→慷慨→勤勉→耐心→仁爱→谦卑

这种注释,典型的 LLM 输出风格。

人类写代码,注释往往是“这里为什么要这样写”“这个坑踩过”,而不是“把上面的代码翻译一遍”。


七、所以,这东西值多少钱?

如果从技术成本来看:

0 元。

如果从内容成本来看:

一个 LLM 提示词,几分钟生成。

如果从部署成本来看:

Cloudflare Pages 免费套餐,0 元。

如果从引流价值来看:

一个公众号粉丝,一个潜在的小程序用户。

所以,它卖 1 块,是信息差。

卖 9.9,是包装费。

卖 19.9,是智商税。

卖 20,是欺负人不会按 F12。


八、作为站长,我想说几句

我不反对用 LLM 生成内容,也不反对用 Cloudflare Pages 免费部署,更不反对做私域引流。

我反对的是:把免费的东西包装成付费产品,把公开的技术包装成稀缺资源,把信息差当成护城河。

*.pages.dev 是免费的,Cloudflare 不欠你什么。

LLM 生成的文案和题库,是工具的产物,不是你的原创。

授权码 113324 写在前端,是技术上的偷懒,不是商业模式上的聪明。

真正让人不舒服的,不是它卖 1 块钱,而是它把“1 块钱”当成了一道筛子——筛掉那些不会按 F12 的人。


九、最后

如果你真的想做一个心理测评产品,我建议你:

  1. 把授权码放到后端,哪怕只是一个简单的 API
  2. 做真正的信效度检验,而不是让 LLM 生成 35 道题
  3. 尊重用户的智商,不要用 LOCKED 和 解锁完整内容 来制造虚假仪式感
  4. 把引流做得坦荡一点,不要用“授权码”当幌子

如果你只是想赚信息差的钱,那我也拦不住你。

但作为站长,我至少可以把这篇文章写出来。

*让下一个看到 `.pages.dev` 的人,知道它背后可能是什么。**


一块钱不贵,贵的是你以为自己买到了什么。

而实际上,你只是帮别人完成了一次公众号涨粉。

“一块钱的“七宗罪测试”,我扒完源码后沉默了”的2个回复

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注