文档地址:
微信官方文档 :https://developers.weixin.qq.com/miniprogram/dev/api/share.html#wxupdatesharemenuobject
微信小程序转发:https://blog.youkuaiyun.com/xiaochun365/article/details/76546585
http://news.ifeng.com/a/20170510/51071063_0.shtml
一。onShareAppMessage(options)函数设置该页面的转发信息。
options参数说明:
自定义字段:
return {
title: '转发', // 转发标题(默认:当前小程序名称)
path: '/pages/index/index', // 转发路径(当前页面 path ),必须是以 / 开头的完整路径,path后可以接参数,形式为__=__形式。
success(e) {
// shareAppMessage: ok,
// shareTickets 数组,每一项是一个 shareTicket ,对应一个转发对象
// 需要在页面onLoad()事件中实现接口
wx.showShareMenu({
// 要求小程序返回分享目标信息
withShareTicket: true
});
},
fail(e) {
// shareAppMessage:fail cancel
// shareAppMessage:fail(detail message)
},
}
二。wx.showShareMenu(OBJECT)
此接口功能:1.显示当前页面的转发按钮
2.在onshareappmessage()的返回值里包括sharetickets,现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true ,当用户将小程序转发到任一群聊之后,可以获取到此次转发的 shareTicket,此转发卡片在群聊中被其他用户打开时,可以在 App.onLaunch() 或 App.onShow 获取到另一个 shareTicket。这两步获取到的 shareTicket 均可通过 wx.getShareInfo() 接口可以获取到相同的转发信息。
三。wx.hideShareMenu(OBJECT)此接口用来隐藏转发按钮,
四。wx.getShareInfo(OBJECT)获取转发的详细信息,此接口在分享后的回调函数中使用,
如: onShareAppMessage:function(e){
return {
title: "转发的标题", // 默认小程序的名称
path: '/pages/share/share', // 默认是当前页面,必须是以‘/’开头的完整路径(可以写其它页面的地址,)
imgUrl: '', //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
success(e){
if (res.shareTickets) {
wx.getShareInfo({
shareTicket: e.shareTickets[0],//shareticket参数是上边函数成功回调返回的
success:function(e){
e.errMsg; // 错误信息
e.encryptedData; // 解密后为一个 JSON 结构(openGId 群对当前小程序的唯一 ID)
e.iv; // 加密算法的初始向量
console.log("return outcome",e)
}
})
}
}
}
}
注意:
1.当用户将小程序转发到任一群聊之后,可以获取到此次转发的 shareTicket(使用wx.showShareMenu(OBJECT){ withShareTicket:true })
2.此转发卡片在群聊中被其他用户打开时,可在 App.onLaunch() 或 App.onShow() 获取到另一个 shareTicket
3.两步获取到的 shareTicket 均可通过 wx.getShareInfo() 接口可以获取到相同的转发信息。
4.如果要使用button按钮分享的话,必须先要在页面的js文件中定义onshareappmessage()函数。
5.通常我们分享时会加一些参数,在用户点击的时候获取到,
方法:在return对象的path参数后边加上?参数名=参数值&参数名=参数值
6.使页面具有分享功能有两个办法:
一,自定义分享按钮,<button type="primary" open-type='share' bindtap="nnn" id="nihao" data-ind="ind">点我分享</button>(1.必须是button标签2.open-type='share')
二,在页面的js文件中写上onshareappmessage()方法。
这两种都可以触发onshareappmessage()方法执行。
只是返回的参数不同:
1.from:转发事件来源。button:页面内转发按钮(值为button);menu:右上角转发菜单(值为menu);
2.target:如果from是button,则 target 是触发这次转发事件的 button(值为:{id: "nihao", dataset: {…}, offsetTop: 534, offsetLeft: 0}),否则为 undefined
7.return对象的path可以写其它页面的路径,用户点开后显示的是path写的路径,比如在index页面定义的return对象是logs的页面,而且加的参数是id=3,所以在用户点开的是logs页面,可以在logs页面js文件的onload(options)方法options参数中可以接收到页面分享时填写的参数值。
8,去掉button按钮的黑色边框1.后来给button加了一个样式属性 plain="true" 以后,2.在样式文件中控制样式 button[plain]{ border:0 }
微信官方文档 :https://developers.weixin.qq.com/miniprogram/dev/api/share.html#wxupdatesharemenuobject
微信小程序转发:https://blog.youkuaiyun.com/xiaochun365/article/details/76546585
http://news.ifeng.com/a/20170510/51071063_0.shtml
一。onShareAppMessage(options)函数设置该页面的转发信息。
options参数说明:
自定义字段:
return {
title: '转发', // 转发标题(默认:当前小程序名称)
path: '/pages/index/index', // 转发路径(当前页面 path ),必须是以 / 开头的完整路径,path后可以接参数,形式为__=__形式。
success(e) {
// shareAppMessage: ok,
// shareTickets 数组,每一项是一个 shareTicket ,对应一个转发对象
// 需要在页面onLoad()事件中实现接口
wx.showShareMenu({
// 要求小程序返回分享目标信息
withShareTicket: true
});
},
fail(e) {
// shareAppMessage:fail cancel
// shareAppMessage:fail(detail message)
},
}
二。wx.showShareMenu(OBJECT)
此接口功能:1.显示当前页面的转发按钮
2.在onshareappmessage()的返回值里包括sharetickets,现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true ,当用户将小程序转发到任一群聊之后,可以获取到此次转发的 shareTicket,此转发卡片在群聊中被其他用户打开时,可以在 App.onLaunch() 或 App.onShow 获取到另一个 shareTicket。这两步获取到的 shareTicket 均可通过 wx.getShareInfo() 接口可以获取到相同的转发信息。
三。wx.hideShareMenu(OBJECT)此接口用来隐藏转发按钮,
四。wx.getShareInfo(OBJECT)获取转发的详细信息,此接口在分享后的回调函数中使用,
如: onShareAppMessage:function(e){
return {
title: "转发的标题", // 默认小程序的名称
path: '/pages/share/share', // 默认是当前页面,必须是以‘/’开头的完整路径(可以写其它页面的地址,)
imgUrl: '', //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
success(e){
if (res.shareTickets) {
wx.getShareInfo({
shareTicket: e.shareTickets[0],//shareticket参数是上边函数成功回调返回的
success:function(e){
e.errMsg; // 错误信息
e.encryptedData; // 解密后为一个 JSON 结构(openGId 群对当前小程序的唯一 ID)
e.iv; // 加密算法的初始向量
console.log("return outcome",e)
}
})
}
}
}
}
注意:
1.当用户将小程序转发到任一群聊之后,可以获取到此次转发的 shareTicket(使用wx.showShareMenu(OBJECT){ withShareTicket:true })
2.此转发卡片在群聊中被其他用户打开时,可在 App.onLaunch() 或 App.onShow() 获取到另一个 shareTicket
3.两步获取到的 shareTicket 均可通过 wx.getShareInfo() 接口可以获取到相同的转发信息。
4.如果要使用button按钮分享的话,必须先要在页面的js文件中定义onshareappmessage()函数。
5.通常我们分享时会加一些参数,在用户点击的时候获取到,
方法:在return对象的path参数后边加上?参数名=参数值&参数名=参数值
6.使页面具有分享功能有两个办法:
一,自定义分享按钮,<button type="primary" open-type='share' bindtap="nnn" id="nihao" data-ind="ind">点我分享</button>(1.必须是button标签2.open-type='share')
二,在页面的js文件中写上onshareappmessage()方法。
这两种都可以触发onshareappmessage()方法执行。
只是返回的参数不同:
1.from:转发事件来源。button:页面内转发按钮(值为button);menu:右上角转发菜单(值为menu);
2.target:如果from是button,则 target 是触发这次转发事件的 button(值为:{id: "nihao", dataset: {…}, offsetTop: 534, offsetLeft: 0}),否则为 undefined
7.return对象的path可以写其它页面的路径,用户点开后显示的是path写的路径,比如在index页面定义的return对象是logs的页面,而且加的参数是id=3,所以在用户点开的是logs页面,可以在logs页面js文件的onload(options)方法options参数中可以接收到页面分享时填写的参数值。
8,去掉button按钮的黑色边框1.后来给button加了一个样式属性 plain="true" 以后,2.在样式文件中控制样式 button[plain]{ border:0 }