This commit is contained in:
chenlisha02
2025-11-09 20:55:18 +08:00
3 changed files with 19 additions and 3 deletions

View File

@@ -106,6 +106,7 @@ interface IPageData {
transDisplayMode: 'en' | 'en_ipa' | 'en_zh' // 翻译显示模式
isScoreModalOpen: boolean // 评分结果弹窗是否打开
justSelectedByWord: boolean
isMoreMenuOpen: boolean // 更多菜单是否打开
}
type IPageMethods = {
@@ -137,6 +138,7 @@ type IPageMethods = {
getTransIconName: () => string
onPageScroll: (e: any) => void
processCollinsData: (collinsData: any) => any // Add this line
onMoreTap: () => void
}
interface IPageInstance extends IPageMethods {
@@ -213,7 +215,8 @@ Page<IPageData, IPageInstance>({
processedSentences: [], // 处理后的句子数据
transDisplayMode: 'en', // 默认显示模式为英文 only
isScoreModalOpen: false, // 评分结果弹窗是否打开
justSelectedByWord: false
justSelectedByWord: false,
isMoreMenuOpen: false // 更多菜单是否打开
},
// 切换评分区域展开状态
@@ -1447,5 +1450,12 @@ Page<IPageData, IPageInstance>({
});
return processedData;
},
onMoreTap() {
// 切换更多菜单的显示状态
this.setData({
isMoreMenuOpen: !this.data.isMoreMenuOpen
})
}
})

View File

@@ -31,13 +31,15 @@
</view>
<!-- 底部按钮区域 -->
<view class="bottom-button-area">
<view wx:if="{{isMoreMenuOpen}}" class="more-menu-modal"></view>
<view class="button-row">
<t-icon name="{{isPlaying ? 'pause' : 'play'}}" class="bottom-button" size="48rpx" bind:tap="playStandardVoice" />
<t-icon name="microphone-1" class="microphone bottom-button {{isRecording ? 'recording' : ''}}" size="48rpx" bind:longpress="handleRecordStart" bind:touchend="handleRecordEnd" bind:touchcancel="handleRecordEnd" />
<t-icon name="fact-check" class="bottom-button {{hasScoreInfo ? '' : 'disabled'}}" size="48rpx" bind:tap="onScoreTap" />
<view class="bottom-button-img-wrap bottom-button" bind:tap="onTransTap">
<image src="{{transDisplayMode === 'en_ipa' ? '/static/英.png' : transDisplayMode === 'en' ? '/static/文-中.png' : '/static/文.png'}}" style="width: 32rpx; height: 32rpx;" mode="aspectFit" />
</view>
<t-icon name="microphone-1" class="microphone bottom-button {{isRecording ? 'recording' : ''}}" size="48rpx" bind:longpress="handleRecordStart" bind:touchend="handleRecordEnd" bind:touchcancel="handleRecordEnd" />
<t-icon name="fact-check" class="bottom-button {{hasScoreInfo ? '' : 'disabled'}}" size="48rpx" bind:tap="onScoreTap" />
<t-icon name="ellipsis" class="bottom-button {{isMoreMenuOpen ? 'more-open' : ''}}" size="48rpx" bind:tap="onMoreTap" />
</view>
</view>
<!-- 评分结果弹窗 -->

View File

@@ -554,6 +554,10 @@
color: #333;
}
.bottom-button.more-open {
color: #0096fa;
}
.bottom-button-img-wrap {
width: 46rpx;
height: 46rpx;