uni-app 抖音小程序分享设置path参数无效

uni-app 抖音小程序分享设置path参数无效

开发环境 版本号 项目创建方式
Windows win10 HBuilderX
### 示例代码:

```javascript
onShareAppMessage () {
  return {
    path: 'pages/pageA?b=1',
    query: 'b=1'
  }
}

操作步骤:

  • 在抖音点击-分享-站内私信
  • onShareAppMessage 设置 path 或者 query
  • 分享后在站内私信打开此分享链接

预期结果:

期望值为 {b:1}

实际结果:

pageA页面的onload参数显示为:{a:1}

bug描述:

使用uni-app打包的小程序,在抖音点击-分享-站内私信,onShareAppMessage 设置 path 或者 query 无效。onload 读取的参数为分享页面时当前页面的参数,而不是 onShareAppMessage 设置的参数。

例如:

  • 当前页面为:/pages/pageA?a=1
  • onShareAppMessage
onShareAppMessage () {
  return {
    path: 'pages/pageA?b=1',
    query: 'b=1'
  }
}
  • 分享后无论用真机还是开发者工具
  • pageA 页面的 onload 参数显示为:{a:1}
  • 期望值为 {b:1}

另外,uni-app 打包的微信小程序则是正常的。


更多关于uni-app 抖音小程序分享设置path参数无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

解决了嘛?

更多关于uni-app 抖音小程序分享设置path参数无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


本问题时间较久,我测试抖音小程序,使用 onShareAppMessage 和 onLoad(query) 显示正常,未能复现问题。如果你有疑问,请开新贴进行提问。

在 uni-app 中开发抖音小程序时,如果你发现分享功能中的 path 参数无效,可能是由于以下几个原因导致的。以下是一些常见的排查和解决方法:

1. 检查 path 参数格式

  • path 参数应该是一个有效的页面路径,且必须以 / 开头。例如:/pages/index/index
  • 确保路径拼写正确,且页面确实存在。

2. 检查页面路径是否在 pages.json 中注册

  • 确保你要分享的页面路径已经在 pages.json 中正确注册。如果页面未注册,分享时路径会无效。
{
  "pages": [
    {
      "path": "pages/index/index",
      "style": { ... }
    }
  ]
}

3. 检查 onShareAppMessage 方法

  • 在页面的 onShareAppMessage 方法中,确保你正确设置了 path 参数。
export default {
  onShareAppMessage() {
    return {
      title: '分享标题',
      path: '/pages/index/index', // 确保路径正确
      imageUrl: 'https://example.com/image.png'
    };
  }
};

4. 抖音小程序的限制

  • 抖音小程序可能对分享功能有一些特定的限制或要求。确保你使用的 path 参数符合抖音小程序的规范。
  • 某些页面可能不允许被分享,或者分享时需要特定的权限。

5. 调试和日志

  • 使用 console.log 打印 path 参数,确保它在运行时是正确的。
  • 在抖音开发者工具中查看控制台日志,检查是否有错误提示。

6. 抖音小程序版本问题

  • 确保你使用的抖音小程序基础库版本是最新的,或者至少是支持分享功能的版本。
  • 某些旧版本可能存在 bug 或功能不完善的情况。

7. 检查分享按钮的绑定

  • 确保你正确绑定了分享按钮的点击事件,并且触发了 onShareAppMessage 方法。
<button open-type="share">分享</button>

8. 抖音小程序的分享限制

  • 抖音小程序可能对分享的路径有一些限制,例如只能分享当前页面或特定页面。确保你分享的路径符合这些限制。

9. 检查抖音小程序的配置

  • manifest.json 中,确保抖音小程序的配置正确,特别是 mp-toutiao 部分的配置。
{
  "mp-toutiao": {
    "appid": "your-appid",
    "setting": {
      "urlCheck": false
    }
  }
}

10. 抖音小程序的分享回调

  • 如果你在分享后需要处理回调,确保你正确处理了 onShareAppMessage 的返回值。
export default {
  onShareAppMessage() {
    return {
      title: '分享标题',
      path: '/pages/index/index',
      success(res) {
        console.log('分享成功', res);
      },
      fail(err) {
        console.error('分享失败', err);
      }
    };
  }
};
回到顶部