自定义电脑微信扫码登录样式写法

  

电脑微信扫码登录

  

近期做一个PC端微信扫码登录的需求,微信扫码有两种方式,一种是新开一个二维码页面,另一种是内嵌入产品网页。本次以内嵌二维码为例,具体怎样在页面中显示一个登陆二维码,文档说的很清楚,就不赘述了,文档地址:https://open.weixin.qq.com/cg..。

  

解决自定义微信二维码样式问题

  

当一切准备妥当之后,网页上的二维码初始默认是这个样子。
  

  

自定义电脑微信扫码登录样式写法”> <br/>
  </p>
  <p>特别大不说(默认二维码大小280 x280),还有微信登录的标题下方也有扫码登录的提示。<br/>
  幸运的是,微信留了一个api给我们自定义样式的机会,在之前实例化一个二维码的时候,实例对象中href属性,允许设置样式。</p>
  
  <pre类=   var obj=new WxLogin ({   id:“login_container”,   appid:“”,   范围:",   redirect_uri:“”,   状态:“”,   风格:",   href:“. ./qrcode.css”//就是这个属性   });      

  

不幸的是,在href中传入样式文件的地址,会报错。貌似微信为了安全考虑,只允许访问https的资源。于是现在采用第二种解决办法data-url。

  

通过访问data-url解决样式问题

  

写一个nodejs,脚本将刚才的css资源转换为data-url。具体代码实现为:

        var fs=要求(fs);//函数对文件数据进行编码以base64编码的字符串   函数base64_encode(文件){//读取二进制数据   var位图=fs.readFileSync(文件);//二进制数据转换为base64编码的字符串   返回的数据:文本/css; base64, +新缓冲区(位图).toString (“base64”);   }   console.log (base64_encode (’。/qrcode.css '))      

  

运行节点脚本,复制打印出来的data-url,然后赋值给刚才的href。
  

  

自定义电脑微信扫码登录样式写法

        var obj=new WxLogin ({   id:“login_container”,   appid:“”,   范围:",   redirect_uri:“”,   状态:“”,   风格:",   href:“数据:文本/css; base64, LmltcG93ZXJCb3ggLnFyY29kZSB7d2lkdGg6IDIwMHB4O30NCi5pbXBvd2VyQm94IC50aXRsZSB7ZGlzcGxheTogbm9uZTt9DQouaW1wb3dlckJveCAuaW5mbyB7d2lkdGg6IDIwMHB4O30NCi5zdGF0dXNfaWNvbiB7ZGlzcGxheTpub25lf   Q0KLmltcG93ZXJCb3ggLnN0YXR1cyB7dGV4dC1hbGlnbjogY2VudGVyO30="//data-url   });      

  

注意这里的MIME类型,一定要返回文本/css。
  

  

自定义二维码:

  


  自定义电脑微信扫码登录样式写法

自定义电脑微信扫码登录样式写法