请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

在Pc端和微信端访问前端项目的区别

我想问一下一些细节的过程。在pc端访问sell.com项目,sell.com会判断这是pc端访问,还是微信客户端访问,如果是PC端的话,sell.com会判断PC端是否
有name=opeind的cookie,如果有的话,就认为你在微信登录过了,就让你访问了。如果没有的话,就报警,请在微信端登录。

如果在微信端访问的话,sell.com判断是微信端,就直接访问后端项目的接口,
通过后端项目调用微信的一些接口来获取到openid,然后重定向到sell.com/?openid=…,把openid以cookie的形式传递到微信客户端,并
跳转点餐页面给微信用户。 想问下是这样的过程吗?,如果有错误的话,请说明下。

正在回答

1回答

廖师兄 2019-03-31 23:20:13

不是这样子的。你在pc端访问,会跳转到一个界面,提示你在微信端打开。这是跳转到微信授权地址,微信判断是否是微信端。我的java程序并没有判断。

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕圣2348530 #1
    在pc端访问,浏览器端没有cookie的话,那么linux上面的前端代码就会让你去微信端访问。我的理解是这本意是限制用户在微信端访问。老师自己是知道这个项目的前端是靠名字为 opendid 的cookie来判断,所以直接在浏览器点加cookie,是为了方便调式。而在微信端访问的话,微信内置浏览器没有cookie的话,前端项目就会访问后端的java接口,获取到对应的openId,以cookie的形式存在微信内置浏览器,并返回点餐首页给用户。接着,在微信端用户点餐下单的话,因为已经有cookie了,就不用在授权了。直接把cookies,就是openid传递给后端,然后生成订单。是这样的过程吗。微信授权和支付我都已经测试过了,只是前端的项目我目前还没有看过。上面的过程是我根据这个后端项目假设的。
    回复 有任何疑惑可以回复我~ 2019-04-01 10:32:00
  • 廖师兄 回复 提问者 weixin_慕圣2348530 #2
    非常正确,就是通过cookie来控制跳转的。
    回复 有任何疑惑可以回复我~ 2019-04-01 22:43:33
  • 提问者 weixin_慕圣2348530 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-04-05 13:26:51
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信