SBTI人格测试小程序
📋 项目信息
- 状态:已上线 ✅,推广中(目标:500 UV 开通流量主)
- 开始日期:2026-04-22
- 截止日期:2026-05-22(30天上线目标)
- 优先级:高
- 所属:微信小程序矩阵
🎯 目标
- 30天内上线第一个小程序(SBTI人格测试)
- 核心链路:首页 → 答题 → 出结果 → 生成分享图
- 变现:激励视频 + Banner 广告(微信流量主)
📁 代码仓库
📄 关键文档(在仓库 docs/ 目录下)
docs/design-research.md — UI 设计调研报告(竞品分析 + 颜色方案 + 页面结构)
docs/question-research.md — 开源题库调研报告(6个项目对比 + 选型理由)
docs/db-design.md — 云开发数据库设计
🧩 项目结构
miniprogram/
├── pages/ # 4页面:home / quiz / result / profile
├── components/ # 3组件:progress-bar / option-card / dimension-bar
├── utils/ # questions.js(28题) / questions-v2.js(60题) / types.js / scoring.js
├── styles/ # theme.wxss(全局主题变量)
cloudfunctions/ # 3个云函数预留
🎨 设计规范
- 品牌主色
#6C5CE7(紫) + 辅色 #00B894(薄荷绿)
- 四色角色分组:分析师/外交家/守卫者/探险家
- 参考 16personalities 风格,卡片式设计
✅ 任务清单
- [x] 选题调研(SBTI人格测试)
- [x] UI 设计调研报告
- [x] 项目框架搭建(4页面 + 组件 + 工具类)
- [x] 28题场景化题库
- [x] 16型人格数据 + 计分逻辑
- [x] Canvas 分享图生成
- [x] 60题趣味化题库 v2
- [x] 开源题库调研
- [x] 静态检查 + bug 修复
- [x] 推送 Gitee 远程仓库
- [x] Mac 上微信开发者工具预览调试
- [ ] UI 打磨(动画、细节)
- [ ] 激励视频广告接入
- [ ] 云开发数据库搭建
- [ ] 小红书引流测试
- [ ] 提交审核上线
📝 进展记录
2026-04-26
- 砍掉云开发:不需要后端存储,小程序后台数据统计够用
- 砍掉 UI 打磨:先上线拿反馈再迭代
- 广告暂不接入:流量主要求 1000 累计用户,上线后再说
- 分享图小程序码:需上线发布后才能生成,先发布再补
- 开发者工具从测试号切换到正式 AppID(wxf62fe8d554b17949)
- 代码上传成功,提交审核
- 待办:审核通过 → 发布 → 生成小程序码 → 更新分享图
2026-04-25
- UI 打磨分析:梳理了 12 项优化空间(高/中/低三档优先级)
- 云开发准备完成:
- app.js 加入 wx.cloud.init()
- 新增 initStats 云函数(初始化16种类型统计记录,幂等可重复跑)
- submitResult 升级:存结果同时更新 sbti_stats 和 sbti_user_stats
- getResult 升级:返回排行榜和总人数
- getUserStats 修复测试次数统计逻辑
- 代码已推送 Gitee
- 下一步:Mac 上开通云开发环境 → 创建3个集合 → 部署4个云函数 → 运行 initStats
2026-04-24
- Mac 微信开发者工具导入项目,修复路径问题(miniprogram/ 子目录结构导致页面找不到)
- 修复所有页面跳转路径(统一加 miniprogram/ 前缀)
- 修复 quiz→result 跳转失败(tabBar 页面不能用 wx.redirectTo,改用 wx.reLaunch)
- 结果页添加「返回首页」按钮,优化用户闭环体验
- 代码已推送 Gitee,核心链路跑通:首页→答题28题→结果页→分享图→返回首页
2026-04-22
- 完成 UI 设计调研,确定四色分组系统 + 页面结构
- 完成项目开发:4页面 + 3组件 + 题库 + 计分逻辑 + 分享图
- 静态检查发现 4 个 bug(tabBar 导航 API 误用),已修复
- 完成 60 题趣味化题库 v2(自主创作,可商用)
- 调研 6 个开源 MBTI 项目,结论:自主创作为主,参考标准量表维度
2026-04-27
- 分享图重设计:深色底 + 上半分组渐变色分层布局
- 小程序码集成到分享图右下角(白底圆角,80×80)
- 修复分享图文字重叠、小程序码位置偏移等问题
- Canvas 导出逻辑抽成
_exportCanvas 公共方法
- 备案流程已到管局审核阶段
- 下一步:调研第二个小程序选题方向
2026-04-28
- 备案通过 ✅
- 另一台电脑提交了代码:4个页面添加 onShareAppMessage 启用转发分享功能
- 首页/个人中心/答题页:分享标题「SBTI 人格测试 — 你是什么人格?」
- 结果页:个性化分享「我是XX(ISFJ-A),你呢?」
- 代码已通过 CLI 上传到微信公众平台(v1.1.0,180.8KB)
- 待办:提交审核 → 审核通过 → 发布上线 → 生成小程序码 → 更新分享图
📝 进展记录
2026-05-04
- 保存分享图权限问题修复 ✅
- 根因:微信后台「用户隐私保护指引」未声明相册写入权限,线上版直接 banned(errno 1025)
- 修复:后台添加相册(仅写入)用途声明 + app.json 添加 permission 声明
- 代码优化:
_exportCanvas 从 canvasToTempFilePath 改为 toDataURL + 文件系统写入,绕开 iOS 真机兼容问题
- 隐私协议补充相册权限用途说明
- 代码已上传,待审核发布
- 首页人格卡片详情弹窗 ✅
- 点击16型人格卡片弹出底部弹窗,展示简介、核心优势、稀有度、代表人物
- 弹窗带滑入动画,分组色系保持一致
- 结果页增加人格解读 ✅
- 新增人格简介卡片(description)
- 新增核心优势 + 潜在短板(双栏标签展示)
- 砍掉了维度分析条和代表人物(精简页面)
2026-05-02
- 拉取远端最新代码(
267424d:修复真机保存分享图权限误判,优化错误分类和非权限错误处理)
- 代码审查 result.js,无严重 bug
- 已知小问题:小程序码加载失败时静默导出缺码图片(建议加失败提示)
- 状态:代码已最新,待提交审核发布
2026-05-05
- 正式上线 ✅
- 下一步:推广至 500 UV,开通微信流量主广告
- 笔记状态更新为「已上线,推广中」
💡 决策记录
- 技术栈:选原生微信小程序而非 uni-app,因为只需微信端,原生性能更好
- 题库策略:自主创作而非直接用开源题库,原因:开源题库要么学术风格太干,要么有版权问题,要么维度体系不兼容
- 题量:默认 28 题(标准版),预留 60 题(完整版),平衡准确度和完成率
💭 备注
- 属于 Q2 副业计划,小程序矩阵的第一个产品
- 破局第10期·AI小程序行动营项目