feat:生产初版页面

This commit is contained in:
R524809
2026-03-26 17:33:04 +08:00
parent 3aaf340781
commit dc5e057cb3
63 changed files with 2940 additions and 543 deletions
@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "我的收藏",
"navigationBarTextStyle": "black",
"navigationBarBackgroundColor": "#ffffff",
"backgroundColor": "#F6F6F6"
}
@@ -0,0 +1,88 @@
.favorites-page {
min-height: 100vh;
background: #f6f6f6;
}
.favorites-page__title {
padding: 32rpx 32rpx 24rpx;
font-size: 40rpx;
font-weight: 600;
color: #333;
background: #fff;
}
.favorites-page__tabs {
display: flex;
flex-direction: row;
background: #fff;
border-bottom: 1rpx solid #eee;
}
.favorites-page__tab {
flex: 1;
text-align: center;
padding: 24rpx 0;
font-size: 30rpx;
color: #666;
position: relative;
}
.favorites-page__tab--active {
color: #333;
font-weight: 600;
}
.favorites-page__tab--active::after {
content: '';
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
width: 48rpx;
height: 6rpx;
background: #f7ee47;
border-radius: 3rpx;
}
.favorites-page__empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 120rpx 48rpx 0;
}
.favorites-page__emoji {
font-size: 96rpx;
line-height: 1.2;
margin-bottom: 32rpx;
}
.favorites-page__empty-msg {
margin-bottom: 48rpx;
}
.favorites-page__empty-line {
display: block;
font-size: 28rpx;
color: #666;
text-align: center;
line-height: 1.6;
margin-bottom: 8rpx;
}
.favorites-page__btn {
width: 280rpx;
height: 80rpx;
line-height: 80rpx;
background: #f7ee47;
color: #333;
font-size: 30rpx;
font-weight: 600;
border-radius: 40rpx;
border: none;
}
.favorites-page__btn::after {
border: none;
}
+27
View File
@@ -0,0 +1,27 @@
type FavoritesTab = 'favorites' | 'downloads';
Page({
data: {
activeTab: 'favorites' as FavoritesTab,
favoriteList: [] as unknown[],
downloadList: [] as unknown[],
},
onShow() {
const tab = wx.getStorageSync('favorites_active_tab') as FavoritesTab;
if (tab === 'downloads' || tab === 'favorites') {
this.setData({ activeTab: tab });
wx.removeStorageSync('favorites_active_tab');
}
},
onTabSwitch(e: WechatMiniprogram.TouchEvent) {
const tab = e.currentTarget.dataset.tab as FavoritesTab;
if (tab !== 'favorites' && tab !== 'downloads') return;
this.setData({ activeTab: tab });
},
onDiscoverTap() {
wx.switchTab({ url: '/pages/home/home' });
},
});
@@ -0,0 +1,38 @@
<view class="favorites-page">
<view class="favorites-page__title">我的收藏</view>
<view class="favorites-page__tabs">
<view
class="favorites-page__tab {{activeTab === 'favorites' ? 'favorites-page__tab--active' : ''}}"
data-tab="favorites"
bindtap="onTabSwitch"
>
收藏的题型
</view>
<view
class="favorites-page__tab {{activeTab === 'downloads' ? 'favorites-page__tab--active' : ''}}"
data-tab="downloads"
bindtap="onTabSwitch"
>
下载历史
</view>
</view>
<view wx:if="{{activeTab === 'favorites' && favoriteList.length === 0}}" class="favorites-page__empty">
<text class="favorites-page__emoji">🦆</text>
<view class="favorites-page__empty-msg">
<text class="favorites-page__empty-line">鸭丫还没找到收藏呢</text>
<text class="favorites-page__empty-line">去发现好玩的练习纸吧~</text>
</view>
<button class="favorites-page__btn" bindtap="onDiscoverTap">去发现</button>
</view>
<view wx:elif="{{activeTab === 'downloads' && downloadList.length === 0}}" class="favorites-page__empty">
<text class="favorites-page__emoji">🦆</text>
<view class="favorites-page__empty-msg">
<text class="favorites-page__empty-line">还没有下载记录哦</text>
<text class="favorites-page__empty-line">快去生成练习纸吧~</text>
</view>
<button class="favorites-page__btn" bindtap="onDiscoverTap">去发现</button>
</view>
</view>