实现h5公众号分享功能(vue项目也适用)

在vue项目中我们先npm install weixin-js-sdk --save下载下来在main.js文件中引入
import wx from 'weixin-js-sdk';//引入
Vue.prototype.wx = wx//

 

jq项目中我们需要引入这个js-sdk(在需要调用js接口的页面引入js文件 http://res.wx.qq.com/open/js/jweixin-1.2.0.js,如果你的服务器是https请求的话请引入 https://res.wx.qq.com/open/js/jweixin-1.2.0.js

//  分享 调用sdk
            // 微信分参数
            getConfig() {
                this.showFx = true
                var _this=this;
                // let url = location.href.split('#')[0] //获取锚点之前的链接
                let url = encodeURIComponent(window.location.href.split('#')[0]) //获取锚点之前的链接
                console.log(url)
                 //let url = 'http://xiaofeng.ckugua.com/index.html' //获取锚点之前的链接
                // console.log(url)
                _this.$Ajax.post('webchat/config?url='+url).then(response => {
                    // console.log(response)
                    let res = JSON.parse(response.data.data);
                    console.log(res)
                    _this.wxInit(res);
                })
            },
            // 微信分享
            wxInit(res) {
                var _this=this;
                let url = window.location.href.split('?')[0] //获取锚点之前的链接 
                console.log(url)
                // let links = url+'#/Food/' + this.$route.params.id;
                let links = url+'#/product/productDetails?pid='+_this.$route.query.pid;
                console.log(links)
                let title = '晓峰科技';
                let desc = '了解更多,请关注“晓峰科技”公众号';
                let imgUrl = 'http://wx.qlogo.cn/mmhead/Q3auHgzwzM4soO2NoID1uZPHibOVgkJoPoaelibibF3GagvW2o43wRASA/0';
                _this.wx.config({
                    debug: false,
                    appId: res.appId,
                    timestamp: res.timestamp,
                    nonceStr: res.nonceStr,
                    signature: res.signature,
                    jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline']
                });
                _this.wx.ready(function() {
                    _this.wx.onMenuShareAppMessage({
                        title: title, // 分享标题
                        desc: desc, // 分享描述
                        link: links, // 分享链接
                        imgUrl: imgUrl, // 分享图标
                        success: function() {
                            alert('分享成功')
                            _this.showFx =false;
                        },
                        cancel: function() {
                            alert('分享失败')
                            _this.showFx =false;
                        }
                    });
                    //微信分享菜单测试
                    _this.wx.onMenuShareTimeline({
                        title: title, // 分享标题
                        desc: desc, // 分享描述
                        link: links, // 分享链接
                        imgUrl: imgUrl, // 分享图标
                        success: function() {
                            alert('分享成功')
                            _this.isShow =true;
                        },
                        cancel: function() {
                            alert('分享失败')
                            _this.isShow =true;
                        }
                    })
                });
                _this.wx.error(function(err) {
                    alert(JSON.stringify(err))
                });
            }

 

  

转载于:https://www.cnblogs.com/WangXinPeng/p/10303544.html

### 实现公众号 H5 页面跳转至微信小程序的方法 为了使公众号 HTML5 页面能够成功跳转到微信小程序,需遵循特定的技术流程并确保满足必要的条件。 #### 配置业务域名 首先,在微信公众平台上为小程序配置合法的HTML5页面业务域名是必不可少的操作。这一步骤确保了安全性和合法性,使得从小程序内部通过`<web-view>`组件加载外部网页成为可能[^1]。 #### 使用开放标签库与 JSDK 接口 自2020年7月起,微信提供了专门用于H5页面调用微信小程序能力的支持——即利用微信JS-SDK中的开放标签功能完成这一过程。具体来说,开发者可以在HTML文件内引入相应的JavaScript SDK,并按照官方指南注册所需权限接口,从而激活诸如`wx.miniProgram.navigateTo`这样的API函数来触发跳转行为[^2]。 #### 编写前端代码片段 对于采用Vue框架构建的应用场景而言,下面给出一段简单的实例代码展示如何集成上述提到的功能: ```javascript // 引入 Weixin JS-SDK 库 import wx from &#39;weixin-js-sdk&#39;; export default { mounted() { // 假设已获取到签名等相关参数 const signature = &#39;&#39;; // 此处应替换为你实际获得的数据 wx.config({ debug: false, appId: &#39;&#39;, timestamp: &#39;&#39;, nonceStr: &#39;&#39;, signature, jsApiList: [&#39;navigateToMiniProgram&#39;] }); document.getElementById(&#39;jump-to-mini-program&#39;).onclick = function () { wx.ready(function(){ wx.navigateToMiniProgram({ appId: &#39;&#39;, // 小程序 AppID path: &#39;/page/index&#39;, // 所要打开的小程序页面路径 success(res) {}, fail(res) {} }); }) } } } ``` 此外,如果是在普通的HTML环境中,则可以直接嵌套如下所示带有指定属性值的开放标签结构于目标位置: ```html <wx-open-launch-weapp id="launch-btn" username="gh_xxxxxxxx" path="/pages/index/index"> <template> <style>.btn{width:100%;height:67px;text-align:center;line-height:67px;background-color:#ff4a3c;color:white;font-size:18px;border-radius:5px;}</style> <div class="btn">立即体验</div> </template> </wx-open-launch-weapp> ``` 以上两种方式均能有效达成由公众号内的Web页面向关联的小程序发起请求的目的,但需要注意的是后者仅适用于已经过认证的服务号环境之下[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值