feat(fe): 社区帖子图片点击放大预览
缩略图保持网格展示,点击走 wx.previewImage 全屏预览, 可左右切换同帖多图(emoji 占位不参与)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -132,6 +132,13 @@ Page({
|
|||||||
onCreatePost() {
|
onCreatePost() {
|
||||||
this.setData({ sheetType: 'createPost', sheetShow: true });
|
this.setData({ sheetType: 'createPost', sheetShow: true });
|
||||||
},
|
},
|
||||||
|
// 点缩略图放大预览。只取 http 图(机器人帖的 emoji 占位不参与)
|
||||||
|
onPreviewImage(e) {
|
||||||
|
const { urls, cur } = e.currentTarget.dataset;
|
||||||
|
const list = (urls || []).filter((u) => typeof u === 'string' && u.indexOf('http') === 0);
|
||||||
|
if (!list.length) return;
|
||||||
|
wx.previewImage({ current: cur, urls: list });
|
||||||
|
},
|
||||||
// 长按自己的帖子可删除
|
// 长按自己的帖子可删除
|
||||||
onLongPressPost(e) {
|
onLongPressPost(e) {
|
||||||
const p = this.data.posts[e.currentTarget.dataset.index];
|
const p = this.data.posts[e.currentTarget.dataset.index];
|
||||||
|
|||||||
@@ -25,7 +25,8 @@ module.exports.isUrl = function (s) { return s && s.indexOf('http') === 0; }
|
|||||||
<view class="post-content">{{item.content}}</view>
|
<view class="post-content">{{item.content}}</view>
|
||||||
<view wx:if="{{item.images.length}}" class="photo-grid">
|
<view wx:if="{{item.images.length}}" class="photo-grid">
|
||||||
<block wx:for="{{item.images}}" wx:for-item="img" wx:key="*this">
|
<block wx:for="{{item.images}}" wx:for-item="img" wx:key="*this">
|
||||||
<image wx:if="{{im.isUrl(img)}}" class="photo-tile" src="{{img}}" mode="aspectFill"></image>
|
<image wx:if="{{im.isUrl(img)}}" class="photo-tile" src="{{img}}" mode="aspectFill"
|
||||||
|
catchtap="onPreviewImage" data-urls="{{item.images}}" data-cur="{{img}}"></image>
|
||||||
<view wx:else class="photo-tile">{{img}}</view>
|
<view wx:else class="photo-tile">{{img}}</view>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
Reference in New Issue
Block a user