<template>
							 | 
						|
								    <uv-popup mode="bottom" ref="meaningPopup" round="32rpx" bg-color="#FFFFFF" :overlay="true" safeAreaInsetBottom>
							 | 
						|
								        <view class="meaning-popup" v-if="currentWordMeaning">
							 | 
						|
								            <view class="meaning-header">
							 | 
						|
								                <view class="close-btn" @click="closeMeaningPopup">
							 | 
						|
								                    <text class="close-text">关闭</text>
							 | 
						|
								                </view>
							 | 
						|
								                <view class="meaning-title">释义</view>
							 | 
						|
								                <view style="width: 80rpx;"></view>
							 | 
						|
								            </view>
							 | 
						|
								
							 | 
						|
								            <scroll-view class="meaning-scroll-container" scroll-y="true" :show-scrollbar="false" :enhanced="true">
							 | 
						|
								                <view class="meaning-content">
							 | 
						|
								                    <image v-if="currentWordMeaning.image" class="meaning-image" :src="currentWordMeaning.image"
							 | 
						|
								                        mode="widthFix" />
							 | 
						|
								
							 | 
						|
								                    <view class="word-info">
							 | 
						|
								                        <view class="word-main">
							 | 
						|
								                            <text class="word-text">{{ currentWordMeaning.word }}</text>
							 | 
						|
								                        </view>
							 | 
						|
								                        <view class="phonetic-container">
							 | 
						|
								                            <uv-icon name="volume-fill" size="16" color="#007AFF" class="speaker-icon"
							 | 
						|
								                                @click="repeatWordAudio" v-if="currentWordMeaning.phonetic" />
							 | 
						|
								                            <text class="phonetic-text" v-if="currentWordMeaning.phonetic">{{ currentWordMeaning.phonetic }}</text>
							 | 
						|
								                        </view>
							 | 
						|
								                        <view class="word-meaning">
							 | 
						|
								                            <text class="part-of-speech" v-if="currentWordMeaning.partOfSpeech">{{ currentWordMeaning.partOfSpeech }}</text>
							 | 
						|
								                            <text class="meaning-text" v-if="currentWordMeaning.meaning">{{ currentWordMeaning.meaning }}</text>
							 | 
						|
								                        </view>
							 | 
						|
								                    </view>
							 | 
						|
								
							 | 
						|
								                    <view class="knowledge-gain" v-if="currentWordMeaning.knowledgeGain">
							 | 
						|
								                        <view class="knowledge-header">
							 | 
						|
								                            <image src="/static/knowledge-icon.png" class="knowledge-icon" mode="aspectFill" />
							 | 
						|
								                            <text class="knowledge-title">知识收获</text>
							 | 
						|
								                        </view>
							 | 
						|
								                        <text class="knowledge-content">{{ currentWordMeaning.knowledgeGain }}</text>
							 | 
						|
								                    </view>
							 | 
						|
								                </view>
							 | 
						|
								            </scroll-view>
							 | 
						|
								        </view>
							 | 
						|
								    </uv-popup>
							 | 
						|
								</template>
							 | 
						|
								
							 | 
						|
								<script>
							 | 
						|
								export default {
							 | 
						|
								    name: 'MeaningPopup',
							 | 
						|
								    props: {
							 | 
						|
								        currentWordMeaning: {
							 | 
						|
								            type: Object,
							 | 
						|
								            default: null
							 | 
						|
								        }
							 | 
						|
								    },
							 | 
						|
								    methods: {
							 | 
						|
								        open() {
							 | 
						|
								            if (this.$refs.meaningPopup) {
							 | 
						|
								                this.$refs.meaningPopup.open()
							 | 
						|
								            }
							 | 
						|
								        },
							 | 
						|
								        close() {
							 | 
						|
								            if (this.$refs.meaningPopup) {
							 | 
						|
								                this.$refs.meaningPopup.close()
							 | 
						|
								            }
							 | 
						|
								        },
							 | 
						|
								        closeMeaningPopup() {
							 | 
						|
								            this.$emit('close-meaning-popup')
							 | 
						|
								            this.close()
							 | 
						|
								        },
							 | 
						|
								        repeatWordAudio() {
							 | 
						|
								            this.$emit('repeat-word-audio')
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								</script>
							 | 
						|
								
							 | 
						|
								<style lang="scss" scoped>
							 | 
						|
								/* 释义弹窗样式 */
							 | 
						|
								.meaning-popup {
							 | 
						|
								    background-color: #FFFFFF;
							 | 
						|
								    overflow: hidden;
							 | 
						|
								    display: flex;
							 | 
						|
								    flex-direction: column;
							 | 
						|
								    max-height: 80vh;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.meaning-scroll-container {
							 | 
						|
								    flex: 1;
							 | 
						|
								    height: 60vh;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.meaning-header {
							 | 
						|
								    display: flex;
							 | 
						|
								    justify-content: space-between;
							 | 
						|
								    align-items: center;
							 | 
						|
								    padding: 32rpx;
							 | 
						|
								    border-bottom: 2rpx solid #EEEEEE;
							 | 
						|
								    flex-shrink: 0;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.close-btn {
							 | 
						|
								    width: 80rpx;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.close-text {
							 | 
						|
								    font-family: PingFang SC;
							 | 
						|
								    font-size: 32rpx;
							 | 
						|
								    color: #8b8b8b;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.meaning-title {
							 | 
						|
								    font-family: PingFang SC;
							 | 
						|
								    font-weight: 500;
							 | 
						|
								    font-size: 34rpx;
							 | 
						|
								    color: #181818;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.meaning-content {
							 | 
						|
								    padding: 32rpx;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.meaning-image {
							 | 
						|
								    width: 670rpx;
							 | 
						|
								    height: 268rpx;
							 | 
						|
								    border-radius: 24rpx;
							 | 
						|
								    margin-bottom: 32rpx;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.word-info {
							 | 
						|
								    margin-bottom: 32rpx;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.word-main {
							 | 
						|
								    display: flex;
							 | 
						|
								    align-items: center;
							 | 
						|
								    gap: 16rpx;
							 | 
						|
								    margin-bottom: 8rpx;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.word-text {
							 | 
						|
								    font-family: PingFang SC;
							 | 
						|
								    font-weight: 500;
							 | 
						|
								    font-size: 40rpx;
							 | 
						|
								    color: #181818;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.phonetic-container {
							 | 
						|
								    display: flex;
							 | 
						|
								    gap: 24rpx;
							 | 
						|
								    align-items: center;
							 | 
						|
								
							 | 
						|
								    .speaker-icon {
							 | 
						|
								        cursor: pointer;
							 | 
						|
								        transition: opacity 0.2s ease;
							 | 
						|
								        padding: 8rpx;
							 | 
						|
								        border-radius: 8rpx;
							 | 
						|
								
							 | 
						|
								        &:hover {
							 | 
						|
								            opacity: 0.7;
							 | 
						|
								            background-color: rgba(0, 122, 255, 0.1);
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    .phonetic-text {
							 | 
						|
								        font-family: PingFang SC;
							 | 
						|
								        font-size: 28rpx;
							 | 
						|
								        color: #262626;
							 | 
						|
								        margin-bottom: 16rpx;
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.word-meaning {
							 | 
						|
								    display: flex;
							 | 
						|
								    gap: 16rpx;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.part-of-speech {
							 | 
						|
								    font-family: PingFang SC;
							 | 
						|
								    font-size: 28rpx;
							 | 
						|
								    color: #262626;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.meaning-text {
							 | 
						|
								    font-family: PingFang SC;
							 | 
						|
								    font-size: 28rpx;
							 | 
						|
								    color: #181818;
							 | 
						|
								    flex: 1;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.knowledge-gain {
							 | 
						|
								    background: linear-gradient(180deg, #DEFFFF 0%, #FBFEFF 22.65%, #F0FBFF 100%);
							 | 
						|
								    border-radius: 24rpx;
							 | 
						|
								    padding: 32rpx 40rpx;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.knowledge-header {
							 | 
						|
								    display: flex;
							 | 
						|
								    align-items: center;
							 | 
						|
								    gap: 16rpx;
							 | 
						|
								    margin-bottom: 20rpx;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.knowledge-icon {
							 | 
						|
								    width: 48rpx;
							 | 
						|
								    height: 48rpx;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.knowledge-title {
							 | 
						|
								    font-family: PingFang SC;
							 | 
						|
								    font-weight: 600;
							 | 
						|
								    font-size: 30rpx;
							 | 
						|
								    color: #3B3D3D;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.knowledge-content {
							 | 
						|
								    font-family: PingFang SC;
							 | 
						|
								    font-size: 28rpx;
							 | 
						|
								    color: #4f4f4f;
							 | 
						|
								    line-height: 48rpx;
							 | 
						|
								}
							 | 
						|
								</style>
							 |