1、当前页面打开微信二维码页面
window.location =
'https://open.weixin.qq.com/connect/qrconnect?'
+ 'scope=' + this.scope
+ '&appid=' + this.appid
+ '&redirect_uri=' + this.redirect_uri
+ '&state= '
+ '&login_type=jssdk'
+ '&style=black'
+ '&self_redirect=false'
+ '&href=';
参数 是否必须 说明
self_redirect 否 true:手机点击确认登录后可以在 iframe 内跳转到 redirect_uri,false:手机点击确认登录后可以在 top window 跳转到 redirect_uri。默认为 false。
id 是 第三方页面显示二维码的容器id
appid 是 应用唯一标识,在微信开放平台提交应用审核通过后获得
scope 是 应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即可
redirect_uri 是 重定向地址,需要进行UrlEncode
state 否 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验
style 否 提供"black"、"white"可选,默认为黑色文字描述。
href 否 自定义样式链接,第三方可根据实际需求覆盖默认样式。
成功时会跳转到redirect_uri并携带上code和state
2、当前弹框打开微信二维码
在弹框中控制是否显示状态
<iframe scrolling="no" width="100%" height="400" frameBorder="0" allowTransparency="true" :src="setSrc"></iframe>
在计算属性或者created中给iframe绑定src
setSrc () {
let location = 'https://open.weixin.qq.com/connect/qrconnect?'
+ 'scope=' + this.scope
+ '&appid=' + this.appid
+ '&redirect_uri=' + this.redirect_uri
+ '&state= '
+ '&login_type=jssdk'
+ '&style=black'
+ '&self_redirect=true'
+ '&href=';
return location;
//self_redirect 必须为 true
}