首页 > 编程语言 >微信小程序---趣味心理测试

微信小程序---趣味心理测试

时间:2024-09-10 20:20:13浏览次数:3  
标签:flex color 微信 value --- 240 background text 趣味

        

Wxml:
<view class="a">
   <image src="/pages/image/1.png" mode=""/>
   <text class="text">趣味心理测试</text>
   <button class="button" bind:tap="ceshi">开始测试</button>
</view>


Js:
    ceshi:function(){
     wx.navigateTo({
       url: '/pages/quiz/quiz',
     })
    },

Wxss:
page{
   background-color: rgb(240, 240, 240);
}
.a{
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border-radius: 3%;
  margin: 50px 20px;
  padding-bottom: 30px;
}
.text{
  margin: 30px 0;
  font-size: 25px;
  font-weight:540;
}
.button{
  font-weight: 540;
  background-color: #F8CE3A;
  width: 200px;
}

Wxtml:
<form class="form" bindsubmit="submitForm">
<view class="a" wx:for="{{qBank}}" wx:key="id" wx:for-item="oneQuiz" >
    <!-- 4-1 题目编号区域 -->
    <view class="b">
    <view class="kg"> </view>
    <text>第{{index+1}}题</text>
    </view>
    <!-- 4-2 题干(问题描述) -->
    <text class="t"> {{oneQuiz.question}} </text>
    <!-- 4-3 单选题选项 -->
    <radio-group class="c" name="quiz{{index+1}}">
      <radio class="d" color="#F8CE3A" wx:for="{{oneQuiz.options}}" wx:key="value" value="{{item.value}}"> {{item.text}}
      </radio>
    </radio-group>
</view>
<button class="button" form-type="submit">查看解析</button>
</form>
<view class="dd"></view>

Js:
    data: {

    },

   submitForm: function(e) {
    console.log('表单数据:', e.detail.value);
    // 获得表单选项值
    const selectedOptions = e.detail.value;
    // 检查是否全部做完(示例代码,根据需要实现)

    // 构建结果数据数组
    let rs = [];
    this.data.qBank.forEach((quiz, index) => {
      const selectedOption = selectedOptions['quiz' + (index + 1)];
      const analysis = quiz.analysis[selectedOption];
      rs.push({ question: quiz.question, option: selectedOption, analysis: analysis });
    });

    // 传递参数rs给结果页使用
    wx.reLaunch({
      url: '../result/result?rs=' + encodeURIComponent(JSON.stringify(rs))
    });
  },

Wxss:
/* pages/quiz/quiz.wxss */
page{
  background-color: rgb(240, 240, 240);
}
.a{
  display: flex;
  flex-direction: column;
  margin: 20px;
  background-color: #fff;
  padding: 12px;
  border-radius: 5%;
}
.kg{
  background-color: #F8CE3A;
  width: 10px;
  height: 27px;
  margin-right: 5px;
  margin-bottom: 4px;
}
.b{
  display: flex;
  flex-direction: row;
  align-items: center;
}
.t{
  line-height: 1.8;
}
.c{
  display: flex;
  flex-direction: column;
}
.d{
  margin: 5px 0;
}

.button{
  font-weight: 540;
  background-color: #F8CE3A;
  width: 200px;
  margin-bottom: 10px;
}
.dd{
  height: 20px;
}

Wxml:
<!--pages/result/result.wxml-->
<view class="a">
  <view class="b" wx:for="{{results}}" wx:key="id">
    <text class="t">{{index + 1}}:{{item.question}}</text>
    <text class="t">{{item.analysis}}</text>
  </view>
</view>
<button class="button" bindtap="goToHome" >返回首页</button>

Js:
    data: {
    
    },

    goToHome:function(){
      wx.navigateTo({
        url: '/pages/index/index',
      })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function(options) {
      const app = getApp(); // 获取全局应用程序实例
      const rs = JSON.parse(decodeURIComponent(options.rs));
      this.setData({
        results: rs
      });
    },

Wxss:
/* pages/result/result.wxss */
page{
  background-color: rgb(240, 240, 240);
}
.b{
  margin: 10px;
  display: flex;
  flex-direction: column;
  margin: 20px;
  background-color: #fff;
  padding: 12px;
  border-radius: 5%;
}
.t{
  line-height: 1.8;
}
.button{
  font-weight: 540;
  background-color: #F8CE3A;
  width: 250px;
}
Utils/tool.js

    const xzt=[
      {
        id:1,
        question:'想象自己正处在一片大森林中,看到面前有一座很旧的小屋。请问这个小屋的门现在是什么状态?',
        options: [
          { value: 'A', text: '开着' },
          { value: 'B', text: '关着' }
        ],
        analysis: {
        'A':'门是开着的:你一个愿意与别人分享的人。',
        'B':'门是关着的:你是一个愿意把事情埋在心底的人。'
        } 
      },
      {
        id:2,
        question:'你走进屋子看到一张桌子,这个桌子的形状是怎样的?',
        options: [
          { value: 'A', text: '圆形/椭圆形' },
          { value: 'B', text: '正方形/长方形' },
          { value: 'C', text: '三角形' }
        ],
        analysis: {
        'A':'圆形/椭圆形:你是个很好的倾听者和调解者。',
        'B':'正方形/长方形:你在交朋友时有点挑剔。',
        'C':'三角形:你是个一旦决定了方向,就会坚定地追求。'
        }
      },
      {
        id:3,
        question:'桌子上有个花瓶,瓶子里的水有多少呢?',
        options: [
          { value: 'A', text: '空的' },
          { value: 'B', text: '满的' }
        ],
        analysis: {
        'A':'空的:对目前的生活不是满意。',
        'B':'满的:对目前的生活很满意。'
        }
      },
      {
        id:4,
        question:'瓶子的质地是?',
        options: [
          { value: 'A', text: '玻璃/泥土/陶瓷' },
          { value: 'B', text: '金属/塑料/木头' }
        ],
        analysis: {
        'A':'玻璃/泥土/陶瓷:你一个脆弱的人。',
        'B':'金属/塑料/木头:你是一个坚强的人。'
        }
      }
    ];

    module.exports = {
      xzt
    };

标签:flex,color,微信,value,---,240,background,text,趣味
From: https://blog.csdn.net/m0_58775546/article/details/142059950

相关文章

  • 怎么画实体关系图E-R?用这款在线绘图工具简单又好用!
    ER图(Entity-RelationshipDiagram,即实体-关系图)是一种用于数据库设计的图形化工具,用于描述现实世界的概念模型。它由PeterChen于1976年首次提出,现已成为数据库建模和系统分析设计中最常用的工具之一。ER图通过图形化的方式,直观地展示了数据库中的实体(Entity)、实体之间的......
  • 新手必看-Knife4j的常用注解
    前言    SpringBoot集成Knife4j可看另一篇文章:http://t.csdnimg.cn/bmPhjKnife4j常用注解1,@Tag   添加在controller类上,可以指定该controller模块的名称。knife4j默认根据字母排序,加上序号后会根据序号排序。@Tag(name="管理后台-01.登录校验",descri......
  • java----双列集合(Map)
    来看一下双列集合。我们知道,单列集合就是一次只能添加一个元素:单列集合: 双列集合一次可以存储两个值:一、双列集合特点:    1.双列集合一次需要存一对数据,分别为键和值    2.键不能重复,值可以重复    3.键和值是一一对应的,每个键只能找到......
  • Springboot车源后台管理系统f227y--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着汽车市场的蓬勃发展,车源信息的有效管理和高效利用成为汽车经销商、租赁公司、电商平台等企业的核心需求。为了提升车源信息的整合......
  • Springboot宠物救助管理系统56185--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景与意义随着宠物数量的不断增加,流浪动物及需救助宠物的问题日益凸显。传统的宠物救助方式往往受限于信息不对称、救助资源分散等问题,难......
  • Windows远程桌面授权远程代码执行漏洞CVE-2024-38077(POC、EXP)
    目录漏洞描述关键信息漏洞影响漏洞危害等级影响范围漏洞解决方案临时缓解方案升级修复方案POCEXP使用参考漏洞描述CVE-2024-38077是Windows远程桌面授权服务(RDL)中的一个堆溢出漏洞。该漏洞在解码用户输入的许可密钥包时,未正确验证解码后的数据长度与缓冲区......
  • device-mapper-persistent-data
    device-mapper-persistent-data是一个Linux内核模块,它是DeviceMapper的一部分,用于支持持久化数据设备。DeviceMapper是Linux内核的一个子系统,它提供了灵活的卷管理功能。device-mapper-persistent-data模块特别用于支持LVM(逻辑卷管理)的持久化数据设备。以下是device......
  • CSP2024-18
    A题意:给出两个\(n\timesm\)的矩阵\(A,B\),一次操作可以使\(A\)或\(B\)的一行/列加一。求使\(A,B\)相等的最小操作次数。数据范围:\(n,m\le10^5,n\timesm\le10^5\)。令\(X=A-B\),则题目转化为每次可以使一行/列加减一,求使得\(X\)全零的最小操作数。设......
  • c语言--力扣简单题目(删除排序链表中的重复元素)讲解
    题目如下:给定一个已排序的链表的头head,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:head=[1,1,2,3,3]输出:[1,2,3]提示:链表中节点数目在范围[0,300]内-100<=Node.val<=100题目数据保......
  • Baichuan-13B 大模型的网络带货博客​
    Baichuan-13B是由百川智能继Baichuan-7B之后开发的包含130亿参数的开源可商用的大规模语言模型,在权威的中文和英文benchmark上均取得同尺寸最好的效果。本次发布包含有预训练(Baichuan-13B-Base)和对齐(Baichuan-13B-Chat)两个版本。Baichuan-13B有如下几个特点:更大尺寸......