From c594bfb7e2432784e5f0fb51cf9b9978b806ba18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=98=E9=A3=8E?= Date: Sat, 9 May 2026 18:17:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=8A=E6=97=A5=E6=96=B0=E5=A2=9E=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=9A121?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../super-article-detail.wxml | 3 +- .../super-article-detail.wxss | 1 + .../super-article-mine/super-article-mine.js | 73 +-------------- .../super-article-mine.wxml | 38 ++------ .../super-article-mine.wxss | 91 +++---------------- 5 files changed, 25 insertions(+), 181 deletions(-) diff --git a/miniprogram/pages/super-article-detail/super-article-detail.wxml b/miniprogram/pages/super-article-detail/super-article-detail.wxml index 82d0ee04..b776fbb5 100644 --- a/miniprogram/pages/super-article-detail/super-article-detail.wxml +++ b/miniprogram/pages/super-article-detail/super-article-detail.wxml @@ -14,7 +14,8 @@ {{auditRejectReason}} 重新编辑并提交 - {{article.title}} + {{article.title}} + 动态 {{article.authorNickname || '超级个体'}} · {{article.createdAtText}} diff --git a/miniprogram/pages/super-article-detail/super-article-detail.wxss b/miniprogram/pages/super-article-detail/super-article-detail.wxss index 1f03f75e..0aa9d435 100644 --- a/miniprogram/pages/super-article-detail/super-article-detail.wxss +++ b/miniprogram/pages/super-article-detail/super-article-detail.wxss @@ -40,6 +40,7 @@ background: linear-gradient(135deg, #00ced1, #20b2aa); } .title { font-size: 36rpx; font-weight: 700; line-height: 1.4; display: block; } +.title-muted { color: #94a3b8; font-weight: 600; } .meta { margin-top: 12rpx; font-size: 22rpx; color: #94a3b8; display: block; } .img-gallery { margin-top: 20rpx; diff --git a/miniprogram/pages/super-article-mine/super-article-mine.js b/miniprogram/pages/super-article-mine/super-article-mine.js index 63605359..a74c9a4a 100644 --- a/miniprogram/pages/super-article-mine/super-article-mine.js +++ b/miniprogram/pages/super-article-mine/super-article-mine.js @@ -4,7 +4,6 @@ const app = getApp() const PAGE_SIZE = 10 -const THUMB_MAX = 3 function relativeTime(iso) { if (!iso) return '' @@ -28,65 +27,15 @@ function auditLabel(st) { return '已发布' } -function parseImagesField(images) { - if (images == null) return [] - if (typeof images === 'string') { - const s = images.trim() - if (!s) return [] - try { - const p = JSON.parse(s) - return Array.isArray(p) ? p : [] - } catch (_) { - return [] - } - } - return Array.isArray(images) ? images : [] -} - -function normalizeArticleImageSrc(raw) { - const u = String(raw || '').trim() - if (!u || u === 'undefined' || u === 'null') return '' - if (/^https?:\/\//i.test(u)) return u - if (u.startsWith('//')) return `https:${u}` - if (u.startsWith('wxfile://') || u.startsWith('cloud://')) return u - const base = String((app.globalData && app.globalData.baseUrl) || '').replace(/\/$/, '') - if (u.startsWith('/') && base) return `${base}${u}` - return u -} - -function buildThumbSlots(imagesField) { - const rawList = parseImagesField(imagesField) - const n = Math.min(rawList.length, THUMB_MAX) - const thumbSlots = [] - for (let i = 0; i < n; i++) { - const srcNorm = normalizeArticleImageSrc(String(rawList[i] || '').trim()) - const ok = - !!srcNorm && - (/^https?:\/\//i.test(srcNorm) || - srcNorm.startsWith('wxfile://') || - srcNorm.startsWith('cloud://')) - thumbSlots.push({ slotIdx: i, src: ok ? srcNorm : '', loadFailed: false }) - } - return { - showThumbRow: rawList.length > 0, - thumbSlots, - thumbMoreCount: rawList.length > THUMB_MAX ? rawList.length - THUMB_MAX : 0, - } -} - function mapRows(rows) { return (rows || []).map((r) => { const st = String(r.auditStatus || 'approved').toLowerCase() - const thumb = buildThumbSlots(r.images) return Object.assign({}, r, { auditStatus: st === 'pending' || st === 'rejected' ? st : 'approved', auditLabel: auditLabel(st), timeText: relativeTime(r.createdAt), preview: String(r.preview || '').trim(), rejectReason: String(r.rejectReason || '').trim(), - showThumbRow: thumb.showThumbRow, - thumbSlots: thumb.thumbSlots, - thumbMoreCount: thumb.thumbMoreCount, }) }) } @@ -134,6 +83,8 @@ Page({ wx.navigateBack({ fail: () => wx.switchTab({ url: '/pages/my/my' }) }) }, + noop() {}, + openDetail(e) { const id = e.currentTarget?.dataset?.id if (!id) return @@ -187,26 +138,6 @@ Page({ }) }, - onThumbError(e) { - const rowIdx = Number(e.currentTarget.dataset.rowidx) - const slotIdx = Number(e.currentTarget.dataset.slotidx) - if (Number.isNaN(rowIdx) || Number.isNaN(slotIdx)) return - this.setData({ [`list[${rowIdx}].thumbSlots[${slotIdx}].loadFailed`]: true }) - }, - - previewRowImages(e) { - const rowIdx = Number(e.currentTarget.dataset.rowidx) - if (Number.isNaN(rowIdx)) return - const row = this.data.list[rowIdx] - if (!row) return - const urls = parseImagesField(row.images) - .map((u) => normalizeArticleImageSrc(String(u || '').trim())) - .filter((u) => /^https?:\/\//i.test(u)) - if (!urls.length) return - const current = String(e.currentTarget.dataset.current || '').trim() || urls[0] - wx.previewImage({ urls, current }) - }, - async reload() { const userId = app.globalData.userInfo?.id if (!userId || !app.globalData.isLoggedIn) { diff --git a/miniprogram/pages/super-article-mine/super-article-mine.wxml b/miniprogram/pages/super-article-mine/super-article-mine.wxml index 79d8ef8f..593d4eeb 100644 --- a/miniprogram/pages/super-article-mine/super-article-mine.wxml +++ b/miniprogram/pages/super-article-mine/super-article-mine.wxml @@ -25,44 +25,18 @@ 点击上方「发动态」写一条吧 - - + + {{item.auditLabel}} {{item.timeText}} {{item.title}} - {{item.preview}} + {{item.preview}} + 动态 + 正文与配图请在详情页查看 - - - - - - - {{th.loadFailed ? '加载失败' : '无效'}} - - - - +{{item.thumbMoreCount}} - - - - - 驳回说明 - {{item.rejectReason}} - - - 查看 +