在开发微信小程序的时候,发现【发送给朋友】、【分享到朋友圈】、【复制链接】功能,灰色不可用。
很常见的功能,但是这几个功能,并不是你项目建起来了就有的。
1.【发送给朋友】使用 onShareAppMessage 这个方法
如果你的小程序,发现他的【转发给朋友】的按钮时灰色的,不能点击,那么说明这个小程序没有写这部分的代码。
2.【分享到朋友圈】使用 onShareTimeline 方法
onShareAppMessage和onShareTimeline方法有一个坑,就是每个页面都得单独写一份。
3.【复制链接】注意这个功能不需要开发者手动写方法,如果【转发给朋友】这个功能灰色不可用,【复制链接】也会不可用。总之想要复制链接,就先开通【转发给朋友】吧。
开发过小程序的朋友们应该都遇到这样的情况,可能很多个页面有相同的函数,例如onShareAppMessage,有什么最佳实践吗,应该如何处理呢?
uniapp实现微信小程序全局【发送给朋友】、【分享到朋友圈】、【复制链接】
主要使用 Vue.js 的 全局混入
1.创建一个全局分享的js文件。示例文件路径为:./utils/share.js ,在该文件中定义全局分享的内容:
export default {
data() {
return {}
},
//1.发送给朋友
onShareAppMessage() {},
//2.分享到朋友圈
onShareTimeline() {},
}
2.在项目的 main.js 文件中引入该 share.js 文件并使用 Vue.mixin() 方法将之全局混入:
// 导入并挂载全局的分享方法
import share from './utils/share.js'
Vue.mixin(share)
3.如果在特定页面需要自定义分享内容,也仍旧可以使用页面的 onShareAppMessage() 和 onShareTimeline() 方法自定义分享的内容,全局的分享会被页面定义的分享内容覆盖。
注:onShareAppMessage() 和 onShareTimeline() 方法是和 onLoad , methods 等方法同级的。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/188418.html