微信支付

解决方法是这样的,前端用户点击我要用微信登录按钮->此时请求应用 API 接口,我们叫他小张把,小张做啥呢?就是给你生成跳转收到微信的 URL,然后,前端拿到 url 后 location.href=xxxx 进行跳转,然后微信跳转回来后不是带了 code 么?你现在应该卡在 code 这儿了吧,该怎么做呢?记得生成小张这个接口么?前端请求小张的时候啊,小张需要让你带上一个叫做 redirect_uri 或者其他名字的参数,这个参数就是微信跳转回来跳转的接口,然后,你的页面就拿到了 code 了,这个时候,让写接口的哥们儿给你写一个叫做小王的接口,小王做什么呢?小王就等你拿 code,他去根据 code 获取你们这边的用户信息,如果没有,他可以无私地自动创建一个,也可以告诉你用户没有在系统中注册,你手动告诉用户进行注册或者绑定你们的账号,完了

好了,说下小张这个接口,这个接入我们可以让他变得更牛逼点,做啥呢?小张接收我们应用的 redirect_uri,然后小张生成跳转微信的 uri 的时候优雅一点,假设我们应用的 hostname 是 baidusb.cn ,前端想要收到 code 的 url 是 baidusb.com/wechat/code,之前说的是让微信直接跳转 baidusb.com/wechat/code,现在不这样做了,让我们应用来跳转,比如我们的应用也就是服务端的小伙伴写了一个固定的接口叫做 api.baidusb.com/wechat/code/callback,微信先跳这个 URL,然后这里做 code 和 state 校验,完事儿了之后再跳到 baidusb.com/wechat/code 这儿来,baidusb.com/wechat/code,这样很多个子应用都可以用啦,当然,这只是其中一种比较好的办法

posted @ 2018-07-04 14:21  小二的黑豆  阅读(197)  评论(0编辑  收藏  举报