页面的js文件里面代码如下:
/** * 微信小程序:https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onShareAppMessage-Object-object * QQ小程序:https://q.qq.com/wiki/develop/miniprogram/frame/logic/logic_register_page.html#%E9%A1%B5%E9%9D%A2%E4%BA%8B%E4%BB%B6%E5%A4%84%E7%90%86%E5%87%BD%E6%95%B0 * 监听用户点击页面内转发按钮(<button> 组件 open-type="share")或右上角菜单"分享给好友"、"分享到空间"按钮的行为,并自定义转发内容 */ onShareAppMessage(res) { return { //转发标题 title: "这里是标题" , //转发路径(当前页面 path ,必须是以 / 开头的完整路径) path: "/" + this .route, //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4。 //imageUrl: this.customData.shareImageUrl, imageUrl: 'https://pic.qzone.cc/2019/11/01/zZNub6xb.jpg/460' // //PCQQ、低版本手机QQ无法执行小程序时打开的H5页面 // generalWebpageUrl: params.constant.appDownloadUrl, // // //监听用户点击页面内转发按钮的,只有带上该参数,才支持快速分享 // entryDataHash: "", // // //分享模板id,可以使用不同的分享样式,需要在开发者管理端进行配置,只有配置了才会生效 // shareTemplateId: params.constant.shareTemplateId, // // //分享模板的数据,不同的模板id需要不同的数据,数据的格式请参考管理端 // shareTemplateData: { "txt1": "中间文案", "txt2": "底部文案" }, // // //指定分享的类型,具体查看下面shareType的说明 // //用来指定分享的类型,目前分享有两种,一种是分享小程序,另外一种是分享一张图片。 // // miniapp:以小程序的形式分享,title、path、imageUrl、generalWebpageUrl、entryDataHash、shareTemplateId、shareTemplateData参数会生效 // // picture:以图片的形式分享,imageUrl、entryDataHash参数会生效 // shareType: "miniapp", } }, |
分享的截图如下:
麻烦官方同学帮看一眼?
是怎么解决的 ?
/**
* 使用方法:
* 1、app.js 引入此文件:const page = require('xx/xx/page);
* 2、app.js onLaunch 的时候 Page = page
*
* 问题:
* 增加了这个文件的使用后,onShareAppMessage定义的参数都会失效 2019/11/01
*/
const originalPage = Page;
import proxy from './promisify
';
function page(conf) {
let hooks = ['
onLoad
', '
onReady
', '
onShow
', '
onHide
', '
onUnload
', '
onPullDownRefresh
', '
onReachBottom
', '
onShareAppMessage
','
back
','
home
'];
conf.wx = proxy;
Object.keys(conf).map(v => {
if (typeof conf[v] === '
function
' && hooks.indexOf(v) === -1) {
let cusFunc = conf[v]
conf[v] = function(e) {
// 交互事件
//console.log('
e
', e);
if (e && e.type) {
let dataset = e.currentTarget.dataset, //组件data-xx参数集合
pages = getCurrentPages(),
currPage = pages[pages.length - 1],
prevPage = pages[pages.length - 2];
switch (e.type) {
case '
tap
':
// tap事件, 可提交点击事件日志,
console.log('
tap事件
');
break;
case '
touchstart
' || "touchmove" || "touchend":
// touch事件, 可提交触摸事件日志
console.log('
touch事件
');
break;
case '
back
':
console.log("back 事件工作");
break;
case '
home
':
console.log("back 事件工作");
break;
}
console.log(dataset, currPage.route);
// 可以通过currentPages给跟不同页面通信
currPage.setData({
abc: '
bcd
'
})
}
cusFunc.call(this, e);
}
}
// 钩子事件, 可提交pv,uv日志
else if (hooks.indexOf(v) > -1) {
let cusHook = conf[v];
conf[v] = function(e) {
const pages = getCurrentPages(),
currPage = pages[pages.length - 1],
prevPage = pages[pages.length - 2];
console.log('
page:
' + currPage.route + '
' + v + '
at ' + Date.now());
cusHook.call(
this
, e);
}
}
})
return
originalPage(conf)
}
module.exports = page;
找的问题了,是因为这个文件的影响,把这个的使用注释掉,就可以了...
问题找到了,原因我在研究下代码,多谢大家,非常感谢。大家都好运👍
你这个方法是写在什么里面了吗?
如果你这里的图片太大的话图片还没加载出来它就转发出去了,会导致使用默认的页面截图,
可以的,您在自检一下
复制你的代码 有内容啊