我这两天也遇到了这个问题,后来才发现,微信设置回调域名时候,还有个业务域名需要设置。
假设你的云服务的二级域名为xxxxx.applinzi.com(新浪云服务器),那么你的的微信公众号里面也需要设置这个为业务域名
只有设置了业务域名,且该域名已ICP备案,那么微信回调的code就不会两次使用,因为如果没有设置业务域名,那么用得到的code去获取access_token这个访问就会访问两次,即刷新一次,这样一来的话code就会使用两次,而微信明确code只能使用一次,那么这个时候就会产生code has been used的错误