返回

零基础学习如何在Uni-App构建答题类小程序

前端

创建 Uni-App 小程序:打造你的答题类小程序

一、创建 Uni-App 小程序

  • 安装 Uni-App CLI: 在终端中运行 npm install -g @uni-app/cli
  • 创建新项目: 运行 uni-app init my-project,选择小程序模板。
  • 填写项目信息: 包括项目名称、、开发者等。
  • 打开项目: 在终端中导航到项目目录,然后运行 npm run dev

二、开发答题类小程序

1. 创建页面

  • src 目录下创建一个 pages 目录。
  • pages 目录下创建一个 index.vue 文件。

2. 编写 Vue 组件代码

index.vue 文件中添加以下代码:

<template>
  <view class="container">
    <view class="question">
      {{ question }}
    </view>
    <view class="answers">
      <view class="answer" v-for="answer in answers" :key="answer" @click="selectAnswer(answer)">
        {{ answer }}
      </view>
    </view>
    <view class="status">
      {{ status }}
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      question: '',
      answers: [],
      status: ''
    }
  },
  methods: {
    selectAnswer(answer) {
      if (answer === this.correctAnswer) {
        this.status = '正确'
      } else {
        this.status = '错误'
      }
    }
  },
  created() {
    this.getQuestion()
  },
  methods: {
    getQuestion() {
      // 从服务器获取题目
      this.question = '1 + 1 = ?'
      this.answers = ['2', '3', '4']
      this.correctAnswer = '2'
    }
  }
}
</script>

<style>
.container {
  padding: 20px;
}
.question {
  font-size: 24px;
  margin-bottom: 20px;
}
.answers {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}
.answer {
  padding: 10px;
  margin: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  cursor: pointer;
}
.status {
  font-size: 16px;
  margin-top: 20px;
}
</style>

三、踩坑经验分享

1. npm 报错

  • 确保已正确安装 npm。
  • 检查网络连接并尝试重新安装。
  • 尝试清除 npm 缓存(npm cache clean)。

2. 微信开发者工具报错

  • 确保已正确安装微信开发者工具。
  • 检查真机是否已连接到电脑。
  • 尝试重新启动微信开发者工具。

四、结语

答题类小程序是十分常见的类型。掌握如何开发答题类小程序将为你的小程序开发之旅奠定坚实基础。

常见问题解答

1. 我该如何获取问题?

  • 可通过 REST API 或 GraphQL 等接口从服务器获取问题。

2. 如何判断答案是否正确?

  • 比较用户选择的答案与预先存储的正确答案。

3. 我可以添加倒计时功能吗?

  • 使用 JavaScript 的 setTimeoutsetInterval 函数实现倒计时。

4. 我可以添加多个难度的题目吗?

  • 将题目难度作为数据项存储,并根据难度显示不同的题目。

5. 我可以添加排行榜功能吗?

  • 使用云数据库存储用户分数,并根据分数创建排行榜。