位置: 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端的交互)

  • ios15左侧搜索页面怎么关掉(苹果手机左边页面的搜索有什么用)

    ios15左侧搜索页面怎么关掉(苹果手机左边页面的搜索有什么用)

  • 手机收到信息没有声音是怎么回事(手机收到信息没有声音是怎么回事安卓)

    手机收到信息没有声音是怎么回事(手机收到信息没有声音是怎么回事安卓)

  • 微信怎么设置消息提示音(微信怎么设置消息已读)

    微信怎么设置消息提示音(微信怎么设置消息已读)

  • 在powerpoint的页面设置中,能够设置(powerpoint页面设置在哪个选项卡)

    在powerpoint的页面设置中,能够设置(powerpoint页面设置在哪个选项卡)

  • xr日版无锁跟国行区别(日版无锁iphonexr)

    xr日版无锁跟国行区别(日版无锁iphonexr)

  • 微信可以实名认证几个(微信可以实名认证几个账号)

    微信可以实名认证几个(微信可以实名认证几个账号)

  • 怎样申请微信收款二维码收款贴纸(怎样申请微信收款语音播报器)

    怎样申请微信收款二维码收款贴纸(怎样申请微信收款语音播报器)

  • 淘宝是腾讯的吗(淘宝是腾讯的吗大王卡免费吗)

    淘宝是腾讯的吗(淘宝是腾讯的吗大王卡免费吗)

  • ps取消选择是哪个键(ps取消选择是哪个)

    ps取消选择是哪个键(ps取消选择是哪个)

  • 苹果11为什么不能用18w快充(苹果11为什么不能用电信卡)

    苹果11为什么不能用18w快充(苹果11为什么不能用电信卡)

  • mt6755相当于骁龙哪一款处理器(mt6757相当于骁龙)

    mt6755相当于骁龙哪一款处理器(mt6757相当于骁龙)

  • 华为nova7支不支持无线充电(华为nova7支不支持66w快充)

    华为nova7支不支持无线充电(华为nova7支不支持66w快充)

  • 滴滴驾驶行为报告什么意思(滴滴驾驶行为报告对司机有什么影响)

    滴滴驾驶行为报告什么意思(滴滴驾驶行为报告对司机有什么影响)

  • 苹果商店更新不见了(苹果商店更新不了app)

    苹果商店更新不见了(苹果商店更新不了app)

  • fx8350配什么主板(fx8350cpu怎么样)

    fx8350配什么主板(fx8350cpu怎么样)

  • 华为影视vip有什么用(华为影视vip有什么用处)

    华为影视vip有什么用(华为影视vip有什么用处)

  • 5d3和5d4的区别(佳能5d3和5d4的区别)

    5d3和5d4的区别(佳能5d3和5d4的区别)

  • 淘宝多久会自动确认收货(淘宝多久会自动退款)

    淘宝多久会自动确认收货(淘宝多久会自动退款)

  • 个人怎么在飞猪上开店(飞猪怎么飞)

    个人怎么在飞猪上开店(飞猪怎么飞)

  • i58265u是低端处理器吗(i58265u性能)

    i58265u是低端处理器吗(i58265u性能)

  • 群聊里怎样关闭朋友圈(怎样关闭群聊而不删除?)

    群聊里怎样关闭朋友圈(怎样关闭群聊而不删除?)

  • 微信小号怎么申请不用手机号(微信小号怎么申请同一个手机号oppo)

    微信小号怎么申请不用手机号(微信小号怎么申请同一个手机号oppo)

  • 苹果手机录像4k和1080的区别(苹果手机录像4k24 30 60是什么意思)

    苹果手机录像4k和1080的区别(苹果手机录像4k24 30 60是什么意思)

  • Windows 10如何卸载Skype(windows10如何卸载edge)

    Windows 10如何卸载Skype(windows10如何卸载edge)

  • 最小的触屏手机是什么(最小的触屏手机有哪些)

    最小的触屏手机是什么(最小的触屏手机有哪些)

  • 应交城建税计入哪个科目
  • 金税四期对纳税的影响
  • 免税农产品发票怎么抵扣申报
  • 退回投资款怎么做账
  • 加油卡充值发票怎么入账
  • 个人社保由单位承担的可以进福利费吗
  • 进项税额可以在买东西吗
  • 购入固定资产会影响营业利润吗
  • 注册资本未到位转让股权
  • 个人公司转让协议怎么写
  • 个体工商户库存商品入账
  • 企业接受固定资产投资
  • 未取得正式发票怎么整改
  • 现金流量表右边
  • 零余额账户期末怎么结转?
  • 利润弥补以前年度亏损是税前吗
  • 公司发生的费用需要交税吗
  • 网络直播应如何缴纳增值税?
  • 劳务费开发票还要代扣代缴吗?
  • 公司作为二房东怎么给别人开发票
  • 退休人员返聘工资怎么发放
  • 工龄补偿款
  • 如何更改中英文切换
  • 去年的记账凭证错了怎么办
  • 银行与银行之间转账会计摘要
  • 住房公积金个税抵扣标准
  • 应收存款利息计入什么科目
  • data.dataloader
  • 如何安装wordpress图文教程
  • 睿因无线路由器怎么设置
  • 无形资产本月增加本月摊销如何设置函数
  • 都有哪些收据可以抵税
  • cpu和gpu性能对比
  • 非金融机构从事贷款谁负责监管
  • 投资收益属于营业成本吗
  • 转让技术所有权计入什么科目
  • 未开票收入如何申报
  • framework core
  • windows2022下载
  • thinkphp函数有哪些
  • 增值税进项税加计抵减
  • 红字发票可以跨越开吗
  • 销售熟食卤制品怎么做
  • 预缴所得税年底处理账务吗
  • 增值税专用发票上注明的价款含税吗
  • 纳税申报表上的销售额是不含税的吗
  • 印花税是根据销售收入申报吗
  • sql service 2008 数据库还原
  • 劳动保护费是否可以抵扣
  • 专项储备 科目
  • 怎么处理固定资产残值
  • 盈余公积多计提对报表的影响
  • 费用报销单和支付证明单的区别
  • win7系统设备管理器其他设备有个未知设备叹号
  • fedora iso
  • OS X 10.12.6 beta 1如何更新 OS X 10.12.6 beta 1如何升级
  • win7 64位系统使用百度影音播放视频没声音没画面的故障原因及解决方法
  • win7系统怎样
  • win8系统怎么设置无线网连接啊
  • win10怎么把动图设置成壁纸
  • opengl绘制地面
  • javascript语言入门教程
  • 深入剖析典型案例
  • Android SQLite总结(一)
  • bat批处理脚本教程
  • js获取浏览器当前访问的ip
  • jquery 定位
  • androidstudio手机编程软件
  • android采用什么软件架构?
  • angular keyup
  • node转go
  • uv纹理编辑器贴图移动
  • jsoni
  • angularjs常用总结
  • jquery 获取屏幕高度
  • 社保申报后多久缴费
  • 苏州昆山税务局电话号码
  • 法人没有实名认证,现在要变更,还需要实名认证吗
  • 郝姓家谱辈分查询
  • 何为标兵称号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设