MBTI答题应用小程序
创始人
2024-12-26 07:43:02
0

源代码

calmthink/mbti小程序 (gitee.com)

实现方案

题目结构

 [  {      "options": [        {          "result": "I",          "value": "独自工作",          "key": "A"        },        {          "result": "E",          "value": "与他人合作",          "key": "B"        }      ],      "title": "你通常更喜欢"    },   ] 

答案结构

[ {      "resultProp": [        "I",        "S",        "T",        "J"      ],      "resultDesc": "忠诚可靠,被公认为务实,注重细节。",      "resultPicture": "icon_url_istj",//其他信息      "resultName": "ISTJ(物流师)"    }, ] 

评分算法

用户每道题都必须选择,不能为null
本地存储用户的结果列表 anserList = [‘A’,‘B’,‘C’,‘B’,‘B’]
初始化对象{},记录IETPJNS每个的分数
通过遍历结果数组获取最大的分数确定人格类型

/**    * 获取最佳题目评分结果    * @param answerList    * @param questions    * @param question_results    */      export function getBestQuestionResult(answerList, questions, question_results) {     // 初始化一个对象,用于存储每个选项的计数     const optionCount = {};      // 假设 answerList 和 questions 的长度相同且顺序对应     for (let i = 0; i < answerList.length; i++) {       const answer = answerList[i];       const question = questions[i]; // 直接从对应的问题中获取选项       for (const option of question.options)      {         if (option.key === answer) {           const result = option.result;           if (!optionCount[result]) {             optionCount[result] = 1;           } else {             optionCount[result]++;           }           break; // 找到匹配项后跳出循环,因为我们已经找到了答案         }       }     }      // 初始化最高分数和最高分数对应的评分结果     let maxScore = 0;     let maxScoreResult = null;      // 遍历评分结果列表     for (const result of question_results) {       const score = result.resultProp.reduce((count, prop) => {         return count + (optionCount[prop] || 0);       }, 0);          if (score > maxScore) {         maxScore = score;         maxScoreResult = result;       }     }      // 返回最高分数和最高分数对应的评分结果     return maxScoreResult;   } 

技术选型

  • React
  • Taro跨端框架
  • TaroUI组件库

配置eslint prettier

在webstorm中打开自动读取

在这里插入图片描述

新增页面组件

  1. 全局配置文件app.config.ts中新增页面路由
  2. 复制已有页面文件,创造出新的页面
  3. 根据自己的需求定制开发
  4. 简单实现页面跳转
 render () {       return (                    ()=>{             Taro.navigateTo({                 url:'/pages/index/index'             })           }}>             点击跳转                        )     }   } 

相关内容

热门资讯

重大通报,金花房卡如何购买西游... 西游联盟房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
IA解析/牛牛房卡官网皇豪互娱... 皇豪互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
正版授权!牛牛充值房卡超游联盟... 您好!微信超游联盟大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(超游联盟)大厅介绍:...
头条推荐!金花微信链接市场价格... 头条推荐!金花微信链接市场价格表九酷大厅/随意玩/房卡是在哪里买的九酷大厅/随意玩是一款非常受欢迎的...
科技实测!微信金花房卡怎么弄海... 微信游戏中心:海贝之城房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
正规平台有哪些,牛牛房卡制作链... 豌豆互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
正规平台有哪些,牛牛房卡代理海... 您好!微信海航大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(海航大厅)大厅介绍:...
我来教你/如何购买金花房卡神盾... 微信游戏中心:神盾大厅/新天道房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
我来教你/斗牛房卡充值新天道/... 今 日消息,新天道/皇豪互娱房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更...
玩家攻略,金花房卡批发价卡丁互... 玩家攻略,金花房卡批发价卡丁互娱/正规房卡找谁买卡丁互娱是一款非常受欢迎的游戏,咨询房/卡添加微信:...
IA解析/牛牛房卡游戏代理海米... 微信游戏中心:海米大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
玩家攻略,怎么买斗牛房卡朱雀大... 微信游戏中心:朱雀大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
推荐一款!牛牛房卡制作链接海星... 海星大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
头条推荐!金花房卡如何购买超游... 头条推荐!金花房卡如何购买超游联盟/房卡购买房间怎么开超游联盟是一款非常受欢迎的游戏,咨询房/卡添加...
我来教你/如何购买金花房卡老神... 微信游戏中心:老神兽/皇豪互众房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
正版授权!牛牛房卡出售海豚大厅... 正版授权!牛牛房卡出售海豚大厅/房卡购买房间怎么开Sa9Ix苹果iPhone 17手机即将进入量产阶...
重大通报,如何购买金花房卡龙马... 您好!微信龙马大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(龙马大厅)大厅介绍:...
科技实测!金花房卡官网烛龙大厅... 烛龙大厅/新道游房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
我来教你/金花微信链接市场价格... 我来教你/金花微信链接市场价格表天酷大厅/房卡在哪里购买天酷大厅是一款非常受欢迎的游戏,咨询房/卡添...
ia实测“金花房卡从哪里购买/... 皇豪互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来...