# 微信公众号网页登录与支付

公众号网页是比较常见的微信开发,一般我们可能会用到登录,分享,支付等等微信网页具备的功能。做好微信开发,不仅电脑要进行hosts更改,公众号平台也需要做一些配置,同时还要熟悉开发流程。

# 开发之前的准备工作

# 开发者需要做的工作

通常,网页服务器http默认端口号是80,https默认端口号是443,当我们输入网址的时候,端口号是可以省略的,比如输入www.baidu.com:443最后出现的域名是https://wwww.baidu.com

同理,当我们本地的服务启动在80端口后,我们访问127.0.0.1:80与访问127.0.0.1的效果是一样的。

因为配置微信登录需要一个重定向地址,该地址是一个域名比如是cc.com,如何让开发的电脑输入cc.com但是展示的是127.0.0.1:80端口上的东西,这就需要用到域名重定向了,window用户可以修改本地host进行域名重定向。这样当用户访问cc.com时,会重定向到127.0.0.1这个ip地址,所以说,用户实际看到的网页其实是本地运行在80端口的网页。在host文件增加下面一行

127.0.0.1  cc.com

像支付这种操作必须得在手机上才能完成,如何让手机输入cc.com展示的是电脑127.0.0.180端口所运行的程序呢?这就要用到代理了,首先,手机和电脑必须处于同一个局域环境。然后需要安装Fidder4或者charles代理手机请求,这里先不介绍如何使用这两款软件了...

紧接着我们就可以正式进入开发了

# 公众号后台需要配置的东西

关于登录与支付的配置,在文档中有,微信支付开发文档-登录授权与支付授权 (opens new window)

# 微信登录

网页按钮 ---> 点击 ---> 调用后端接口并传递redirectUrl --> 后端接口把redirectUrl和比较隐私的appid等信息进行拼接返回给前端一个路径地址

--> 前端接收到请求并跳转到这个路径 --> 页面出现是否授权的弹窗 --> 点击授权之后微信会自动跳转到到一个链接(该链接包含redirectUrl和query参数code&state)

--> 前端取出code --> 调用后端接口 --> 后端接口请求微信的接口并获取到token, refresh_token, openid, token过期时间等

--> 后端将access_token等信息保存 --> 后端生成自己的token给前端

前端发送请求用户信息接口 --> 后端在第一次拿到access_token的时候就已经从微信开发者链接发送请求获取到用户的信息了 --> 结果发送给前端

# 微信支付

微信支付需要用到 Fidder4或者charles 等代理工具。

// todo

# 参考

LastEditTime: 2021/5/25 16:41:23