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}}
-
-
- 查看
+