位置: IT常识 - 正文

前端实现 微信扫码登录网站 pc端(二维码嵌套页面) 超详细,包会(前端实现微信联系人二维码)

编辑:rootadmin
前端实现 微信扫码登录网站 pc端(二维码嵌套页面) 超详细,包会 一、准备工作

推荐整理分享前端实现 微信扫码登录网站 pc端(二维码嵌套页面) 超详细,包会(前端实现微信联系人二维码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:前端实现微信支付,前端实现微信联系人二维码,前端实现微信推送,前端实现微信推送,前端实现微信登录,前端实现微信推送,前端实现微信和Qq切换登录,前端实现微信扫码登录,内容如对您有帮助,希望把文章链接给更多的朋友!

本人申明:本案例使用到的appid和AppSecret都是无效的

appid:应用唯一标识,在微信开放平台提交应用审核通过后获得AppSecret:在微信开放平台提交应用审核通过后获得二、引入地址(有两种引入方式)

1.在根目录html文件引入,既index.html

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

2.通过js添加节点

const script = document.createElement('script')script.type = 'text/javascript'script.src = 'https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js'document.body.appendChild(script)三、在需要使用微信登录的地方实例以下 JS 对象var obj = new WxLogin({self_redirect: false,    //默认为false(保留当前二维码) true(当前二维码所在的地方通过iframe 内跳转到 redirect_uri)id: "login_container", //容器的idappid: "wxa3fdea5a3090f", //应用唯一标识,在微信开放平台提交应用审核通过后获得scope: "snsapi_login", //应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即可redirect_uri: "https://www.xiang.com//client/index.html",    //扫完码授权成功跳转到的路径// state: "",    //用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止 csrf 攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加 session 进行校验style: "white", //提供"black"、"white"可选,默认为黑色文字描述href: "data:text/css;base64,LmxvZ2luUGFuZWwubm9ybWFsUGFuZWwgLnRpdGxlIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCi5xcmNvZGUubGlnaHRCb3JkZXIgew0KICB3aWR0aDogMTc0cHg7DQogIGhlaWdodDogMTc0cHg7DQogIG1hcmdpbi10b3A6IDA7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQouaW1wb3dlckJveCAuaW5mbyB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoud2ViX3FyY29kZV90eXBlX2lmcmFtZSB7DQogIHdpZHRoOiAxNzRweDsNCn0NCg==" //自定义样式链接,第三方可根据实际需求覆盖默认样式});

注意事项:

如果二维码出来,但是跳转失败,一定要看看浏览器是否开启了拦截。

前端实现 微信扫码登录网站 pc端(二维码嵌套页面) 超详细,包会(前端实现微信联系人二维码)

href 必须是样式链接/base64格式,转码地址(css文件转码):https://www.lddgo.net/convert/filebasesix

redirect_uri 重定向的地址必须是白名单地址

这里附上我自己的css文件地址(效果参考页尾):

data:text/css;base64,LmxvZ2luUGFuZWwubm9ybWFsUGFuZWwgLnRpdGxlIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCi5xcmNvZGUubGlnaHRCb3JkZXIgew0KICB3aWR0aDogMTc0cHg7DQogIGhlaWdodDogMTc0cHg7DQogIG1hcmdpbi10b3A6IDA7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQouaW1wb3dlckJveCAuaW5mbyB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoud2ViX3FyY29kZV90eXBlX2lmcmFtZSB7DQogIHdpZHRoOiAxNzRweDsNCn0NCg==.loginPanel.normalPanel .title {display: none;}.qrcode.lightBorder {width: 174px;height: 174px;margin-top: 0;box-sizing: border-box;}.impowerBox .info {display: none;}.web_qrcode_type_iframe {width: 174px;}四、获取 code

授权成功以后当前code会拼接在重定向地址后面列:

https://www.xiang.com//client/index.html?code=021NoBFa1u5ORE0600Ja1dDubb2NoBFT&state=undefined

通过两种方法获取:

window获取

window.location.search.substring(6).split('&')[0]

路由监听获取

watch: {$route(){if(this.$route.query.code!=undefined){console.log(this.$route.query.code,this.$route.query.state);}}},五、通过 code 获取access_token

注:这一步可以给后端操作,把获取到的code通过调用接口给予后端,后端拿到数据以后,返回登录状态跟字段,前端也可以获取到所有的状态以后再返回给后端(但是这样没有必要,因为还是要给后端,后端需要筛选字段返回给我们)

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID    应用唯一标识,在微信开放平台提交应用审核通过后获得&secret=SECRET    应用密钥AppSecret,在微信开放平台提交应用审核通过后获得&code=CODE    填写第四步获取的 code 参数&grant_type=authorization_code    填authorization_code axios({'url': `https://api.xaing.qq.com/sns/oauth2/access_token?appid=wxa3fdea55b5a3090f&secret=089ba1c53233913f94c0381aa53c1d8e&code=CODE&grant_type=authorization_code`,'method': 'get'})

正确返回:

{    "access_token":"ACCESS_TOKEN",     //接口调用凭证    "expires_in":7200,     //access_token接口调用凭证超时时间,单位(秒)    "refresh_token":"REFRESH_TOKEN",    //用户刷新access_token    "openid":"OPENID",     //授权用户唯一标识    "scope":"SCOPE",    //用户授权的作用域,使用逗号(,)分隔    "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"   //当且仅当该网站应用已获得该用户的 userinfo 授权时,才会出现该字段。}最后附上案例:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><div id="login_container"></div></body><script src="https://downs.yaoulive.com/liveJs/axios.min.js"></script><script src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script><script>var obj = new WxLogin({self_redirect: false,id: "login_container",appid: "wxa3fdea5a3090f",scope: "snsapi_login",redirect_uri: "https://www.xiang.com//client/index.html",// state: "",style: "white",href: "data:text/css;base64,LmxvZ2luUGFuZWwubm9ybWFsUGFuZWwgLnRpdGxlIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCi5xcmNvZGUubGlnaHRCb3JkZXIgew0KICB3aWR0aDogMTc0cHg7DQogIGhlaWdodDogMTc0cHg7DQogIG1hcmdpbi10b3A6IDA7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQouaW1wb3dlckJveCAuaW5mbyB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoud2ViX3FyY29kZV90eXBlX2lmcmFtZSB7DQogIHdpZHRoOiAxNzRweDsNCn0NCg=="});// 这一步可以直接调用接口返回给后端code,由后端来进行这一步if (window.location.search.substring(6).split('&')[0]) {axios({'url': `https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxa3fdea5a3090f&secret=53233913f94c0381aa53c1d8e&code=${window.location.search.substring(6).split('&')[0]}&grant_type=authorization_code`,'method': 'get'})}</script></html>
本文链接地址:https://www.jiuchutong.com/zhishi/290668.html 转载请保留说明!

上一篇:vite基本配置教程(vite搭建项目)

下一篇:微信小程序和webview使用postMessage交互(微信小程序和web端的交互)

  • vivo NEX 3s有没有指纹识别功能(vivonex3s有没有红外)

    vivo NEX 3s有没有指纹识别功能(vivonex3s有没有红外)

  • 荣耀20最高支持多少w快充(荣耀20最高支持刷新率)

    荣耀20最高支持多少w快充(荣耀20最高支持刷新率)

  • 华为p40怎么设置移动数据(华为p40怎么设置动态壁纸)

    华为p40怎么设置移动数据(华为p40怎么设置动态壁纸)

  • excel表格里怎样快速求和(excel表格里怎样打两行字)

    excel表格里怎样快速求和(excel表格里怎样打两行字)

  • 中国第一台微型计算机(中国第一台微型汽车)

    中国第一台微型计算机(中国第一台微型汽车)

  • 在钉钉里和同学聊天老师会看到吗(在钉钉里和同学聊天)

    在钉钉里和同学聊天老师会看到吗(在钉钉里和同学聊天)

  • 牛听听充不进去电怎么办(牛听听官网 为啥充电充不了)

    牛听听充不进去电怎么办(牛听听官网 为啥充电充不了)

  • 抖音怎么在线隐身(抖音怎么在线隐身访问)

    抖音怎么在线隐身(抖音怎么在线隐身访问)

  • 怎样用电脑下载软件(怎样用电脑下载歌曲到内存卡)

    怎样用电脑下载软件(怎样用电脑下载歌曲到内存卡)

  • 苹果x怎么清理微信存储空间(苹果x怎么清理垃圾清理)

    苹果x怎么清理微信存储空间(苹果x怎么清理垃圾清理)

  • pdf打印和word一样吗(pdf打印与word打印)

    pdf打印和word一样吗(pdf打印与word打印)

  • 华为手机日历在哪里设置(华为手机日历在桌面显示)

    华为手机日历在哪里设置(华为手机日历在桌面显示)

  • 笔记本加内存条有用吗(笔记本加内存条需要注意什么问题)

    笔记本加内存条有用吗(笔记本加内存条需要注意什么问题)

  • 苹果11能用双卡嘛(苹果11用双卡与单卡信号对比)

    苹果11能用双卡嘛(苹果11用双卡与单卡信号对比)

  • 剪映和抖音是什么关系(剪映跟抖音有什么区别)

    剪映和抖音是什么关系(剪映跟抖音有什么区别)

  • vivox27充电发热正常吗(vivo充电发热怎么办)

    vivox27充电发热正常吗(vivo充电发热怎么办)

  • 拼多多猫好友怎么删除(拼多多怎么互相加为好友)

    拼多多猫好友怎么删除(拼多多怎么互相加为好友)

  • 微信不可解封是永久吗(微信 不可解封)

    微信不可解封是永久吗(微信 不可解封)

  • 小米平板4怎么打电话(小米平板4怎么投屏到电视上)

    小米平板4怎么打电话(小米平板4怎么投屏到电视上)

  • 抖音账号如何注销(抖音账号如何注销手机号)

    抖音账号如何注销(抖音账号如何注销手机号)

  • (Select)解决:Element-ui 中 Select 选择器下拉框样式及输入框样式的修改问题(背景色透明与悬停背景色变化与下拉框边距变化等操作)

    (Select)解决:Element-ui 中 Select 选择器下拉框样式及输入框样式的修改问题(背景色透明与悬停背景色变化与下拉框边距变化等操作)

  • vite基本配置教程(vite搭建项目)

    vite基本配置教程(vite搭建项目)

  • el-input无法输入的问题和表单验证失败问题(elementui input无法输入)

    el-input无法输入的问题和表单验证失败问题(elementui input无法输入)

  • 认识Vue扩展插件(vue安装插件)

    认识Vue扩展插件(vue安装插件)

  • 所得税结转本年利润
  • 免税收入怎么做账务处理
  • 借款合同印花税减免优惠政策2022
  • 转让金融资产需要交税吗
  • 企业组织结构的形式
  • 税控服务费列入管理费用什么费用?
  • 财政拨款税收政策
  • 房地产开发企业资质证书
  • 收到违约金如何入账
  • 企业合并的会计方法选择
  • 应交增值税明细科目如何结转
  • 去年的成本没有入账
  • 发票开错了收入增多了当月分录如何红冲?
  • 公允价值变动损益会计处理
  • 工程检测费占工程金额多少
  • 软件著作权如何入账
  • 印花税计入应交税费需要调整吗
  • 为员工购买的意外保险账务处理
  • 资本公积转增资本的条件
  • 工程物资应该计入哪里
  • 购入二手设备,无发票怎么记账
  • 员工承担补缴社保的责任
  • 工程施工属于什么会计科目
  • 代开专票交的城建税怎么申报附加税
  • 即征即退收入是否计入三免三减半所得
  • 出口50万货物退多少税
  • 收到的产品返利怎么做账
  • 教你从脸上看出风水
  • 电脑开机屏幕黑屏无信号
  • 个体户生产经营费用与家庭生活费用无法划分
  • 电脑cpu风扇不动怎么办
  • 银行存款和账面的关系
  • 差额征税通俗理解
  • 螃蟹不能和什么食物一起
  • winpe怎么安装到u盘
  • 高新企业研发费用比例
  • 财产损失立案
  • 视同销售的会计处理怎么做?
  • php @method
  • 企业员工的工资设定标准
  • 水青冈是常绿还是落叶
  • php实现删除功能
  • js实现拖拽选区的功能
  • jquery获取值的几种方法
  • php curl_setopt
  • 国税代开专票缴纳城建税分录
  • 附清单格式
  • 本年利润的会计分录有哪些
  • 入库管理业务流程图
  • 联营企业与合营企业纳入合并吗
  • 小规模纳税人专票税率是多少
  • 经营性罚款在会计中怎么处理
  • 资产减值损失科目借方增加还是减少
  • 建筑安装行业都需要什么资格证书
  • 建筑行业怎么确认收入
  • 支付货款退回如何处理
  • 固定资产的资本化和费用化
  • 查账征收的含义
  • 无形资产减值损失计入管理费用
  • 礼品费属于什么费用
  • 查询一个字段有哪些值
  • mysql5.7.21安装
  • linux sshd是什么
  • centos7 samba服务器搭建
  • 构建dockerfile
  • ubuntu写脚本
  • mplugin.exe是什么
  • 第三方win7系统哪个最好
  • win8显示隐藏文件夹
  • 如何找回windows删除的文件
  • jquery操作数组
  • 如何修改apache端口号
  • python 开源ide
  • jquery回车触发事件
  • jquery常用的事件绑定函数有哪些
  • js 右键
  • js获取
  • 四川国税网上营业厅
  • 印花税为什么不计入资产成本
  • 深圳宝安到揭阳大巴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设