小程序分享功能实现php,微信小程序转发好友的功能

article/2025/11/4 8:18:59

今天简单地说下微信小程序的转发功能,为什么要简单的说下呢,因为主要讲的就是转发给好友或者群组,还有一种是分享到朋友圈,这种就比较复杂一点了,先稍微透漏一点,分享到朋友圈主要是两种方法,一种是后台直接生成海报图,一种是前端通过canvas生成海报。以后有机会再详细说,好了,言归正传继续说我们的转发好友。

首先介绍一个微信小程序的API:onShareAppMessage(options)

在 Page 中定义 onShareAppMessage 函数,设置该页面的转发信息。只有定义了此事件处理函数,右上角菜单才会显示 “转发” 按钮

用户点击转发按钮的时候会调用

此事件需要 return 一个 Object,用于自定义转发内容

options 参数说明参数类型说明最低版本fromString转发事件来源。button:页面内转发按钮;menu:右上角转发菜单1.2.4

targetObject如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined1.2.4

自定义转发字段字段说明默认值最低版本title转发标题当前小程序名称

path转发路径当前页面 path ,必须是以 / 开头的完整路径

imageUrl自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:41.5.0

success转发成功的回调函数1.1.0

fail转发失败的回调函数1.1.0

complete转发结束的回调函数(转发成功、失败都会执行1.1.0

还有一个值那就是shareTickets他是转发成功返回的,并且是个数组,每一项是一个 shareTicket ,对应一个转发对象

API先说到这,接下来就是转发的实现

先看图:

fd37846525cf4a2f1fe2f44c09631544.gif

首先要在onLoad中配置wx.showShareMenuonLoad: function (e) {

wx.showShareMenu({

// 要求小程序返回分享目标信息

withShareTicket: true

});

},

然后再配置onShareAppMessage/* 转发*/

onShareAppMessage: function (ops) { if (ops.from === 'button') {

// 来自页面内转发按钮

console.log(ops.target)

} return {

title: '转发dom',

path: `pages/index/index`,

success: function (res) {

// 转发成功

console.log("转发成功:" + JSON.stringify(res));

var shareTickets = res.shareTickets;

// if (shareTickets.length == 0) {

// return false;

// }

// //可以获取群组信息

// wx.getShareInfo({

// shareTicket: shareTickets[0],

// success: function (res) {

// console.log(res)

// }

// })

},

fail: function (res) {

// 转发失败

console.log("转发失败:" + JSON.stringify(res));

}

}

},

我解释一下wx.getShareInfo这个可以获取到获取转发详细信息

完整js代码就是//index.js

//获取应用实例

const app = getApp()

Page({

data: {

motto: 'Hello World',

},

onLoad: function (e) {

wx.showShareMenu({

// 要求小程序返回分享目标信息

withShareTicket: true

});

},

/* 转发*/

onShareAppMessage: function (ops) { if (ops.from === 'button') {

// 来自页面内转发按钮

console.log(ops.target)

} return {

title: '转发dom',

path: `pages/index/index`,

success: function (res) {

// 转发成功

console.log("转发成功:" + JSON.stringify(res));

var shareTickets = res.shareTickets;

// if (shareTickets.length == 0) {

// return false;

// }

// //可以获取群组信息

// wx.getShareInfo({

// shareTicket: shareTickets[0],

// success: function (res) {

// console.log(res)

// }

// })

},

fail: function (res) {

// 转发失败

console.log("转发失败:" + JSON.stringify(res));

}

}

},

})

聪明的同学就该知道接下来该是wxml代码

分享好友

{{motto}}

友情提示一下如果点击按钮分享的话,button一定要设置open-type="share"否则不起作用。

如果觉得文章还不错并对你有帮助的话,请分享给你的小伙伴,并点赞,有什么不懂得可以在底下留言哦。

推荐教程:《微信小程序》


http://chatgpt.dhexx.cn/article/txouJ6kf.shtml

相关文章

微信小程序转发朋友圈

微信小程序转发朋友圈 接触过微信小程序的都应该知道微信小程序只开辟了一个转发给好友和群的api,如果想发送到朋友圈,方法大同小异,无非就是保存图片到本机 然后在进行朋友圈发表,话不多说,先上图,然后上…

unapp微信小程序转发分享、携带参数

一、第一种方式: // 开启小程序原生右上角分享按钮uni.showShareMenu({// https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.htmlwithShareTicket: true,menus: [shareAppMessage, shareTimeline]//开启转发好友和转发朋友圈按钮});…

SQLServer2008 sa登录错误18456

基本每次重装数据库,使用sa身份和ip方式登录数据库,不出意外都会出现这个错误,18456,如下: 这个错误一般由三个原因引起,登录方式设置错误、sa设置错误和IP方式是否开启,下面依次解决这三个问题…

SQL Server2014“用户'sa'登录失败,错误18456”问题

子丰在安装SQL Server2014的过程中明明选择了使用Windows身份验证和SQL Server身份验证混合模式,可是安装完之后却不能使用SQL Server身份验证登录,提示“用户sa登录失败,错误18456”。 经过子丰一番研究才最终解决了问题。 1. 使用Windows身…

【SQL Server 2017】18456错误/管道的另一端无任何进程错误 解决方法

解决方法 windows身份登录后,找到:安全性->登录名->sa,然后右击选择属性 选择常规(输入新的密码,取消实施密码策略) 右击服务器名——重新启动——关闭数据库连接,退出程序——用sa登录…

SQL 18456登陆错误问题(已解决)

SQL 18456登陆错误 首先要将登陆验证方式改为混合验证 参考链接:https://blog.csdn.net/qq_34173893/article/details/80142959 解决方案:https://www.cnblogs.com/giserblog/p/3585442.html?utm_sourcetuicool 取消登陆锁定 如果遇到取消失败的情况&am…

SQLServer创建用户登录出现错误18456

使用SQLServer创建用户并登录的过程中总是出现问题,查找方法不易,于是就打算把解决方法写一下,方便后来的小伙伴查找 1、在本机数据库处右键,选择属性,点击打开 选择左侧的安全性,右侧服务器身份验证选择S…

SQLSERVER2008 18456错误

百度搜18456错误几乎只能搜到一篇文章,并不是说结果条数,而是所有的文章都是转自一处。我也遇到了18456错误。 我是这么解决的: 1、以windows验证模式进入数据库管理器。 第二步:右击sa,选择属性: 在常规选…

SQL Server 2008 R2用户'sa'登录失败(错误18456)

今天想把公司的数据库放到自己的电脑上,结果,登录SQL server 2008R2 报错了: 用Windows身份可以登录。为了能继续使用sa用户登录,可以这样做: 1、首先用widnows身份登录 2、右键实例-->属性, 3、选择【…

|- SQLServer 2012 -| 连接出现错误:18456

用户的创建和数据库的远程访问设置,详见连接: http://blog.csdn.net/QAC_Boy/article/details/75529153 今天在创建SQLServer用户进行授权后,想要测试一下,结果在数据库连接的时候,出现了18456错误: 但…

sqlserver登录失败18456解决方案

提示用户sa登录失败,microsoft server,错误:18456 解决方案: 1.用windows验证登入数据库 2.选择sa----属性 3.常规---更新密码,点击确定 4.状态---选择enable 5.点击用户状态,选择确定 6.右击选择确定 …

sql server 2019 用户‘sa‘登录失败(错误18456)解决方案图解

用户sa登录失败(错误18456)解决方案图解 当我们在使用sql server 的时候可能会遇见这样错误提示“无法连接到.,用户sa登录失败(错误18456)”, 如图: 具体的解决方案: 首先使用管理员身份打开SQL …

SQLserver .sa'登录失败(错误18456)图文解决方法

SQLserver .sa登录失败(错误18456)图文解决方法 有时候,电脑在使用过程中,会出现”SQL2008.sa登录失败“(错误18456)的提示,一脸懵逼的你遇到这种情况该怎么办呢?下面就来简单介绍一…

连接SqlServer服务器出现18456错误

连接SqlServer服务器出现18456错误 问题解决方案 1连接windows身份验证23结果 连接SqlServer服务器出现18456错误 问题: 博主在有个自己的数据库:test(是支持sqlserver数据库的)要连接sqlserver数据库,但是当输入自己的用户…

SQL Server 2012 sa 用户登录 18456 错误

最近想研究下SQL SERVER2012 Enterprise版本的数据库,听说功能很强大。我是在win7上安装的,安装的过程很顺利,我在用“Windows 身份验证”时,一切OK,但是在用SA用户登录数据库的时候出现如下的错误: 之前装…

microsoft sql server 错误18456

忘记截图,我直接描述下错误吧。 我在windows server服务器上安装sql server 2012数据库,一开始的时候,我采用的是Windows身份验证登录数据库,没有问题。之后,由于我要本地远程连接到服务器上的sql server。所以&#…

SQL Server的sa账户登录不了,提示18456错误

问题描述:用SQL Server身份验证登陆提示18456错误,用windows身份验证登陆正常。导致数据库测试连接加密的时候失败,无法登陆软件。 适用数据库版本:sql2008和sql2016 处理方法: 1、打开数据库——用Windows身份登录…

sqlserver数据库账户登录18456错误怎么解决?

1、以windows验证模式进入数据库管理器。 2、右击sa,选择属性: 在常规选项卡中,重新填写密码和确认密码(改成个好记的)。把强制实施密码策略去掉。 3、点击状态选项卡:勾选授予和启用。然后确定 4、右击实例…

sqlserver 登陆错误18456

直接看问题: 1.首先打开配置管理器 2.检查服务有没有打开,没错就是那个sql server(msssqlserver)的 好的,服务没有打开,点击打开... 服务启动不了? 进入服务,右键属性,配置账号 点击本地系统账户…

SQLSERVER2008 18456错误

百度搜18456错误几乎只能搜到一篇文章,并不是说结果条数,而是所有的文章都是转自一处。我也遇到了18456错误。 我是这么解决的: 1、以windows验证模式进入数据库管理器。 第二步:右击sa,选择属性: 在常规…