fix(community): 修复视频动态刷新后视频消失、点击视频误跳详情
- getPosts 客户端字段映射遗漏 videoUrl/videoCover,onShow 重新拉取后视频被丢弃 - 视频区域与播放器增加 catchtap 阻止冒泡,点击播放不再跳转详情页 - 顺带修正 uploadMediaFile 上方注释块错位
这个提交包含在:
@@ -575,6 +575,8 @@ export async function getPosts(category, userId) {
|
||||
content: p.content || '',
|
||||
topics: Array.isArray(p.topics) ? p.topics : [],
|
||||
images: Array.isArray(p.images) ? p.images : [],
|
||||
videoUrl: p.videoUrl || '',
|
||||
videoCover: p.videoCover || '',
|
||||
actionText: p.actionText || '聊一聊',
|
||||
likes: Number(p.likes) || 0,
|
||||
liked: finalLiked || isLocallyLiked,
|
||||
@@ -1081,8 +1083,6 @@ function uploadMediaFile(tempFilePath, endpoint, kindLabel) {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 客户端前端前置检测文本安全 (对接 security.msgSecCheck)
|
||||
/**
|
||||
* 真实上传本地图片至服务端持久化静态存储
|
||||
* @param {string} tempFilePath 本地图片临时路径
|
||||
@@ -1102,6 +1102,8 @@ export function uploadVideo(tempFilePath) {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 客户端前端前置检测文本安全 (对接 security.msgSecCheck)
|
||||
*/
|
||||
export async function checkTextSecurity(content) {
|
||||
try {
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
</view>
|
||||
|
||||
<!-- 短视频(可与图片同发) -->
|
||||
<view class="post-video-wrap" v-if="post.videoUrl">
|
||||
<view class="post-video-wrap" v-if="post.videoUrl" @click.stop="stopPropagation">
|
||||
<video
|
||||
class="post-video"
|
||||
:src="post.videoUrl"
|
||||
@@ -134,6 +134,7 @@
|
||||
:show-center-play-btn="true"
|
||||
:enable-progress-gesture="true"
|
||||
:show-fullscreen-btn="true"
|
||||
@click.stop="stopPropagation"
|
||||
/>
|
||||
</view>
|
||||
|
||||
|
||||
@@ -56,6 +56,12 @@ describe('友圈短视频发布链路', () => {
|
||||
expect(detail).toContain('post.videoUrl');
|
||||
});
|
||||
|
||||
it('动态列表映射必须保留视频字段,且视频点击不得冒泡跳转详情', () => {
|
||||
expect(api).toContain("videoUrl: p.videoUrl || ''");
|
||||
expect(api).toContain("videoCover: p.videoCover || ''");
|
||||
expect(community).toContain('@click.stop="stopPropagation"');
|
||||
});
|
||||
|
||||
it('后台动态管理必须可预览短视频', () => {
|
||||
expect(admin).toContain('openVideoPreview');
|
||||
expect(admin).toContain('record.videoUrl');
|
||||
|
||||
在新工单中引用
屏蔽一个用户