欢迎光临
我们一直在努力

SBTI 人格测试源码分析:一个完整的纯前端心理测试项目(附源码)

SBTI 人格测试源码分析:一个完整的纯前端心理测试项目

项目来源:52IIS 在线工具箱作者整理开源
开源地址:https://github.com/52IIS/52IIS_Tools/tree/main/public/SBTI
52IIS部署:https://www.52iis.com/SBTI/index.html

最近看到一个有趣的开源项目 —— SBTI 人格测试。这是一个纯前端实现的互动式心理测试工具,包含完整的题库、多维度评分、人格匹配算法和结果展示。本文从技术角度分析这个项目的代码结构、核心逻辑和可学习之处。

一、项目概述

这是一个静态 HTML/CSS/JS 项目,无需后端、无需数据库,部署在任何 Web 服务器上即可运行。项目实现了:

  • 多题互动测试界面
  • 15 维度评分体系
  • 基于模式匹配的人格类型判定
  • 条件触发(如饮酒倾向检测)
  • 详细的维度解读和结果展示

二、技术栈

部分技术选型说明
结构 HTML5 语义化标签
样式 CSS3 原生 CSS,无框架
交互 原生 JavaScript 无依赖,体积小
部署 静态托管 GitHub Pages / Vercel 等均可

三、核心代码结构

1. 数据层:题库与维度定义

// 维度元数据
const dimensionMeta = {
S1: { name: 'S1 自尊自信', model: '自我模型' },
S2: { name: 'S2 自我清晰度', model: '自我模型' },
// … 共 15 个维度
};

// 题目结构
const questions = [
{
id: 'q1',
dim: 'S1', // 关联维度
text: '题目内容…',
options: [
{ label: '选项A', value: 1 },
{ label: '选项B', value: 2 },
{ label: '选项C', value: 3 }
]
}
];

2. 逻辑层:评分与人格匹配

// 分数转等级
function sumToLevel(score) {
if (score <= 3) return 'L';
if (score === 4) return 'M';
return 'H';
}

// 人格模式匹配(基于 15 维向量)
const TYPE_LIBRARY = {
"CTRL": { code: "CTRL", cn: "拿捏者", desc: "…" },
// … 共 28 种人格
};

// 计算用户向量与各人格的距离,取最近匹配

3. 视图层:动态渲染

renderQuestions():动态生成题目列表

renderResult():展示测试结果、维度评分

支持图片展示(人格结果图)

4. 特殊逻辑:条件触发

// 饮酒相关问题触发隐藏人格
if (app.answers['drink_gate_q2'] === 2) {
finalType = TYPE_LIBRARY.DRUNK; // 酒鬼人格
}

四、项目亮点

完全前端化
不需要后端,降低了部署和维护成本。

可配置的数据结构
题库、维度、人格库都是纯 JS 对象,便于修改和扩展。

向量匹配算法
将 15 维的 L/M/H 等级转化为数值向量,通过距离计算找到最匹配人格。

条件分支
支持题目之间的依赖关系(如饮酒问题触发隐藏结果)。

响应式设计
CSS 适配移动端和桌面端。

五、本地运行与二次开发

# 克隆项目
git clone https://github.com/52IIS/52IIS_Tools.git

# 进入目录
cd 52IIS_Tools/public/SBTI

# 用任意静态服务器运行(如 VS Code Live Server)

可以修改的内容:

题库文案(questions 数组)

人格类型与描述(TYPE_LIBRARY)

维度解读(DIM_EXPLANATIONS)

样式(CSS 变量在 :root 中)

六、适合的学习场景

前端初学者:学习原生 JS 操作 DOM、事件监听、动态渲染

想做互动测试工具的人:参考题库结构和结果匹配逻辑

静态页面爱好者:了解如何做一个完整的多页面交互应用

七、开源信息

原作者:B站 @蛆肉肉串儿(UID417038183)

整理开源:52IIS 在线工具箱作者

开源协议:宽松协议,可学习修改

开源地址:https://github.com/52IIS/52IIS_Tools/tree/main/public/SBTI

如果觉得这个项目对你有帮助,可以 Star 支持一下原作者。

赞(0)
未经允许不得转载:171主机测评 » SBTI 人格测试源码分析:一个完整的纯前端心理测试项目(附源码)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址