微信授权Java重定向前端地址_微信网页授权+分享踩过的坑

本文详细记录了在微信环境中实现Java重定向授权和自定义分享功能的过程,包括授权流程、代码获取、前端与后端交互、微信分享配置,以及解决安卓物理返回键导致的死循环问题。最后提出了一种利用popstate事件监听并关闭微信窗口的方法,以避免需要连续点击两次返回键才能退出。
摘要由CSDN通过智能技术生成

页面用浏览器自带返回和安卓物理返回死循环的话,直接看高潮部分

背景

折磨我两个工作日加周末一天的问题,我觉得还是有必要记录一下,为什么程序员总是加班,就是遇到这些意想不到的问题

需求

领导:我想做两个页面,放在微信里面可以访问

我:简单啊,用H5实现

产品设计中...

产品:好了,看看没问题就开始开发吧

我:什么时候多了一个需要获取用户信息(产品总是给人惊喜不端)

没有试过微信授权这一块,首先内心三连问,能不能拒绝,能不能改需求,能不能通过熟悉的秘方实现;然而并没有什么用(笑哭表情)

开发中

业务功能没什么难点,模拟一个用户信息,很快就开发完成了...

微信网页授权

1.登录自己的服务号,查看已有的权限

db9b4077d40f9e995733ccee8180179f.png

注意:这里只能是服务号,订阅号没有权限,服务号只能由企业和组织申请

2.公众号设置

54d227c5fd3a21055c4bf26d5bfc7ce7.png

c118305793ba8f278e0eb88a68db1464.png

注意:下载这个文件放在域名对应的根目录下

3.链接的生成

"https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect"

3eea529e3e5a08ec97831deb44818fe9.png

以访问www.qq.com/#/detail.html为例,上面第2步的网页授权域名设置成 www.qq.com

REDIRECT_URI为encodeURIComponent('http://www.qq.com/#/detail.html')

SCOPE为snsapi_base或snsapi_userinfo,区别是只获取用户id,还是获取更多用户信息

state随便写吧,以123为例(没有看出具体有什么用)

其它参数不变

注意:为什么要用encodeURIComponent,你想想,你在url里面直接写url,怎么能直接把它解析成参数

4.放在微信里访问

把第3步上面生成的链接,做为聊天消息,拷贝到微信里面&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值