当前位置: 首页 > article >正文

MBTI职业性格测试小程序

前两天看了一个贴子写职业性格的,于是心血来潮也想测一测。在百度上一搜,找到一个测试网站,然后一道一道答题,答完93道题之后,让我付费,瞬间想骂人。

越想越气,然后就搜索职业性格测试试题,果然有好朋友分享到网上,于是我就灵机一动花了半天时间写了个微信小程序。

数据模型来源于网络,是个人微信账号开发的,免费的,大家感兴趣可以测测看看,不是商业用途哈,仅用于学习哈

index.wxml:

<!--index.wxml-->
<view class="container"><view class="usermotto" wx:if="{{nowindex==0}}"><view bindtap="showHelp" class="title"><text style="color:red">(免费)</text>MBTI职业性格测试 <icon class="icon-box-img" type="info" size="26"></icon></view><view>迈尔斯-布里格斯类型指标</view><view style="line-height: 40rpx;font-size: 26rpx;color:cornflowerblue">世界五百强中,有 80% 的企业,使用 MBTI 性格测试。它是全球著名、权威与实用的职业性格测试工具之一。</view><view>共93题</view><button class="bgbt" bindtap="doNext">开始</button><view class="showlastresult" bindtap="showResult" wx:if="{{oldmbtiresult}}"  >查看上次测试结果</view></view><view wx:elif="{{nowindex<=93}}" ><view wx:if="nowinfo" class="testinfo"><view class="title"><text>{{nowindex}}.</text><text>{{nowinfo.content}}</text></view><view class="{{nowinfo.checkinfo[0]?'ra rselect':'ra'}}" data-ide='0' bindtap="doClick">A:{{nowinfo.result[0]}}</view><view class="{{nowinfo.checkinfo[1]?'ra rselect':'ra'}}"  data-ide='1'  bindtap="doClick">B:{{nowinfo.result[1]}}</view><view ><view wx:if="{{debug}}" class="table"><view class="col">E</view><view class="col">I</view><view class="col">S</view><view class="col">N</view><view class="col">T</view><view class="col">F</view><view class="col">J</view><view class="col">P</view><view wx:for="{{nowinfo.score[0]}}"  wx:for-index= "mindex" class="col bg{{mindex}}"><text class="se" wx:if="{{item==1}}">○</text><text class="se" wx:else></text></view><view wx:for="{{nowinfo.score[1]}}"  wx:for-index= "mindex" class="col bg{{mindex}}"><text class="se" wx:if="{{item==1}}">○</text><text class="se" wx:else></text></view></view></view></view><button type="primary" style="margin-top: 100rpx;font-size: 50rpx;" class="donext" bindtap="doNext" disabled="{{!(nowinfo.checkinfo[0]||nowinfo.checkinfo[1])}}"><text wx:if="nowindex<93">下一题</text><text wx:else>查看结果</text></button></view><view wx:else><view wx:if="{{oldmbtiresult}}"><view class="resultbig">您的测试结果为:{{oldmbtiresult.mbti}}</view><view class="table" wx:if="{{debug}}"><view class="col">E</view><view class="col">I</view><view class="col">S</view><view class="col">N</view><view class="col">T</view><view class="col">F</view><view class="col">J</view><view class="col">P</view><view wx:for="{{oldmbtiresult.mbtiscore}}" class="col" ><text class="seshow" >{{item}}</text></view></view><view><text class="result" decode="{{true}}"><text class="par" wx:for="{{mbtisource.resultlist[oldmbtiresult.mbtiindex].desc}}"><text class="title">{{item.title}}</text>{{item.content}}</text></text></view></view></view>
</view><view wx:if="{{oldmbtiresult&&nowindex>93}}" class="view-fix-bottom" ><view class="col2"><button class="btshare" open-type="share"  style="width: 90%;margin-right: 0;overflow: hidden;">分享</button></view><view class="col2" bindtap="doAgain"><button class="btagin"  style="width: 90%;margin-left:0;overflow: hidden;">再测一次</button></view></view><modal id="helpInfo" hidden="{{ishideHelp}}" title="指导语"confirm-text="关闭"   cancle-text="取消"bindcancel="closeHelp"  bindconfirm="closeHelp" ><scroll-view style="width:100%;height:{{height-180}}px;margin:0;" scroll-x='false' scroll-y='true'><view style="padding:0 30rpx;"><text class="result" decode="{{true}}">1、参加测试的人员请务必诚实、独立地回答问题,只有如此,才能得到有效的结果。\r\n 2、测试结果展示的是你的性格倾向,而不是你的知识、技能、经验。 \r\n3、MBTI提供的性格类型描述仅供测试者确定自己的性格类型之用,每一种性格特征都有其价值和优点,也有缺点和需要注意的地方。清楚地了解自己的性格优劣势,有利于更好地发挥自己的特长,而尽可能的在为人处事中避免自己性格中的劣势,更好地和他人相处,更好地作重要的决策。\r\n4、本测试分为四部分,共93题;需时约18分钟。所有题目没有对错之分,请根据自己的实际情况选择。\r\n只要你是认真、真实地填写了测试问卷,那么通常情况下你都能得到一个确实和你的性格相匹配的类型。\r\n5、本小程序免费使用,数据模型来源为互联网。本程序开发源于作者想做一次性格测试,结果网络上基本上都要收费,所以无奈之下自己开发一个。\r\n希望你能从中或多或少地获得一些有益的信息。</text></view></scroll-view></modal>

index.js:

// index.js
// 获取应用实例
const app = getApp()
var jsonsource=require("../../source/jsonsource")Page({data: {motto: 'Hello World',mbtisource:null,nowindex:0,debug:false,userreq:[],oldmbtiresult:null,nowinfo:null,height:600,ishideHelp:true},showHelp(){this.setData({ishideHelp:false})},closeHelp(){this.setData({ishideHelp:true})},onLoad() {this.initSource();var rt= wx.getStorageSync('oldmbtiresult');if(rt){this.setData({oldmbtiresult:rt});}wx.getSystemInfo({success: (res) => {this.setData({height: (res.windowHeight - 20)})}})},onShareAppMessage() {var _this=this;var title="快来测试一下你的职业性格吧!";if(_this.data.oldmbtiresult){title="我的职业性格是:【"+ _this.data.oldmbtiresult.mbti+"】,你也来测测吧!";}//console.log(title);return {title: title,path: '/pages/index/index', imageUrl:"/source/share.png",success: function(res){// 转发成功之后的回调if(res.errMsg == 'shareAppMessage:ok'){}},fail: function(){// 转发失败之后的回调if(res.errMsg == 'shareAppMessage:fail cancel'){// 用户取消转发}else if(res.errMsg == 'shareAppMessage:fail'){// 转发失败,其中 detail message 为详细失败信息}}}},onShareTimeline(){var _this=this;var title="快来测试一下你的职业性格吧!";if(_this.data.oldmbtiresult){title="我的职业性格是:【"+ _this.data.oldmbtiresult.mbti+"】,你也来测测吧!";}return {title: title,imageUrl:"/source/share.png",}},doAgain(){this.setData({nowindex:0}); },showResult(){this.setData({nowindex:94}); },initSource(){try{this.setData({mbtisource:jsonsource.mbtisource,nowindex:0}); }catch(err){console.log(err)}},doNext(){if(this.data.nowindex!=0&&this.data.nowindex<=93){var userreq=this.data.userreq;if(this.data.nowinfo["checkinfo"][0]){userreq.push(this.data.nowinfo["score"][0])}else if(this.data.nowinfo["checkinfo"][1]){userreq.push(this.data.nowinfo["score"][1])}}if(this.data.nowindex<93){var nowindex=(this.data.nowindex+1);var nowss=this.data.mbtisource.infolist[nowindex-1];var nowinfo=nowss;nowinfo["checkinfo"]=[false,false];this.setData({nowindex:nowindex,nowinfo:nowinfo});}else if(this.data.nowindex=93){var nowindex=(this.data.nowindex+1);this.setData({nowindex:nowindex,nowinfo:null});var cscore=[0,0,0,0,0,0,0,0];var mbti=["E","I","S","N","T","F","J","P"];var use=this.data.userreq;for(var i=0;i<use.length;i++){for(var j=0;j<cscore.length;j++){cscore[j]+=use[i][j];}}var result="";for(var i=0;i<4;i++){var a=i*2;var b=i*2+1;if(cscore[a]>cscore[b]){result+=mbti[a];}else{result+=mbti[b];}}var mbtiindex=0;for(var i=0;i<this.data.mbtisource.resultlist.length;i++){if(this.data.mbtisource.resultlist[i].name==result){mbtiindex=i;break;}}var userscore={mbtiscore:cscore,mbti:result,mbtiindex:mbtiindex};this.setData({oldmbtiresult:userscore});wx.setStorageSync('oldmbtiresult', userscore);//console.log(userscore);}//console.log(this.data.nowindex)},doClick(e){var ide=e.currentTarget.dataset.ide;if(ide==0){this.setData({"nowinfo.checkinfo":[true,false]})}else{this.setData({"nowinfo.checkinfo":[false,true]})}// console.log(this.data.nowinfo);}// getUserProfile(e) {//   // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗//   wx.getUserProfile({//     desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写//     success: (res) => {//       console.log(res)//       this.setData({//         userInfo: res.userInfo,//         hasUserInfo: true//       })//     }//   })// },// getUserInfo(e) {//   // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息//   console.log(e)//   this.setData({//     userInfo: e.detail.userInfo,//     hasUserInfo: true//   })// }
})

代码简单,希望对您有帮助!

声明:数据来源于网络,侵删!!!!

http://www.lryc.cn/news/2418180.html

相关文章:

  • spring-boot-starter-actuator访问/actuator/info报404错误
  • 《GhostXP_SP2电脑公司特别版_8.0》
  • win7 梦幻桌面下载地址
  • 【ComfyUI】爽玩必备!6大插件汇总推荐
  • python用于人工智能的例子,python人工智能有趣例子
  • Installshield2008教程
  • Linux和PHP 开发参考消息 php博文+Linux镜像+http服务器+存储技术+框架+视频+好书+通信...
  • Rootkit
  • 在 ubuntu10.04下 载 android源码 步骤
  • E购通的商城系统
  • nutch 【配置与运行】
  • iptables端口转发配置实现
  • 分享88个搜索链接PHP源码,总有一款适合你
  • SUSE Studio 的用户可以透过 SUSE Gallery 分享做好的 Linux appliance
  • Linux 准确延时
  • 魔域富甲天下mysql打不开_《魔域》魔域3.2无敌版之富甲天下心得
  • 属兔的人今日运势-360星座网_【十二生肖明日运势查询】12月11日
  • BEV感知:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
  • JAVA 异常Exception讲解
  • 一张图解释TCP和UDP有啥区别,太精辟了!
  • B 站出面回应源码泄露门事件!裁员报复还是反抗 996?
  • 区块链白皮书(2023年)
  • 【并发编程】--- interrupt、interrupted和isInterrupted使用详解
  • 需要了解下Android的Recovery模式
  • 世界上最难的视觉图_世界上最长的蛇有多长?四川惊现55米洪荒巨蟒(图)
  • 各种电子书格式及优缺点
  • 无限制版电驴搜索器(绿色版)
  • 塞尔达传说gba_3分钟快聊《塞尔达传说》全系列
  • 点子库
  • 古文中惊艳的句子,绝对有你想要的!