feat: redesign activity and profile tabs

This commit is contained in:
Codex
2026-09-14 07:05:20 +08:00
parent b7dc52b517
commit a6037ded59
14 changed files with 143 additions and 358 deletions
+24
View File
@@ -18,6 +18,13 @@ Page({
loadingMore: false,
hasMore: true,
firstLoaded: false,
activeCategory: 'all',
categories: [
{ code: 'all', label: '全部' },
{ code: 'matchmaking', label: '公益联谊' },
{ code: 'classroom', label: '婚恋课堂' },
{ code: 'anti_fraud', label: '反诈宣传' },
],
/** @type {{title:string, description:string, illustration:string, actions:Array}} */
emptyConfig: {
title: '暂无进行中的活动',
@@ -56,6 +63,7 @@ Page({
this.setData({ loading: true });
try {
await activityStore.fetchActivities();
this.applyActivityFilter();
this.setData({
loading: false,
firstLoaded: true,
@@ -73,6 +81,7 @@ Page({
this.setData({ loadingMore: true });
try {
await activityStore.loadMoreActivities();
this.applyActivityFilter();
this.setData({
loadingMore: false,
hasMore: activityStore.state.activitiesHasMore,
@@ -93,6 +102,21 @@ Page({
this.loadMore();
},
onCategoryTap(e) {
this.setData({ activeCategory: e.currentTarget.dataset.code });
this.applyActivityFilter();
},
applyActivityFilter() {
const source = activityStore.state.activities || [];
const { activeCategory } = this.data;
this.setData({
activities: activeCategory === 'all'
? source
: source.filter((item) => (item.activityType || item.category) === activeCategory),
});
},
/** 点击活动卡片 → 跳转详情 */
onActivityTap(e) {
const activityId = e.detail.activityId;