uni-app uni.share分享为小程序时提示"由于不支持的分享类型,无法分享到微信"

uni-app uni.share分享为小程序时提示"由于不支持的分享类型,无法分享到微信"

信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Windows
PC系统版本 windows 10 20H2
HBuilderX 正式
HBuilderX版本 3.4.7
手机系统 Android
手机系统版本 Android 9.0
手机厂商 华为
手机机型 MRD-AL00
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

示例代码:

uni.share({  
    provider: 'weixin',  
    scene: "WXSceneSession",  
    type: 5,  
    imageUrl: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/962fc340-4f2c-11eb-bdc1-8bd33eb6adaa.png',  
    title: '欢迎体验uniapp',  
    miniProgram: {  
        id: 'wx903a4d62079c098e',  
        path: 'pages/index/index',  
        type: 0,  
        webUrl: 'http://uniapp.dcloud.io'  
    },  
    success: ret => {  
        console.log(JSON.stringify(ret));  
    }  
});

操作步骤:

  • 发起uni.share

预期结果:

  • 分享成功

实际结果:

  • 提示"由于不支持的分享类型,无法分享到微信"

bug描述:

uni.share分享为小程序,提示"由于不支持的分享类型,无法分享到微信" 已获得微信权限,如附件所示。

bug附件

3 回复

从相关问题解决了,分享的id应该填微信开放平台小程序的原始id,我写成appid了,改完就OK


请问楼主有遇到,分享后一闪而过不跳转的问题吗

在 uni-app 中使用 uni.share 进行分享时,如果遇到提示“由于不支持的分享类型,无法分享到微信”,通常是因为分享的内容类型不符合微信小程序的要求。以下是一些可能的原因和解决方法:

1. 检查分享类型

  • 微信小程序支持的分享类型有限,通常只支持分享小程序页面路径,不支持直接分享图片、视频等多媒体内容。
  • 确保你使用的是 type: 'miniProgram',并且提供了正确的小程序页面路径。
uni.share({
    provider: 'weixin',
    scene: 'WXSceneSession', // 分享到聊天
    type: 'miniProgram',
    miniProgram: {
        id: '小程序原始ID', // 可选,默认使用当前小程序
        path: '/pages/index/index', // 小程序页面路径
        webUrl: 'https://www.example.com', // 兼容低版本的网页链接
        title: '分享标题',
        imageUrl: 'https://www.example.com/logo.png' // 小程序封面图
    },
    success: function (res) {
        console.log('分享成功');
    },
    fail: function (err) {
        console.log('分享失败', err);
    }
});

2. 检查小程序页面路径

  • 确保 path 参数是有效的小程序页面路径,且路径必须以 / 开头。
  • 如果路径不正确,微信会提示不支持该分享类型。

3. 检查小程序是否支持分享

  • 确保你的小程序已经配置了分享功能,并且在 onShareAppMessage 中定义了分享内容。
  • 如果小程序没有配置分享功能,可能会导致分享失败。

4. 检查网络图片

  • 如果 imageUrl 使用的是网络图片,确保图片地址是有效的,并且图片大小符合微信的要求(建议使用小于 200KB 的图片)。
  • 如果图片地址无效或图片过大,可能会导致分享失败。

5. 检查微信版本

  • 某些分享功能可能只在较新的微信版本中支持。确保用户的微信版本是最新的。

6. 调试与日志

  • 使用 uni.getSystemInfo 获取当前环境信息,确保运行环境是微信小程序。
  • fail 回调中打印错误信息,查看具体的错误原因。
uni.getSystemInfo({
    success: function (res) {
        console.log('当前环境信息:', res);
    }
});

7. 兼容性处理

  • 如果需要在不同平台(如H5、App)上兼容分享功能,可以使用条件编译来处理不同平台的分享逻辑。
// #ifdef MP-WEIXIN
uni.share({
    provider: 'weixin',
    type: 'miniProgram',
    miniProgram: {
        path: '/pages/index/index',
        title: '分享标题',
        imageUrl: 'https://www.example.com/logo.png'
    },
    success: function (res) {
        console.log('分享成功');
    },
    fail: function (err) {
        console.log('分享失败', err);
    }
});
// #endif
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!