From d012c7fff716fd4eebdc9e0e76f6d0694935041e Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Mon, 12 Jan 2026 11:32:31 +0800 Subject: [PATCH] =?UTF-8?q?chore(=E8=A7=86=E9=A2=91=E5=8F=B7=E7=BB=84?= =?UTF-8?q?=E4=BB=B6):=20=E4=BC=98=E5=8C=96=E8=A7=86=E9=A2=91=E5=8F=B7?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=B1=95=E7=A4=BA=E5=8F=8A=E6=92=AD=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components-diy/diy-channel-list.vue | 6 +++--- components-diy/diy-channel-video.vue | 28 ++++++++++++++++++++++------ components-diy/js/wechat-channel.js | 18 +++++++++++++----- 3 files changed, 38 insertions(+), 14 deletions(-) diff --git a/components-diy/diy-channel-list.vue b/components-diy/diy-channel-list.vue index e7c26d6..da14a88 100644 --- a/components-diy/diy-channel-list.vue +++ b/components-diy/diy-channel-list.vue @@ -15,7 +15,7 @@ - // #ifdef MP-WEIXIN + + - // #endif + @@ -52,7 +53,6 @@ export default { * @type {Object} * @required * @property {string} feedId - 视频 feedId - * @property {string} finderUserName - 视频号用户名 * @property {string} feedToken - 视频 token * @property {string} coverUrl - 视频封面图 * @property {string} videoTitle - 视频标题 @@ -125,7 +125,6 @@ export default { type: Boolean, default: false }, - }, computed: { /** @@ -133,6 +132,7 @@ export default { * @returns {boolean} */ canUseEmbedMode() { + return true // #ifdef MP-WEIXIN return this.value?.embedMode && wechatChannelUtil.isEmbedModeSupported(); // #endif @@ -157,7 +157,16 @@ export default { width: '100%', height: `${this.listMode ? 180 : 320}rpx` }; - } + }, + /** + * 视频号用户名,适用于微信视频号 + * 优先使用 finderUserName,其次使用 channelName + * @returns {string} + */ + finderUserName() { + return this.value?.finderUserName || this.value?.channelName || '' + }, + }, methods: { /** @@ -165,7 +174,14 @@ export default { * 触发 video-play 事件,由父组件处理具体播放逻辑 */ async playVideo() { - this.$emit('video-play', this.value); + // #ifdef MP-WEIXIN + const playload = { + ...this.value, + finderUserName: this.finderUserName + } + console.log('playload', playload); + this.$emit('video-play', playload); + // #endif } } }; diff --git a/components-diy/js/wechat-channel.js b/components-diy/js/wechat-channel.js index e774cde..e5adca1 100644 --- a/components-diy/js/wechat-channel.js +++ b/components-diy/js/wechat-channel.js @@ -150,7 +150,7 @@ export const wechatChannelUtil = { resolve(res); }, fail: (err) => { - this.handleError(err); + this.handleError(err, item); reject(err); } }); @@ -161,19 +161,27 @@ export const wechatChannelUtil = { }, // 统一错误处理 - handleError(err) { + handleError(err, item) { console.error('微信视频号错误:', err); + + let errorMsg = err.errMsg || '视频播放失败'; + // 可以添加错误上报或用户提示逻辑 switch (err.errCode) { case 40001: - console.error('错误:40001,检查主体要求或嵌入式打开的关联关系'); + errorMsg = '错误:40001,检查主体要求或嵌入式打开的关联关系'; break; case 40002: - console.error('错误:40002,参数错误,检查 feedId 和 finderUserName'); + errorMsg = '错误:40002,参数错误,检查 feedId 和 finderUserName'; break; default: - console.error('错误:' + err.errCode + ',' + (err.errMsg || '未知错误')); break; } + + uni.showToast({ + title: [errorMsg, 'feedId: ' + item.feedId, 'finderUserName: ' + item.finderUserName, 'feedToken: ' + item.feedToken].join('\n'), + icon: 'none', + duration: 5000 + }); } }; \ No newline at end of file