- 一级建造师考试
- 二级建造师考试
- 三支一扶
- 安全评价师考试
- 保险经纪资格考试
- 报关员资格考试
- 博士入学考试
- 成人高考
- 成人英语三级考试
- 程序员考试
- 出版专业资格考试
- 大学英语三级
- 大学英语四六级考试
- 单证员考试
- 导游证考试
- 电气工程师
- 电子商务设计师考试
- 房地产经纪人考试
- 房地产评估师考试
- 高级会计师资格考试
- 高考
- 高中会考
- 给排水工程师
- 公共英语等级考试
- 公务员考试
- 国际货运代理
- 国际内审师
- 国家司法考试
- 化工师
- 环境影响评价师
- 会计人员继续教育
- 会计职称考试
- 基金从业资格
- 计算机等级考试
- 计算机软件水平考试
- 监理工程师考试
- 教师招聘
- 教师资格
- 结构工程师考试
- 经济师考试
- 考研
- 空姐招聘
- 遴选
- 美术高考
- 普通话考试
- 期货从业资格
- 求职招聘
- 人力资源管理师
- 软件设计师考试
- 商务英语考试(BEC)
- 社会工作者职业水平考试
- 审计师考试
- 事业单位招聘
- 事业单位招聘
- 数据库系统工程师
- 特许公认会计师(ACCA)
- 同等学力
- 统计师考试
- 托福考试(T0EFL)
- 外贸跟单员考试
- 网络工程师考试
- 网络管理员考试
- 网络规划设计师考试
- 系统分析师考试
- 消防工程师
- 小升初
- 校园招聘
- 信息系统管理工程师考试
- 选调生考试
- 雅思考试
- 岩土工程师考试
- 医生招聘
- 艺术高考(艺考)
- 银行从业人员资格
- 银行招聘
- 英语翻译资格考试
- 营销师考试
- 造假工程师考试
- 证券从业资格考试
- 中考
- 注册安全工程师考试
- 注册测绘师考试
- 注册城市规划师考试
- 注册环保工程师考试
- 注册会计师考试
- 注册计量师考试
- 注册建筑师考试
- 注册税务师考试
- 注册资产评估师
- 专升本考试
- 专业英语四级八级考试
- 自考
- 安全员
- 跟单员
- 考试一本通
- 其它资料
项目背景
因为项目采用前后端完全分离方案,所以,无法使用常规的微信授权登
录作法,需要采用 ajax 实现微信授权登录。
需求分析
因为本人是一个 phper ,所以,微信开发采用的是 EasyWeChat ,所以
实现的方式是基于 EW 的。
其实实现这个也麻烦,在实现之前,我们需要了解一下微信授权的整个
流程。
引导用户进入授权页面同意授权,获取 code
通过 code 换取网页授权 access_token(与基础支持中的 access_token 不
同)
如果需要,开发者可以刷新网页授权 access_token,避免过期
通过网页授权 access_token 和 openid 获取用户基本信息(支持 UnionID
机制)
其实说白了,前端只需要干一件事儿,引导用户发起微信授权页面 ,然后
得到 code,然后跳转到当前页面,然后再请求后端换取用户以及其他相关信息。
功能实现
引导用户唤起微信授权确认页面
这里需要我们做两件事,第一去配置 jsapi 域名,第二配置微信网页授
权的回调域名
构
建
微
信
授
权
的
url
"https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appId +
"&redirect_uri="
+
location.href.split('#')[0]
+
"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redi
rect 我们从连接中看到有两个变量,appId,以及 redirect_uri。appId 不用多
说,就是咱们将要授权的微信公众号的 appId,另一方个回调 URL,其实就是
我们当前页面的 URL。
用户微信登录授权以后回调过来的 URL 会携带两个参数 ,第一个是
code,另一个就是 state。才是我们需要做的一件事儿就是将 code 获取到然
后传给后端,染后端通过 code 获取用户基本信息。
后端得到 code 以后,获取用户基本信息,并返回相关其他信息给前端,
前端获取到然后做本地存储或者其他。
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
function wxLogin(callback) {
var appId = 'xxxxxxxxxxxxxxxxxxx';
var oauth_url = 'xxxxxxxxxxxxxxxxxxx/oauth';
var url = "https://open.weixin.qq.com/connect/oauth2/authorize?
appid=" + appId + "&redirect_uri=" + location.href.split('#')[0] +
"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redi
rect"
var code = getUrlParam("code");
if (!code) {
window.location = url;
} else {
$.ajax({
type: 'GET',
url: oauth_url,
dataType: 'json',
data: {
code: code
},
success: function (data) {
if (data.code === 200) {
callback(data.data)
}
},
error: function (error) {
throw new Error(error)
}
})
}
补充:微信使用小技巧
电脑登陆微信后,将手机调为静音状态:
登陆微信不仅可以使用手机登陆,而且还可以使用电脑登陆。首先点开
电脑版微信,使用手机扫描二维码登陆。
手机的微信和电脑的微信可以同时登陆的,而且接收到的信息,电脑和
手机都可以收的到。
但是手机和电脑同时接收信息,两个设备都有提示音,这会感觉让人很
烦。那么如何关掉手机端的声音呢
当你在 pc 端登陆微信之后,在手机微信聊天界面顶部会有一条状态栏 ,
点击它,然后在该界面中选择【手机静音】即可。
也可以通过刚才的操作,快速的打开【文件传输助手】。
拉黑微信运动里的好友:
自从有了【微信运动】之后,每天都会为了占到榜首而去刷步数,但是
你不想天天看到某人的封面、步数或是不想人某人看到你的步数,那么该如
何操作。
首先最简单、直接的方法就是拉黑该好友,但这太不道义了。
你可以通过【微信运动】来拉黑好友。首先点开【微信运动】,然后点
击【微信运动】页面右上角的【齿轮】图标。
找到并点开【隐私及提醒设置】>【不与他(她)排行】,再点击【+】就
可以把好友拉黑,你看不到 ta 的排行,ta 也看不到你的排行。
相关阅读:微信忘记了密码怎么办
通过手机号找回:用手机注册或已绑定手机号的微信帐号,可用手机找
回密码,在微信软件登录页面点击“忘记密码”=》通过手机号找回密码=》输
入注册的手机号,系统会下发一条短信验证码至手机,打开手机短信中的地
址链接(也可在电脑端打开),输入验证码重设密码即可。
通过邮箱找回:通过邮箱注册或绑定邮箱、并已验证邮箱的微信帐号,
可用邮箱找回密码,在微信软件登录页面点击“忘记密码”=》通过 Email 找回
密码=》填写绑定的邮箱地址,系统会下发重设密码邮件至注册邮箱,点击
邮件的网页链接地址,根据提示重设密码即可。
通过注册 QQ 号找回:用 QQ 号注册的微信,微信密码同 QQ 密码是相
同的,请在微信软件登录页面点击“忘记密码”=》通过 QQ 号找回密码=》根
据提示找回密码即可,也可以点击这里进入 QQ 安全中心找回 QQ 密码。
温馨提示:如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
发表评论(共0条评论)
下载需知:
1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读
2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改
3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载
4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉
点击加载更多评论>>