SBTI人格测试小程序

📋 项目信息

  • 状态:已上线 ✅,推广中(目标:500 UV 开通流量主)
  • 开始日期:2026-04-22
  • 截止日期:2026-05-22(30天上线目标)
  • 优先级:高
  • 所属微信小程序矩阵

🎯 目标

  • 30天内上线第一个小程序(SBTI人格测试)
  • 核心链路:首页 → 答题 → 出结果 → 生成分享图
  • 变现:激励视频 + Banner 广告(微信流量主)

📁 代码仓库

  • Giteesbti-miniprogram(私有)
  • 本地路径~/codes/sbti-miniprogram/
  • 技术栈:原生微信小程序(不使用云开发)

📄 关键文档(在仓库 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 声明
    • 代码优化:_exportCanvascanvasToTempFilePath 改为 toDataURL + 文件系统写入,绕开 iOS 真机兼容问题
    • 隐私协议补充相册权限用途说明
    • 代码已上传,待审核发布
  • 首页人格卡片详情弹窗
    • 点击16型人格卡片弹出底部弹窗,展示简介、核心优势、稀有度、代表人物
    • 弹窗带滑入动画,分组色系保持一致
  • 结果页增加人格解读
    • 新增人格简介卡片(description)
    • 新增核心优势 + 潜在短板(双栏标签展示)
    • 砍掉了维度分析条和代表人物(精简页面)

2026-05-02

  • 拉取远端最新代码(267424d:修复真机保存分享图权限误判,优化错误分类和非权限错误处理)
  • 代码审查 result.js,无严重 bug
  • 已知小问题:小程序码加载失败时静默导出缺码图片(建议加失败提示)
  • 状态:代码已最新,待提交审核发布

2026-05-05

  • 正式上线
  • 下一步:推广至 500 UV,开通微信流量主广告
  • 笔记状态更新为「已上线,推广中」

💡 决策记录

  • 技术栈:选原生微信小程序而非 uni-app,因为只需微信端,原生性能更好
  • 题库策略:自主创作而非直接用开源题库,原因:开源题库要么学术风格太干,要么有版权问题,要么维度体系不兼容
  • 题量:默认 28 题(标准版),预留 60 题(完整版),平衡准确度和完成率

💭 备注

  • 属于 Q2 副业计划,小程序矩阵的第一个产品
  • 破局第10期·AI小程序行动营项目