h5实现带参数微信分享

1:安装 npm install weixin-js-sdk

2: 导入import wx from 'weixin-js-sdk';

3:wx.config({ //
                                    debug: false, // 开启调试模式,
                                    appId: 公众号去找, // 必填,公众号的唯一标识
                                    timestamp: 后端给的, // 必填,生成签名的时间戳
                                    nonceStr: 后端给的; // 必填,生成签名的随机串
                                    signature: 后端给的, // 必填,签名
                                    jsApiList: [],接口列表,你要调用那些接口就写那些
                                });

4:时间戳,随机字符串,签名都是后端调用微信的api然后生成的。概述 | 微信开放文档 (qq.com)

获取签名:

1:获取access_token微信开放文档 (qq.com)

https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

后端调这个接口然后就可以获取access_token了,grant_type这里是固定的值client_credential

2:通过access_token获取jsapi_ticket

https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

后端调这个接口,只需要改变参数就行

3:获取jsapi_ticket就可以生成签名了,随机字符串就让后端随机生成随便多少位的随机字符串,时间戳就是当前的时间戳,然后再通过window.location.href获取当前页面,再把这4个参数合并起来

签名算法

签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.weixin.qq.com?params=value

 上面这个拼接出来然后再通过sha1转化就是签名了,,

然后让后端把签名,时间戳,随机字符串都返回给你, 你再把这些放在wx.config里面就ok了。

jsApiList这里面需要填的接口列表在这概述 | 微信开放文档 (qq.com)在附录2这里

最后一步调用接口(这里面调用了那个接口在jsApiList就加入一个)

wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
  wx.updateAppMessageShareData({ 
    title: '', // 分享标题
    desc: '', // 分享描述
    link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: '', // 分享图标
    success: function () {
      // 设置成功
    }
  })
}); 

 然后就可以点击右上角三个点分享给朋友啦,这整个方法我是在onload里面调用的,最后如果你的h5是一个链接,并且是分享在消息记录里面那种,直接打开好像是没有效果的,我就是这个原因找了很久,在公众号里面打开再分享就没有问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现微信浏览器中进行H5分享,可以通过以下步骤实现: 1. 引入微信JS-SDK库:在H5页面的<head>标签中添加以下代码: ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 这样就可以在页面中使用微信JavaScript API了。 2. 配置微信分享参数:在页面正文中添加以下代码: ```html <script> // 通过ajax请求服务器端获取微信分享所需要的参数 $.ajax({ url: 'your_server_url', data: { // 在服务器端生成签名所需要的参数,如当前页面的URL等 }, success: function(response) { // 服务器返回的数据包括签名等信息 wx.config({ debug: false, // 开启调试模式,可在开发阶段进行调试 appId: response.appId, timestamp: response.timestamp, nonceStr: response.nonceStr, signature: response.signature, jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline'] // 需要使用的分享接口列表 }); // 配置成功后进行分享 wx.ready(function() { wx.onMenuShareAppMessage({ title: '分享标题', // 分享标题 desc: '分享描述', // 分享描述 link: '分享链接', // 分享链接 imgUrl: '分享图标', // 分享图标 success: function () { // 用户完成分享后的回调函数 }, cancel: function () { // 用户取消分享后的回调函数 } }); // 可以添加更多分享接口... }); }, error: function(xhr, status) { // 处理请求失败的情况 } }); </script> ``` 以上代码首先通过ajax请求服务器端获取微信分享所需要的参数,包括appId、timestamp、nonceStr、signature等。然后通过wx.config方法进行配置,指定需要使用的分享接口。wx.ready方法中可以添加多个分享接口的配置,如onMenuShareTimeline等。配置成功后,用户点击分享按钮即可进行分享操作。 以上就是在H5页面中实现微信浏览器分享的方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值