获取access_token时序图:

public中index.html引入

<script src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>

 微信登录操作

new WxLogin({
        // 以下操作把请求到的二维码嵌入到id为"weixin"的标签中
        id: "weixin",

        appid: "", // 该appid为后端传给前端,在微信开放平台提交应用审核通过后获得,唯一标识

        scope: "snsapi_login",//应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login

        // 扫码成功后重定向的接口
        redirect_uri: "",//后端传给前端,用户允许授权后,将会重定向到redirect_uri的网址上,并且带上 code 和state参数

        // state填写编码后的url
        state: encodeURIComponent(
          window.btoa("http://127.0.0.1:8080" + _this.$route.path)
        ),//用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止 csrf 攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加 session 进行校验

        // 以下编码为css样式文件进行base64编码获得,调用样式文件
           href:"data:text/css;base64,Lyogd3hsb2dpbi5jc3MgKi8NCi5pbXBvd2VyQm94IC50aXRsZSwgLmltcG93ZXJCb3ggLmluZm97DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5pbXBvd2VyQm94IC5xcmNvZGV7DQogIG1hcmdpbi10b3A6IDIwcHg7DQp9"});

 href中css进行base64编码操作:node data-url.js

// data-url.js

var fs = require('fs');

// function to encode file data to base64 encoded string

function base64_encode(file) {

    // read binary data

    var bitmap = fs.readFileSync(file);

    // convert binary data to base64 encoded string

    return 'data:text/css;base64,'+new Buffer(bitmap).toString('base64');

}

//console.log(base64_encode('./wxlogin.css'))

csse文件

/* wxlogin.css */

.impowerBox .title, .impowerBox .info{

  display: none;

}

.impowerBox .qrcode{

  margin-top: 20px;

}

Logo

前往低代码交流专区

更多推荐