|
|
@@ -2,6 +2,7 @@
|
|
|
<view class="content">
|
|
|
<view :style="{ paddingTop: statusBarHeight + 'px' }">
|
|
|
<view class="pdy-60 pdx-28 mgt-100 radio-20 bg-white w border-0_1 box">
|
|
|
+ <template v-if="!finishStatus">
|
|
|
<view class="title mgb-50" >
|
|
|
{{ curIndex + 1 }}、{{ QList[curIndex].title }}
|
|
|
</view>
|
|
|
@@ -10,7 +11,11 @@
|
|
|
<view class="">{{ key }}、</view>
|
|
|
<view class="">{{ a }}</view>
|
|
|
</view>
|
|
|
- <view class="next_btn cursor" @click="nextFn">{{ curIndex == QList.length - 1 ? '显示结果' : '下一题'}}</view>
|
|
|
+ </template>
|
|
|
+ <view v-else>
|
|
|
+ {{ generatePersonality() }}
|
|
|
+ </view>
|
|
|
+ <view class="next_btn cursor" @click="nextFn">{{ curIndex == QList.length - 1 ? '显示结果' : '下一题'}}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -20,6 +25,7 @@
|
|
|
import { ref, onMounted } from "vue";
|
|
|
import { onShow } from "@dcloudio/uni-app";
|
|
|
var statusBarHeight = uni.getStorageSync('statusBarHeight')
|
|
|
+const finishStatus = ref(false)
|
|
|
const QList = ref([
|
|
|
{ title:'你更喜欢哪种社交场合?',Alist:{'A':'大型会所','B':'小型会所','C':'与几位亲朋密友聚会','D':'独自一人'} },
|
|
|
{ title:'你在做决定时更倾向于?',Alist:{'A':'依靠逻辑和事实','B':'依靠直觉和感觉','C':'参考别人的意见','D':'随机应变'} },
|
|
|
@@ -27,7 +33,6 @@ const QList = ref([
|
|
|
{ title:'在团队中,你通常扮演什么角色?',Alist:{'A':'领导者','B':'执行者','C':'协调者','D':'创新者'} },
|
|
|
{ title:'你更喜欢哪种娱乐方式?',Alist:{'A':'阅读书籍','B':'参加派对','C':'看电影','D':'运动健身'} }
|
|
|
])
|
|
|
-
|
|
|
const curIndex = ref(0)
|
|
|
const curChoose = ref(null)
|
|
|
const chooseList = ref([]) // 选择的数组 AABCD
|
|
|
@@ -45,13 +50,94 @@ const nextFn = ()=>{
|
|
|
if(curIndex.value < QList.value.length - 1){
|
|
|
curIndex.value += 1
|
|
|
}else{
|
|
|
+ console.log('generatePersonality',generatePersonality())
|
|
|
+ finishStatus.value = true
|
|
|
// 完成答题
|
|
|
uni.showToast({
|
|
|
title:'提交成功!',
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
+ // 生成性格描述的方法
|
|
|
+const generatePersonality = () =>{
|
|
|
+ if (chooseList.value.length !== 5) return "请完成所有问题";
|
|
|
+
|
|
|
+ // 各维度得分计算
|
|
|
+ const dimensionScores = {
|
|
|
+ energy: 0, // 精力来源 (外向/内向)
|
|
|
+ decision: 0, // 决策方式 (理性/感性)
|
|
|
+ structure: 0, // 结构化程度
|
|
|
+ role: 0 // 团队角色倾向
|
|
|
+ };
|
|
|
+
|
|
|
+ // 第一题:社交倾向
|
|
|
+ if (chooseList.value[0] === 'A' || chooseList.value[0] === 'B') dimensionScores.energy += 2;
|
|
|
+ if (chooseList.value[0] === 'C') dimensionScores.energy += 1;
|
|
|
+
|
|
|
+ // 第二题:决策方式
|
|
|
+ if (chooseList.value[1] === 'A') dimensionScores.decision += 2;
|
|
|
+ if (chooseList.value[1] === 'B') dimensionScores.decision += 1;
|
|
|
+
|
|
|
+ // 第三题:结构化偏好
|
|
|
+ if (chooseList.value[2] === 'A') dimensionScores.structure += 2;
|
|
|
+ if (chooseList.value[2] === 'B' || chooseList.value[2] === 'D') dimensionScores.structure += 1;
|
|
|
+
|
|
|
+ // 第四题:团队角色
|
|
|
+ if (chooseList.value[3] === 'A' || chooseList.value[3] === 'D') dimensionScores.role += 2;
|
|
|
+ if (chooseList.value[3] === 'B') dimensionScores.role += 1;
|
|
|
+
|
|
|
+ // 第五题:社交补充
|
|
|
+ if (chooseList.value[4] === 'B') dimensionScores.energy += 2;
|
|
|
+ if (chooseList.value[4] === 'D') dimensionScores.energy += 1;
|
|
|
+
|
|
|
+ // 性格类型判断
|
|
|
+ const energyType = dimensionScores.energy >= 3 ? "E" : "I"; // 外向/内向
|
|
|
+ const decisionType = dimensionScores.decision >= 2 ? "T" : "F"; // 理性/感性
|
|
|
+
|
|
|
+ // 性格特征描述
|
|
|
+ const personalities = {
|
|
|
+ // 外向型组合
|
|
|
+ "ET": {
|
|
|
+ name: "开拓型领袖",
|
|
|
+ desc: "你是个充满活力的决策者!善于社交并理性分析问题,天生的领导者,擅长在大型社交场合中主导方向,偏好结构化的工作环境"
|
|
|
+ },
|
|
|
+ "EF": {
|
|
|
+ name: "魅力型协调者",
|
|
|
+ desc: "你是个热情洋溢的沟通专家!善于在社交中感知他人情绪,喜欢团队合作,在灵活的环境中能发挥创造力,是优秀的协调者"
|
|
|
+ },
|
|
|
+ // 内向型组合
|
|
|
+ "IT": {
|
|
|
+ name: "分析型专家",
|
|
|
+ desc: "你是个专注的思考者!偏好深度工作与理性分析,在小范围社交中表现出色,适合需要精密思考的结构化工作环境"
|
|
|
+ },
|
|
|
+ "IF": {
|
|
|
+ name: "关怀型创造者",
|
|
|
+ desc: "你是个富有洞察力的创造者!重视内心感受和亲密关系,在自由环境中灵感迸发,常扮演团队中的创新者角色"
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ // 添加特质修饰词
|
|
|
+ const traits = [];
|
|
|
+ if (dimensionScores.structure >= 2) traits.push("有条理");
|
|
|
+ if (chooseList.value[3] === 'C') traits.push("善于调解");
|
|
|
+ if (chooseList.value[1] === 'D') traits.push("灵活应变");
|
|
|
+ if (chooseList.value[4] === 'A') traits.push("思想深刻");
|
|
|
+
|
|
|
+ const personalityKey = energyType + decisionType;
|
|
|
+ const result = personalities[personalityKey] || {
|
|
|
+ name: "平衡型人才",
|
|
|
+ desc: "你具有适应多种环境的优秀能力!能在不同情境中灵活调整自己的行为模式"
|
|
|
+ };
|
|
|
+
|
|
|
+ // 构建最终描述
|
|
|
+ let finalDesc = `${result.name}:${result.desc}`;
|
|
|
+ if (traits.length > 0) {
|
|
|
+ finalDesc += `,特别具有${traits.join('、')}的特质`;
|
|
|
+ }
|
|
|
+
|
|
|
+ return finalDesc;
|
|
|
+}
|
|
|
+
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|