在PC端项目开发中,使用微信授权登录是一个很常见的功能。目前功能的实现有两种不同的方式,现在我们就按照这两种方式来做总结如下。1、跳转到微信授权登录页面扫码授权。这个方法很简单。使用跳转链接实现微信授权登录窗口即可snsapi_login&state=${自定义配置}#wechat_redirect跳转后扫描微信二维码,微信会带上二维码回调到你设置的回调域名。拿到代码和后台交互后,就可以登录微信了。这种方法实现起来比较简单,但是由于需要先跳转到微信授权登录页面,所以在体验上可能不是很好。2.在当前页面生成微信授权登录二维码。该方法需要引入wxLogin.js动态生成微信登录二维码。具体实现方法如下:consts=document.createElement('script')s.type='text/javascript's.src='https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js'constwxElement=document.body.appendChild(s)wxElement.onload=function(){varobj=newWxLogin({id:'wx_login_id',//要显示的容器idappid:'',//公众号appidscope:'snsapi_login',//网页默认redirect_uri:'',//授权成功后回调的urlstate:'',//可以设置为简单的随机数plussessiontoverifystyle:'black',//"black"和"white"可用。二维码的样式href:''//外部css(查看二维码的dom结构,根据类名覆盖样式)文件url,需要https})}其中href参数项也可以将css文件转换为data-url,实现如下:varfs=require('fs');functionbase64_encode(file){varbitmap=fs.readFileSync(file);return'data:text/css;base64,'+newBuffer(bitmap).toString('base64');}console.log(base64_encode('./qrcode.css'))在js文件上执行命令终端:节点qr.js并将打印的url粘贴到href。这种实现方式避免了需要跳转到新页面扫码,而且二维码的样式也可以自定义更多,从体验上来说可能是更好的选择。