小程序分享功能以及坑

场景

小程序分享功能是小程序必不可少也是实现裂变引流的功能,那么在使用分享的过程中会遇到那些问题呢?

基本使用

小程序使用wx.showShareMenu来开启分享功能,主要有两个参数,‘shareAppMessage’,和’shareTimeline’,shareAppMessage是开启分享好友功能,shareTimeline是分享到朋友圈功能。

wx.showShareMenu({
  withShareTicket: true,
  menus: ['shareAppMessage', 'shareTimeline']
})

注意事项

  1. 分享回调中需要三个参数值,一是path路径,需要携带参数,因为分享功能一般的注重点是活动裂变,通过分享点击来获取积分奖励;二是title标题,用于分享时弹框显示的标题内容;三是 imageUrl转发图片,也是用于分享时弹框显示的标题底部图片;
  2. 在小程序原生语法中,分享使用的形式为this.data.XXX,在wepy和mpvue中分享也需要使用this.data.XXX,这其中的原因暂时没有分析
  3. 分享功能是页面独有的功能,组件没有该功能,但是当页面引用了带有分享按钮的组件时,微信小程序会处理把页面中的分享回调当成分享功能处理,在官方文档中,也有类似的示例,同时还能传递需要的参数到回调中。
  4. 分享好友可以自定义path路径,在点击后跳转到其他页面,分享朋友圈不能定义路径,默认跳转当前页面,同时自定义传参需要使用query传递。
// 好友
ShareAppMessage() {
	return {
		title: '自定义转发标题',
		path: '/page/user?id=123',
	}
}

// 朋友圈
onShareTimeline: function () {
     return {
         title: "",
         query: {
              key: value
          },
         imageUrl: ""
     }
},

引申:
在小程序分享功能中,一般产品会需要在底部栏加一个固定的横幅,用于展示用户信息和一个button=share的分享按钮,如果是普通的页面,我们直接编码加定位就能实现,但是有时候小程序内部的页面是通过webview标签来展示的第三方内容,在官方文档中,有说明webview默认层级是最高的,无法通过外部修改,这样就会导致底部栏无法显示,但是在百度解决方案时,我们能发现,有同行发现了用原生的标签确实能解决这个问题,至于这是不是一个微信自己的bug,还不知晓,下面主要介绍这种解决方法。
在webview的页面,我们可以使用cover-view和cover-img来实现盒子层级在webview之上,注意的是cover-view内部只能有cover-view、cover-img和buttton标签,在需要的盒子上使用fixed来定位,得到我们的效果。(注意:在微信开发者工具开发时,我们是看不到上面的效果的,自定义盒子会被webview遮挡,只能在真机上才能展示)
代码示例:

<web-view src="https://www.forguo.com">
     <cover-view class="tool-bar">
         <cover-image src="../../common/imgs/nav-bg.png" class="nav-bg"></cover-image>
         <cover-view class="tool-btn">
             <cover-view>我的</cover-view>
             <cover-view>订单</cover-view>
         </cover-view>
     </cover-view>
 </web-view>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序分享功能测试用例可以包括以下几个方面的测试: 1. 测试默认分享功能:验证在小程序中点击分享按钮后,是否能够成功分享到默认的社交媒体平台(如微信、QQ等)。 2. 测试区分好友和群的分享功能:验证在小程序中点击分享按钮后,是否能够成功区分好友和群,并选择性地分享给指定的好友或群。 3. 测试区分不同群的分享功能:验证在小程序中点击分享按钮后,是否能够成功区分不同的群,并选择性地分享给指定的群。 4. 测试自定义分享内容:验证在小程序中点击分享按钮后,是否能够自定义分享的标题、描述和图片等内容。 5. 测试分享回调函数:验证在小程序中点击分享按钮后,是否能够触发分享回调函数,并正确处理分享成功或失败的情况。 以下是一个示例的小程序分享功能测试用例: 1. 测试默认分享功能: - 点击小程序右上角的分享按钮。 - 验证是否能够成功跳转到社交媒体平台的分享页面。 - 验证是否能够成功分享到指定的社交媒体平台。 2. 测试区分好友和群的分享功能: - 点击小程序右上角的分享按钮。 - 选择分享给好友或群。 - 验证是否能够成功跳转到选择好友或群的页面。 - 验证是否能够成功选择指定的好友或群进行分享。 3. 测试区分不同群的分享功能: - 点击小程序右上角的分享按钮。 - 选择分享给群。 - 验证是否能够成功跳转到选择群的页面。 - 验证是否能够成功选择指定的群进行分享。 4. 测试自定义分享内容: - 点击小程序右上角的分享按钮。 - 在分享页面中填写自定义的分享标题、描述和图片等内容。 - 验证分享的内容是否与填写的内容一致。 5. 测试分享回调函数: - 点击小程序右上角的分享按钮。 - 验证是否能够触发分享回调函数。 - 验证分享回调函数是否能够正确处理分享成功或失败的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值