现在有这样一个场景,有一个小程序项目(微信端和支付宝端都有,一样的功能),但是现在需求方有这样一个需求,需求方会生成一个二维码,需要客户如果是微信扫就走微信的流程,支付宝扫就走支付宝的流程。
如果微信扫就看有没有登录,如没登录就直接授权登录,如果已经登录了就继续向下执行。支付宝也一样,这种比如微信扫了,如果微信没有登录,那需要授权登录,登录后我怎么再去跳转到需要的页面?缓存页面地址?
现在有这样一个场景,有一个小程序项目(微信端和支付宝端都有,一样的功能),但是现在需求方有这样一个需求,需求方会生成一个二维码,需要客户如果是微信扫就走微信的流程,支付宝扫就走支付宝的流程。
如果微信扫就看有没有登录,如没登录就直接授权登录,如果已经登录了就继续向下执行。支付宝也一样,这种比如微信扫了,如果微信没有登录,那需要授权登录,登录后我怎么再去跳转到需要的页面?缓存页面地址?
// 判断当前环境是否处理微信环境,如果是返回true,否返回false
cosnt isWeiXin = function () {
var ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
return true;
} else {
return false;
}
}
在进入页面的时候根据上面函数判断是否是微信环境,如果是判断当前是否登录,没有就申请登录授权
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
服务器可以检测用户的User-Agent来看他们用的是微信还是支付宝,你在根据这个重定向一下到相应的授权页面就行,比如如果检测到用户用的是微信,然后重定向他们到微信的OAuth2授权页面。用户同意授权后,微信会把用户重定向回你的应用,然后在URL里有一个授权码。后端可以用这个授权码来获取用户的访问令牌和OpenID,然后进行登录或者你的其他业务逻辑。支付宝也是类似的