This commit is contained in:
Felix
2025-11-09 14:38:03 +08:00
parent da167a1336
commit 4debc59871
2 changed files with 21 additions and 410 deletions

View File

@@ -217,14 +217,16 @@
<view class="exam-sent-source">--摘自《{{item.source}}》</view>
</view>
</t-tab-panel>
<t-tab-panel label="相关单词" value="2">
<t-tab-panel label="相关" value="2">
<view wx:if="{{(wordDict.syno && wordDict.syno.synos && wordDict.syno.synos.length > 0) || (wordDict.relWord && wordDict.relWord.rels && wordDict.relWord.rels.length > 0) || (wordDict.discriminate && wordDict.discriminate.data && wordDict.discriminate.data.length > 0)}}">
<view class="syno" wx:if="{{wordDict.syno && wordDict.syno.synos && wordDict.syno.synos.length > 0}}">
<view class="syno-title">同义词</view>
<view class="syno-list" wx:for="{{wordDict.syno.synos}}" wx:key="index">
<view class="syno-pos">{{item.syno.pos}}</view>
<view class="syno-tran">{{item.syno.tran}}</view>
<view class="syno-item" wx:for="{{item.syno.ws}}" wx:key="w">{{item.w}}</view>
<view class="syno-pos">
<t-tag wx:if="{{item.syno.pos}}" variant="light" theme="primary">{{item.syno.pos}}</t-tag>
<view class="syno-tran">{{item.syno.tran}}</view>
</view>
<t-tag class="syno-item" wx:for="{{item.syno.ws}}" wx:key="w" variant="light">{{item.w}}</t-tag>
</view>
</view>
<view class="rel-word" wx:if="{{wordDict.relWord && wordDict.relWord.rels && wordDict.relWord.rels.length > 0}}">

View File

@@ -282,11 +282,7 @@
align-items: center;
}
.score-overview {
display: flex;
align-items: flex-start;
width: 100%;
}
.expanded .score-overview {
margin-bottom: 20rpx;
@@ -297,32 +293,10 @@
/* margin-bottom: 48rpx; */
}
.expanded .score-details {
width: 100%;
padding: 0 32rpx;
opacity: 1;
}
.score-details {
transition: all 0.3s ease-in-out;
opacity: 0.8;
transform: translateY(20rpx);
}
.total-score {
flex-shrink: 0;
}
.circle-progress {
position: relative;
}
.circle-canvas {
position: absolute;
width: 150rpx;
height: 150rpx;
top: 0;
left: 0;
}
.circle-progress {
width: 180rpx;
height: 180rpx;
@@ -335,6 +309,14 @@
position: relative;
}
.circle-canvas {
position: absolute;
width: 150rpx;
height: 150rpx;
top: 0;
left: 0;
}
.circle-progress::before {
content: '';
position: absolute;
@@ -402,14 +384,6 @@
color: #999;
}
.progress-bar {
flex: 1;
height: 6rpx;
background: #f0f0f0;
border-radius: 3rpx;
overflow: hidden;
}
.progress-fill {
height: 100%;
background: #001858;
@@ -554,354 +528,12 @@
text-align: right;
}
/* 弹窗整体样式 */
.word-popup {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: #fff;
border-top-left-radius: 12rpx;
border-top-right-radius: 12rpx;
box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.1);
padding: 0 20rpx;
box-sizing: border-box;
transition: all 0.3s ease;
z-index: 100;
overflow-y: scroll;
max-height: 100%;
}
.expanded {
height: 100vh;
}
/* 弹窗头部 */
.popup-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding-top: 20rpx;
position: relative;
}
.t-sticky {
position: sticky !important;
top: 0;
z-index: 2 !important;
}
.word-title {
font-size: 40rpx;
font-weight: bold;
}
/* 频率标签容器 */
.frequency-tags {
flex: 1;
display: flex;
flex-wrap: wrap;
gap: 12rpx;
min-height: 48rpx; /* 确保即使没有标签也有最小高度 */
}
/* 关闭按钮 */
.close-btn {
flex-shrink: 0;
margin-left: 20rpx;
}
.more-btn {
display: flex;
font-size: 30rpx;
}
/* 发音区域 */
.pronounce {
display: flex;
align-items: center;
flex-wrap: wrap;
margin-bottom: 20rpx;
}
.pron-item {
display: flex;
align-items: center;
margin-right: 20rpx;
font-size: 24rpx;
line-height: 30rpx;
}
.pron-item-text {
padding-right: 8rpx;
}
.sound-btn {
background: transparent;
border: none;
margin-left: 10rpx;
}
/* 基础词性释义 */
.word-meanings {
display: flex;
flex-direction: column;
margin-bottom: 20rpx;
font-size: 24rpx;
}
/* 扩展内容区域 */
.extended-content {
margin-top: 20rpx;
}
.tab-bar {
display: flex;
margin-bottom: 20rpx;
}
.tab {
padding: 10rpx 20rpx;
margin-right: 10rpx;
font-size: 28rpx;
}
.tab.active {
color: #007AFF;
border-bottom: 2rpx solid #007AFF;
}
.syllabus-title, .example-title {
font-weight: bold;
margin-bottom: 10rpx;
display: block;
}
.syllabus-stats {
display: flex;
justify-content: space-between;
margin-bottom: 10rpx;
}
.progress-item {
margin-bottom: 10rpx;
}
.progress {
height: 10rpx;
background: #eee;
margin-top: 10rpx;
}
.progress-bar {
background: #d3d0d0;
}
.example-sentence {
display: flex;
flex-direction: column;
}
/* 真题例句样式 */
.exam-sents {
padding: 20rpx;
}
.exam-sent {
margin-bottom: 30rpx;
padding: 20rpx;
border: 1rpx solid #e0e0e0;
border-radius: 10rpx;
}
.exam-sent-en {
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 6rpx;
}
.exam-sent-zh {
font-size: 28rpx;
color: #999;
margin-bottom: 6rpx;
}
.exam-sent-source {
font-size: 24rpx;
color: #ccc;
text-align: right;
}
.no-exam-sents {
text-align: center;
font-size: 28rpx;
color: #999;
padding: 40rpx 0;
}
/* 同义词样式 */
.syno {
margin-bottom: 30rpx;
}
.syno-title {
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 20rpx;
}
.syno-list {
padding: 20rpx;
background: #f9f9f9;
border-radius: 10rpx;
margin-bottom: 20rpx;
}
.syno-pos {
font-size: 26rpx;
color: #666;
margin-bottom: 10rpx;
}
.syno-tran {
font-size: 28rpx;
color: #333;
margin-bottom: 15rpx;
}
.syno-item {
display: inline-block;
padding: 10rpx 20rpx;
background: #e3f2fd;
border-radius: 30rpx;
margin-right: 15rpx;
margin-bottom: 15rpx;
font-size: 26rpx;
color: #001858;
}
/* 相关单词样式 */
.rel-word {
margin-bottom: 30rpx;
}
.rel-word-title {
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 20rpx;
}
.rel-word-list {
padding: 20rpx;
background: #f9f9f9;
border-radius: 10rpx;
margin-bottom: 20rpx;
}
.rel-word-pos {
font-size: 26rpx;
color: #666;
margin-bottom: 10rpx;
}
.rel-word-item {
display: flex;
justify-content: space-between;
padding: 15rpx 0;
border-bottom: 1rpx solid #eee;
}
.rel-word-item:last-child {
border-bottom: none;
}
.rel-word-tran {
font-size: 28rpx;
color: #333;
flex: 1;
}
.rel-word-word {
font-size: 28rpx;
color: #001858;
font-weight: 500;
margin-left: 20rpx;
}
/* 区分单词样式 */
.discriminate {
margin-bottom: 30rpx;
}
.discriminate-title {
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 20rpx;
}
.discriminate-list {
padding: 20rpx;
background: #f9f9f9;
border-radius: 10rpx;
}
.discriminate-item {
display: flex;
justify-content: space-between;
padding: 15rpx 0;
border-bottom: 1rpx solid #eee;
}
.discriminate-item:last-child {
border-bottom: none;
}
.discriminate-tran {
font-size: 28rpx;
color: #333;
flex: 1;
}
.discriminate-headword {
font-size: 28rpx;
color: #001858;
font-weight: 500;
margin-left: 20rpx;
}
/* 无相关单词信息样式 */
.no-related-words {
padding: 40rpx 20rpx;
text-align: center;
}
.no-related-words-text {
font-size: 28rpx;
color: #999;
}
/* 底部按钮区域 */
.bottom-button-area {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
padding: 20rpx 0;
background: #ffffff;
border-top: 1rpx solid #e0e0e0;
}
.button-row {
display: flex;
justify-content: space-around;
align-items: center;
}
.bottom-button {
padding: 20rpx;
border-radius: 50%;
@@ -934,6 +566,7 @@
.dictionary-content {
margin-bottom: 20rpx;
font-size: 28rpx;
border-bottom: 1rpx solid #e0e0e0;
}
.dictionary-pos {
@@ -1070,13 +703,6 @@
background: #ffffff;
}
.score-details {
flex: 1;
display: flex;
flex-direction: column;
gap: 16rpx;
}
.score-item {
display: flex;
align-items: center;
@@ -1266,10 +892,6 @@
max-height: 100%;
}
.expanded {
height: 100vh;
}
/* 弹窗头部 */
.popup-header {
display: flex;
@@ -1387,10 +1009,6 @@
margin-top: 10rpx;
}
.progress-bar {
background: #d3d0d0;
}
.example-sentence {
display: flex;
flex-direction: column;
@@ -1404,20 +1022,18 @@
.exam-sent {
margin-bottom: 30rpx;
padding: 20rpx;
border: 1rpx solid #e0e0e0;
border-radius: 10rpx;
border-bottom: 1rpx solid #e0e0e0;
}
.exam-sent-en {
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 6rpx;
}
.exam-sent-zh {
font-size: 28rpx;
color: #999;
color: #909090;
margin-bottom: 6rpx;
}
@@ -1430,7 +1046,7 @@
.no-exam-sents {
text-align: center;
font-size: 28rpx;
color: #999;
color: #909090;
padding: 40rpx 0;
}
@@ -1443,13 +1059,12 @@
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 20rpx;
padding: 12rpx;
}
.syno-list {
padding: 20rpx;
background: #f9f9f9;
border-radius: 10rpx;
border-bottom: 1rpx solid #e0e0e0;
margin-bottom: 20rpx;
}
@@ -1467,13 +1082,7 @@
.syno-item {
display: inline-block;
padding: 10rpx 20rpx;
background: #e3f2fd;
border-radius: 30rpx;
margin-right: 15rpx;
margin-bottom: 15rpx;
font-size: 26rpx;
color: #001858;
}
/* 相关单词样式 */