react单页面微信授权后怎么返回原来地址

找了很多方法,发现后端可以获取上一页url的地址,但是是没带参数的,找了很多方法,用了个比较傻的方法

准备授权的时候顺便向后端提交当前地址


window.location.href   //获取当前地址后顺便提交到后端  

然后后端将地址存为cookie后,再去重定向授权,获取到微信授权后,就取cookie里原来的地址,然后就可以跳回去

希望大家有好的方法可以介绍一下,大家一起学习一下

这是用云开发开发的小程序,可以参考一下

在这里插入图片描述

React中封装微信小程序授权函数通常涉及以下几个步骤: 1. 创建一个函数来处理授权逻辑,这个函数可以调用微信小程序提供的API,比如`wx.getSetting`和`wx.authorize`。 2. 在函数中,首先调用`wx.getSetting`来获取用户的授权设置,此API会返回用户的权限状态。 3. 如果用户已经授权,则直接返回授权结果;如果用户未授权,则通过`wx.authorize`请求用户授权。 4. 在`wx.authorize`中,可以设定`scope`参数,指定需要请求的权限。 5. 设置授权成功或失败的回调函数,以处理授权结果,并将结果返回给调用者。 以下是一个简的封装示例: ```javascript const useWeChatAuthorize = (scope = 'scope.userLocation') => { const [authorizeStatus, setAuthorizeStatus] = useState('unknown'); const handleAuthorize = () => { wx.getSetting({ success(res) { if (!res.authSetting(scope)) { // 请求用户授权 wx.authorize({ scope, success() { setAuthorizeStatus('authorized'); }, fail() { setAuthorizeStatus('denied'); }, }); } else { // 已经授权 setAuthorizeStatus('authorized'); } }, }); }; // 封装一个调用授权的函数 const authorize = () => { handleAuthorize(); }; return { authorize, authorizeStatus, }; }; // 使用封装的函数 const Component = () => { const { authorize, authorizeStatus } = useWeChatAuthorize(); return ( <View> {authorizeStatus === 'unknown' && <Button onClick={authorize}>授权位置信息</Button>} {authorizeStatus === 'authorized' && <Text>已授权</Text>} {authorizeStatus === 'denied' && <Text>用户拒绝授权</Text>} </View> ); }; ``` 在这个示例中,`useWeChatAuthorize`是一个自定义的Hook,它封装了授权的逻辑,并返回了一个`authorize`函数用于请求授权,以及一个`authorizeStatus`状态用于表示授权结果。组件可以使用这个Hook来获取授权状态,并根据状态作出相应的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值