PC微信扫码登录教程
PC微信扫码登录教程
来源:小白 时间:2020年12月22日15:33:21
需要微信开放平台账号
难度:一般
1.创建网站应用 获取AppID和AppSecret
1.1基本信息
选择创建网站应用,没什么可说的
根据以下步骤配置内容
注意图片尺寸跟网站应用尺寸这里的图片为一个大logo 一个小logo
确认进行下一步
1.2网站信息 -回调域名
这里是让你配置一个回调域名就好了,就是说扫码以后他需要跳回到那个域名 就通俗的为回调域名
提交审核后为成功
1.3提交成功
1.4.查看审核信息
点击查看后 可以查看审核详情页面
等待审核通过后拿到appid
如上图 appid是自动送的 但是AppSecret 需要手动生成操作
生成也很简单 管理员扫码 然后查看AppSecret(请自主保存 以免丢失)
2生成二维码
2.1 跳转页面扫码方式
效果
/** @description:通过code获取access_token的接口@param appid {string} 应用唯一标识,在微信开放平台提交应用审核通过后获得@param redirect_uri {string} 页面跳转回调地址@param response_type {string} 写死为code@param scope {string} 应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login@return:
*/// 页面跳转方式
var href = openWeiXin({appid:"xxxx",redirect_uri:"http://baidu.cn",response_type:"code",scope:"snsapi_login"})
window.location.href = hreffunction openWeiXin ({appid,redirect_uri,response_type,scope}){return `https://open.weixin.qq.com/connect/qrconnect?appid=${appid}&redirect_uri=${redirect_uri}&response_type=${response_type || 'code'}&scope=${scope}#wechat_redirect`
}
扫码登录即可 这个时候他会给你回调域名里面添加code 请继续通过code操作即可
2.2 内置自己代码中
效果
第一步先引入cdn
<!-- 支持https -->
<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
第二步在使用的地方写方法
var obj = new WxLogin({self_redirect: true,id: "login_container", //容器id 他会自动在容器中添加imgappid: "appid",scope: "snsapi_login",redirect_uri: "redirect_uri",state: "",style: "black",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"可选,默认为黑色文字描述。详见文档底部FAQ |
href | 否 | 自定义样式链接,第三方可根据实际需求覆盖默认样式。详见文档底部FAQ |
扫码登录即可 这个时候他会给你回调域名里面添加code 请继续通过code操作即可
3扫码成功获取code
扫码成功的跳转URL为:https://plug.zzf9.com?code=091K7T000lL9TK1vTS000nSWDn2K7T0Q&state=
其中code为微信扫码返回的code 注意前端获取 有大用
根据code获取access_token跟openid
注意access_token注意存储 并且access_token会两小时过期一次
具体逻辑为,前端拿到code掉接口发送给后端 后端去请求接口获取用户access_token跟openid继续操作 所以前端只用把code给后端
3.1通过code掉用接口
前端代码
// 省略...
// 拿到code去掉接口给 后端
node代码
环境:node,request包
难度:简单
// 使用getAccessToken({appid:"xxxxx",secret:"appsecret"})/** @description:通过code获取access_token的接口@param appid {string} 应用唯一标识,在微信开放平台提交应用审核通过后获得@param secret {string} 应用密钥AppSecret,在微信开放平台提交应用审核通过后获得@param code {string} 填写第一步获取的code参数@return:
*/
function getAccessToken({ appid, secret,code }) {request({url: `https://api.weixin.qq.com/sns/oauth2/access_token?appid=${appid}&secret=${secret}&code=${code}&grant_type=authorization_code`,method: 'get',},(err,res) =>{if(err){console.log(err) //异常接口return}else{console.log(JSON.parse(resv.body)) //用户数据}})
}
正确返回应该为
{"access_token":"ACCESS_TOKEN", //接口调用凭证"expires_in":7200, //access_token接口调用凭证超时时间,单位(秒)"refresh_token":"REFRESH_TOKEN", //用户刷新access_token"openid":"OPENID", //授权用户唯一标识"scope":"SCOPE" //用户授权的作用域,使用逗号(,)分隔
}
4获取个人信息 利用openid
前端把openid发给后端 后端请求用户数据给前端 或者后端自己拿openid请求wx的接口去拿用户信息
前端代码
// 省略...
// 拿到code去掉接口给 后端
node代码
环境:node,request包
难度:简单
// 使用getAccessToken({appid:"xxxxx",secret:"appsecret"})/** @description:获取用户个人信息(UnionID机制)@param access_token {string} 调用凭证@param openid {string} 普通用户的标识,对当前开发者帐号唯一@param lang {string} 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语,默认为zh-CN@return:
*/
function getAccessToken({ access_token, openid,lang }) {request({url: `https://api.weixin.qq.com/sns/userinfo?access_token=${access_token}&openid=${openid}&lang=${lang || 'zh-CN'}`,method: 'get',},(err,res) =>{if(err){console.log(err) //异常接口return}else{console.log(JSON.parse(resv.body)) //用户数据}})
}
正确返回应该为
{"openid":"OPENID","nickname":"NICKNAME","sex":1,"province":"PROVINCE","city":"CITY","country":"COUNTRY","headimgurl": "https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0","privilege":["PRIVILEGE1","PRIVILEGE2"],"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
友情链接
微信开放平台
文档地址
PC微信扫码登录教程相关推荐
- 微信开放平台PC端扫码登录
最近公司给我安排一个微信登录的功能,需求是这样的: 1.登录授权 点击二维码图标后,登录界面切换为如下样式(二维码),微信扫描二维码并授权,即可成功登录: 若当前账号未绑定微信账号,扫描后提示& ...
- 细说pc端微信扫码登录
最近做了一个pc端微信扫码登录和微信付款的功能,一个比较常见的问题是在移动端使用微信扫码操作完毕后,pc端如何实时响应的问题.这里细说一下登录的实现流程,付款方面暂时还没找到比较好的实现方法,只能暂时 ...
- 【vue+pc端】实现微信扫码登录pc端,后端通过微信开发平台,前端生成二维码(仅供参考)
这两周的需求是通过微信扫码登录pc端,刚定下需求原型图还没出来前,后端特意发了微信开发平台的链接给我,关于如何生成二维码的文档,以及扫码跳转后如何传code给他. 请戳这里准备工作|微信开放文档 我最 ...
- 前端PC端微信扫码登录
PC端微信扫码登录 一.微信开放平台 1.创建网站应用 2.设置回调域名 二.代码 1.在index.html页面引入http://res.wx.qq.com/connect/zh_CN/htmled ...
- pc端实现微信扫码登录
pc端实现微信扫码登录 流程:使用vue-wxlogin组件当我们打开微信扫一扫,此时二维码组件会有变化,显示扫描成功 我们的手机就会弹出一个授权页面.记住让后端绑定一个微信公众,通过授权该公众就可以 ...
- PC网站如何实现微信扫码登录
不管你运营什么类型的网站,用户注册都是很重要的一个环节,用户注册的方式也是很多的,比如邮箱注册.手机号注册.第三方授权登录等.其中,第三方授权登录是最常用的一种方式,微信扫码登录是其中的一种,但是微信 ...
- 微信扫码登录超详细教程
一.OAuth2 1.OAuth2介绍 2.OAuth2解决什么问题 (1)OAuth2提出的背景 照片拥有者想要在云冲印服务上打印照片,云冲印服务需要访问云存储服务上的资源.(2)图例 资源 ...
- Spring学习笔记(二十三)——实现网站微信扫码登录获取微信用户信息Demo
目录 微信扫码登录介绍 开发步骤 微信扫码登录示例 微信开放文档 遇到的问题 使用第三方工具实现网站微信扫码登录 开发前介绍 开发步骤 微信扫码登录获取微信用户信息Demo实现流程 实现效果 实现过程 ...
- 微信扫码登录的几秒钟里,到底发生了什么
一想到你要关注我 ↑ 就忍不住有点紧张0.0... 事情经过 这天中午,小A吃完午饭,摊在自己的躺椅上,想趁吃饱喝足的午后时间静静享受独自的静谧. 干点什么好呢?小A单手操作鼠标打开了一个陌生而隐秘的 ...
最新文章
- qt 搜索隐藏文件_MacOS如何搜索隐藏文件?MacOS搜索隐藏文件的方法
- 23年前的今天,首辆火星车登陆火星,后来还拯救了马特达蒙
- 网络营销外包下不同类型企业网站有着不同的网络营销外包重点
- 站点部署,IIS配置优化指南
- Python学习笔记简单数据类型之数字
- pc变手机端html,让移动端的事件变为PC端的事件
- 6010dn 华为 组网 胖ap_1、认识胖瘦AP以及组网场景
- feathers ui 实现机制深入解析(feathers ui 源码解析-原创)
- clickhouse性能优化实践
- 同事是竞合关系不是零和关系
- SwiftUI - @Binding
- 【it修真院】代码生成
- 友谊:铭记恩惠忘记伤害
- goland试用期过后继续使用方式
- props的基本使用和特点
- Canvas粒子旋涡特效
- C++ 上机实验(二)【继承与多态】
- 有用的博客整理(Android系统编译相关)
- 指尖江湖李忘生鸿蒙初开,剑网3指尖江湖李忘生技能搭配攻略
- cp2102驱动下载链接
热门文章
- golang 中 channel 的详细使用、使用注意事项及死锁分析
- u大师制作linux启动盘制作工具,u大师u盘启动盘制作工具教程
- [ 解决报错篇 ] VMware 报错 -- VMware Workstation 无法连接到虚拟机请确保您有权运行该程序访问该程序使用的所有目录以及访问所有临时文件目录
- 小程序中WxParse循环解析返回的富文本数据
- Unity功能——宏定义的使用
- 3632: 外太空旅行
- 计算机office13,如何关闭Office2013自动弹出的“您的计算机已安装最新版本的Office”提示...
- 问题 H: Problematic Public Keys
- ERPNext关键业务流程
- 如何在IIS环境下布置https