企业微信开发文档地址:https://work.weixin.qq.com/api/doc/90000/90135/91019
为了满足网站更定制化的需求,我们还提供了第二种获取code的方式,支持网站将企业微信登录二维码内嵌到自己页面中,用户使用企业微信扫码授权后通过JS将code返回给网站。
JS企业微信登录主要用途:网站希望用户在网站内就能完成登录,无需跳转到企业微信域下登录后再返回,提升企业微信登录的流畅性与成功率。 网站内嵌二维码企业微信登录JS实现办法:

http://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.4.js

var wwLogin = new WwLogin({"id": "wx_reg",  "appid": "","agentid": "","redirect_uri": "","state": "","href": "","lang": "zh",
});


.impowerBox .qrcode {width: 200px;}
.impowerBox .title {display: none;}
.impowerBox .info {width: 200px;}
.status_icon {display: none  !important}
.impowerBox .status {text-align: center;}


Demo实例:
第一步: 在vue项目中 public/index.html引入http://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.4.js

<script type='text/javascript' src="http://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.4.js"></script>

**第二步:**从后台请求回来appid、agentid、redirect_uri数据

appid:企业微信的CorpID,在企业微信管理端查看
agentid:授权方的网页应用ID,在具体的网页应用中查看
redirect_uri:重定向地址,需要进行UrlEncode

//渲染二维码,假如你的dom元素上加了展示与隐藏条件,切记不要用v-if,因为会检索不到这个qr_code 标签,需要用v-show
<div id="qr_code"></div>//假如从后台请求回来的数据是:
let res = {appid:"a565"agentid:"123456"redirect_uri:"http://api.3dept.com"
}new WwLogin({"id": "qr_code",  "appid": res.appid,"agentid": res.agentid,"redirect_uri": encodeURIComponent(res.redirect_uri)
});

实现的二维码效果不是你设计图想要的,很贴心企业微信二维码还提供了修改样式的地方

例如二维码想要修改成以下样式:

.impowerBox .qrcode {width: 200px;}
.impowerBox .title {display: none;}
.impowerBox .info {width: 200px;}
.status_icon {display: none  !important}
.impowerBox .status {text-align: center;}

需要将以上样式用base64转一下
Base64在线编码解码地址:https://base64.us/

将样式编码后的结果写入 href中:

new WwLogin({"id": "qr_code",  "appid": res.appid,"agentid": res.agentid,"redirect_uri": encodeURIComponent(res.redirect_uri),"href":"data:text/css;base64,LmltcG93ZXJCb3ggLnFyY29kZSB7d2lkdGg6IDI0MHB4O30KLmltcG93ZXJCb3ggLnRpdGxlIHtkaXNwbGF5OiBub25lO30KLmltcG93ZXJCb3ggLndycF9jb2RlX2lmcmFtZXttYXJnaW4tdG9wOiAwcHg7fQouaW1wb3dlckJveCAuaW5mbyB7d2lkdGg6IDIxMHB4O30KLmltcG93ZXJCb3ggLmljb24zOF9tc2cuc3VjYyB7ZGlzcGxheTogbm9uZX0KLmltcG93ZXJCb3ggLmljb24zOF9tc2cud2FybiB7ZGlzcGxheTogbm9uZX0KLmltcG93ZXJCb3ggLnN0YXR1cyB7dGV4dC1hbGlnbjogY2VudGVyO309PQ"
});

Vue——构造内嵌登录二维码相关推荐

  1. Vue 内嵌微信登录二维码及修改默认样式

    1. index.html 引入微信官方提供的js文件 <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/w ...

  2. vue 项目中 自动生成 二维码

    vue 项目中 自动生成 二维码 ​ 最近在写一个vue项目,要求根据卡号可以自动生成一个二维码,并渲染在指定位置,因为第一次做类似业务,小编在网上找了找,发现了很多,具体起来主要用的就两种: QRc ...

  3. vue项目中自动生成二维码

    vue项目中自动生成二维码 我们在做vue项目时,很多时候要用到生成二维码的功能,今天给大家介绍一个有前端生成二维码的小例子: 1.安装vue-qr: npm isntall vue-qr --sav ...

  4. vue将qrcodejs生成的二维码下载到本地

    vue将qrcodejs生成的二维码下载到本地 dom结构如下 <div class="qr-code "id="qr-code"></div ...

  5. 登录二维码过期与切换账号登录

    登录二维码过期与切换账号登录 文章目录 切换账号登录 风险 操作 登录二维码过期如何处理 专栏汇总链接: 教程.问题与解决方案汇总目录 这两个问题最近一直有订阅的朋友在问我,本来不想弄的,因为会导致账 ...

  6. Windows逆向 微信登录二维码的字符串

    获取微信的登录二维码,网上已有很多教程了,这里稍作总结,大概就以下两种方式: 1.直接获取二维码的图片数据,下载到本地: 2.获取二维码所表示的字符串,利用其它库(比如:libqrencode)来生成 ...

  7. 【原创】去掉微信登录二维码中的微信登录几个字的解决方法

    去掉微信登录二维码中的微信登录几个字的解决方法 通过分析,原来微信自己有参数可以去掉, 解决方法,如下: 链接中加上 &popup=0&href=https%3A%2F%2Fsta.g ...

  8. vue app扫PC端二维码登录

    通过接口获取二维码唯一标识,例如:qrcodeId 通过 qrcodejs2插件生成 二维码(二维码内容就是 qrcodeId,具体根据APP 需要) 循环调用接口,查看扫码状态(app是否扫码确认登 ...

  9. vue websocket 公众号扫描二维码登录PC端

    首先使用的是websocket进行消息的传递,当我们在pc端请求到二维码图片后,打开微信扫一扫,扫描二维码后,就可以在websocket里接收到扫描消息,然后进行自己的业务逻辑处理,具体代码如下: w ...

  10. 用herl工具解决微信内链接或二维码可直接用外部浏览器打开

    很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们实现微信跳转功能即可. 下面给大家推荐 herl工具(http://www.nicejum ...

最新文章

  1. python这个软件学会能做什么工作-学会Python真的有高收入?盯,请查收这份入坑指南...
  2. 手机升级android5.0,Android 7.0就要来了?你家手机升级到5.0了吗?
  3. 同步异步 阻塞 非阻塞 异步调用 线程队列 协程
  4. 2021-08-01 查询创建语句 数据库引擎
  5. 有消息队列的地方,就有英特尔傲腾持久内存
  6. 每天学命令write_ldb
  7. If today were the last day of my life
  8. [和平之月系列] 《都 Ancient City Ⅱ》 钢琴
  9. 局域网内固定自己的ip
  10. EETI eGTouch Linux 驱动的安装与使用
  11. Jooq新手在SpringBoot中接入Jooq
  12. paperpass查重
  13. 高效办公之超好用的流程图工具
  14. 独立产品灵感周刊 DecoHack #028 - 如何给你的项目取一个好名字
  15. 基于RTSP的流媒体播放器制作(2)
  16. CTF--信息技术对抗赛ISCC之安卓逆向分析
  17. Centos中搭建多台Tomcat服务器
  18. 判断浏览器是否为IE浏览器
  19. gogs搭建git仓库
  20. 非接触式地表激光裂缝SD151监测仪大坝滑坡监测

热门文章

  1. 同步电机模型的MATLAB仿真模型
  2. 【HUSTOJ】1022: 输出小写字母表
  3. JavaScript 英文根据规则转成相对应的中文
  4. 码科同城小程序源码(含后端php源码)
  5. 电脑W ndoWs未能启动怎么办,电脑出现windows未能启动怎么办
  6. 程序员面试指南 - 自我介绍
  7. Ubuntu 搭建opengrok 流程
  8. 百度SEO站群WeLive免费在线客服系统 v5
  9. JAVAWEB开发之Hibernate详解(二)——Hibernate的持久化类状态与转换、以及一级缓存详解、关联关系的映射(一对多、多对多、级联)
  10. ubuntu下firefox浏览器不能播放视频解决方法