关于微信分享的一些心得

首先,我一拿到分享这个功能,我是懵逼的,没做过,比如怎么点击右上角的按钮,怎么触发发送朋友圈事件等等之类,其实这个不用担心,这个都是微信自己的,

我们只需要在在vue你要分享的那个页面中初始化微信的分享就行,自己写一个recommend.js(这个里面有调微信接口的,有配置的等等之类的,注意微信分享这个只能在预发布和正式环境测试,因为微信的接口才会通过),我们做分享的思路是,分享出去后,那个连接跳转的空html,比如下面的share。html,这个html里面有个函数自执行,用于调接口第一个接口是微信的,看是否关注,第二个接口是后台的,用于记录推荐人,所以二维码里面埋的地址也是这个,很长,所以二维码看到很密集

第一步:先把写好的recommend引入

import recommend from '../../../static/js/recommend.js'

第二步:在mounted初始化recommend(也不一定要mounted里面搞,比如下面的doctorName,这些你在你哪里得到了,就可以初始化recommend)

//分享那个
getDocInfo(){
//用于跳转的空html页面
let url=urlWay.RongIMHost+'user/share.html'
recommend('医生主页',this.doctor.doctorInfo.doctorName+'-'+this.doctor.doctorInfo.doctorTitle+'【我的标题】','简介:'+this.doctor.doctorInfo.doctorComment,this.fileserver+this.doctor.doctorInfo.doctorImage,url);
},

第三步:在recommend中做你改动的操作

下面是recommend.js文件,(我重新写弄一个上传吧,另一个随笔)

这个文件里面注意几个坑,第一个获取签名那里的url一定要动态获取,就算你知道域名也要动态获取(就是当前分享的页面的域名),第二个如果分享出去没有标题没有图片等那就说明wx.config里面有错,把debug打开调试就可以看到哪里出错了

第4步:在空的html中

</script>

<script>
(function() {

let jump=(window.location.href).substring((window.location.href).indexOf('jumpUrl=')+8,(window.location.href).length-1)
/*
if (jump.indexOf('&from')==-1){
return
}*/
//这里一定要干掉&from这他吗是微信自己在屁股后面加的参数,我这边真实地址是加了base64的,所以要干掉这个
let jumpurl=jump.slice(0,jump.indexOf('&from'))
//这个是龙龙后台的接口
let url=urlWay.host+'shareExtend/handleShareExtendJumpLogic.action?jumpUrl='+jumpurl
setTimeout(
function () {
//这个是调微信接口看关注没
window.location.href='https://open.weixin.qq.com/connect/oauth2/authorize?appid='+urlWay.appId+'&redirect_uri='+
url+'&response_type=code&scope=snsapi_userinfo&state=gc#wechat_redirect'
}
,500);
})();
</script>

有趣的东西,用jq生成二维码的地方,要用到jq的插件(jquery.qrcode.js)

render: "canvas",一定要canvas,table是针对IE的,日了狗了,table就算你指定了宽高是正方形,table也还是生成的长方形(高度会少一点,所以扫描不起)

第一步,先映入jq,在引入jquery.qrcode.js(依赖于jq)

第二公:

<div id="qrcode"></div>
第三部:$("#code").qrcode({
    render: "canvas"//也可以替换为table,
             text: this.Url,
              300,
              height:300

});
原文地址:https://www.cnblogs.com/myfirstboke/p/8446128.html