Component({
      properties: {
            // 题目对象
            question: {
                  type: Object,
                  value: {}
            },
            // 题目索引
            questionIndex: {
                  type: Number,
                  value: 0
            },
            // 用户答案数组（用于显示选中状态）
            answers: {
                  type: Array,
                  value: []
            },
            // 选项标记数组
            optionMarkers: {
                  type: Array,
                  value: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
            },
            // 是否显示答案解析
            showAnalysis: {
                  type: Boolean,
                  value: false
            },
            // 是否显示答案图标（正确/错误标记）
            showAnswerIcon: {
                  type: Boolean,
                  value: false
            },
            // 是否可点击选项
            clickable: {
                  type: Boolean,
                  value: true
            }
      },

      data: {
            // 组件内部数据
      },

      attached() {
            // 组件挂载时，检查数据

      },

      observers: {
            // 监听 question 属性变化
            'question': function(question) {
                  console.log('question-display 组件 question 属性变化:', question);
            }
      },

      methods: {
            // 选项点击事件
            onOptionClick(e) {
                  if (!this.data.clickable) {
                        return;
                  }
                  const index = e.currentTarget.dataset.index;
                  this.triggerEvent('optionclick', {
                        optionIndex: index,
                        questionIndex: this.data.questionIndex
                  });
            },

            // 题目容器内触摸：catch 阻止冒泡到问题面板；横向滑动时通知页面切换题目（因 swiper 收不到被 catch 的触摸）
            onQuestionTouchStart(e) {
                  if (e.touches && e.touches[0]) {
                        this._touchStartX = e.touches[0].clientX;
                        this._touchStartY = e.touches[0].clientY;
                        this._swipeHorizontalEmitted = false;
                  }
            },
            onQuestionTouchMove(e) {
                  if (this._swipeHorizontalEmitted || !e.touches || !e.touches[0]) return;
                  const dx = e.touches[0].clientX - this._touchStartX;
                  const dy = e.touches[0].clientY - this._touchStartY;
                  const threshold = 40;
                  if (Math.abs(dx) > threshold && Math.abs(dx) > Math.abs(dy)) {
                        this._swipeHorizontalEmitted = true;
                        this.triggerEvent('swipehorizontal', { direction: dx > 0 ? 'right' : 'left' });
                  }
            },
            onQuestionTouchEnd() {
                  this._swipeHorizontalEmitted = false;
            },
      },

});

