微信分享给朋友圈/朋友/判断网络类型/支付在vue里面亲测
来源:互联网 发布:js offsetparent属性 编辑:程序博客网 时间:2024/05/17 03:54
最近开发微信公众号也是各种接触jssdk,也走了不少弯路吧,写个总结铭记一下。。。。用的是vue框架来开发的。。。。。
在涉及分享的时候在因为默认取得就是页面第一张图,也走了点弯路,虽然可取但是自己定义的tittle和描述内容纹丝不动
最开始这么干的:仅仅改变了分享图标而已,并没有起到多大的作用
<body> <div style="display:none"> <img src="http://***.com" alt=""/> </div> <div id="app"></div> <!-- built files will be auto injected --></body>
在可能被分享的页面里面的方法里写上
//初始化微信js 我是在created里面调用 你随意 initJs(){ console.log('ajaxssssss') let fromUrl = window.location.href; utilAxios.post({ url: `/api/wechat/wechat/jsSign?fromUrl=${fromUrl}`,//请求到配置函数所需参数 method: 'POST', headers:{ 'Content-Type':'application/x-www-form-urlencoded' }, callback: function (res) { console.log('成功了S') console.log(res) console.log(res.data.data.timestamp+'000000') if(res){ wx.config({ debug: false, appId: res.data.data.appId, timestamp: res.data.data.timestamp, nonceStr: res.data.data.noncestr, signature: res.data.data.signature, jsApiList: [ 'checkJsApi', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'getNetworkType', ] }); }else{ alert('获取信息失败,请重新尝试!'); } }, error: function () { alert("网络错误,请重新尝试"); } }); },
//分享给朋友自定义函数//显示设备状态 getNetworkType(){ let that = this ; wx.ready(function(){
wx.getNetworkType({ success: function (res) {// console.log(res.networkType+'aaassasdsdsdasad'); if( res.networkType == 'wifi') { //如果现在的网络状态是wifi 可以根据需要操作 } else { //其他情况下的操作 } }, fail: function (res) {// console.log(JSON.stringify(res)); console.log('错了') } }); }) },
doShareAppMessage(){
wx.ready(function(){ //一定要在ready函数里面调用微信接口 如下
wx.onMenuShareAppMessage({
title: '分享标题', // 分享标题
desc:"我是一个介绍",
// link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'http://***.png', // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
console.log('分享成功了')
},
cancel: function () { // 用户取消分享后执行的回调函数
console.log('取消分享了')
}
});
})
},
//分享到朋友圈
doShareOnline(){
wx.ready(function () {
wx.onMenuShareTimeline({
title: '分享标题', // 分享标题
desc: '分享描述分享描述分享描述', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'http://**.png', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
})
},
支付 用的微信内置对象WeixinJSBridge 用的也是莫名其妙,项目接近尾声了,也不好在过大调试, 下次全部用wx.方法来做
utilAxios.post({ url: `/api/wechat/pay/wechatOrder?orderNo=${questionId}&payType=question`, method: 'POST', headers:{ 'Content-Type':'application/x-www-form-urlencoded' }, callback: function (res) { if( res.data.success == 1000 ) { //支付成功 let timeStamp = res.data.api.timeStamp; let nonceStr = res.data.api.nonceStr; let package1 = res.data.api.package; let signType = res.data.api.signType; let paySign = res.data.api.paySign; let appId = res.data.api.appId; console.log(this.signType); function onBridgeReady(){ WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId":appId, //公众号名称,由商户传入 "timeStamp":timeStamp, //时间戳,自1970年以来的秒数 "nonceStr":nonceStr, //随机串 "package":package1, "signType":signType, //微信签名方式: "paySign":paySign //微信签名 }, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ) {} // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。 //支付成功跳转页面 that.$router.push({ path:`/myQuestions` }) } ); } if (typeof WeixinJSBridge == "undefined"){ if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } }else{ onBridgeReady(); } } }});
然后在合适的地方调用
created(){ this.initJs();//微信初始函数 let that = this ;//保存当前this指向
//下面用了演示 setTimeout(function(){ that.doShareAppMessage(); that.doShareOnline(); },2000)},
阅读全文
0 0
- 微信分享给朋友圈/朋友/判断网络类型/支付在vue里面亲测
- 微信分享到朋友圈,分享给朋友JS代码
- 微信分享到朋友圈,分享给朋友JS代码
- 微信分享到朋友圈,分享给朋友JS代码
- 微信分享到朋友圈,分享给朋友JS代码
- 微信分享到朋友圈,分享给朋友JS代码
- js微信分享到朋友圈 分享给朋友代码
- 微信分享给朋友及朋友圈JS代码
- php 微信分享朋友圈和发送给朋友
- 微信开发-发送给朋友,分享到朋友圈开发
- 微信页面分享 给朋友或者朋友圈
- android 微信朋友分享,朋友圈分享
- 微信公众号开发--微信JS-SDK分享到朋友圈和分享给朋友
- 微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈
- 微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈,后台实现
- 微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈
- 微信分享朋友,朋友圈,qq
- 微信分享到朋友或朋友圈
- 二分图最大匹配问题之网络流算法
- HTML标签
- 栈、堆、方法区简介
- 初学java,写个期末考试的题
- js关闭当前页面刷新父页面
- 微信分享给朋友圈/朋友/判断网络类型/支付在vue里面亲测
- js学习记录(ajax each() push())
- NavigationView实现侧滑效果
- Spring与Akka的集成
- JMock实践---(四)参数匹配
- 使用Intellij Idea创建第一个SpringMVC工程
- JDBC之使用Spring提供的NamedParameterJdbcTemplate
- unreal engine 4学习笔记:变量概述
- 【IDE】idea的使用总结