vue这种应该用什么样的思路?

现在有这样一个场景,有一个小程序项目(微信端和支付宝端都有,一样的功能),但是现在需求方有这样一个需求,需求方会生成一个二维码,需要客户如果是微信扫就走微信的流程,支付宝扫就走支付宝的流程。

如果微信扫就看有没有登录,如没登录就直接授权登录,如果已经登录了就继续向下执行。支付宝也一样,这种比如微信扫了,如果微信没有登录,那需要授权登录,登录后我怎么再去跳转到需要的页面?缓存页面地址?

阅读 2.5k
2 个回答

服务器可以检测用户的User-Agent来看他们用的是微信还是支付宝,你在根据这个重定向一下到相应的授权页面就行,比如如果检测到用户用的是微信,然后重定向他们到微信的OAuth2授权页面。用户同意授权后,微信会把用户重定向回你的应用,然后在URL里有一个授权码。后端可以用这个授权码来获取用户的访问令牌和OpenID,然后进行登录或者你的其他业务逻辑。支付宝也是类似的

// 判断当前环境是否处理微信环境,如果是返回true,否返回false
cosnt isWeiXin = function () {
  var ua = window.navigator.userAgent.toLowerCase();
  if (ua.match(/MicroMessenger/i) == "micromessenger") {
    return true;
  } else {
    return false;
  }
}

在进入页面的时候根据上面函数判断是否是微信环境,如果是判断当前是否登录,没有就申请登录授权

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题