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