在使用 “apifm-wxapi” 模块开发小程序过程中,很多用户可能会遇到很多问题;
无法获取 openid
当前登录token无效,请重新登录
解决办法
查看系统日志排查错误
如果这里有错误信息,优先根据这里的信息进行排查,例如:
无法获取openid, code(043GXZZv3nuMqZ2RX34w3LVL4r2GXZZy),接口返回({"errcode":40164,"errmsg":"invalid ip 139.196.253.167 ipv6 ::ffff:139.196.253.167, not in whitelist, rid: 635115cc-49d9f49b-2d1df27a"})
那就说明你设置了IP白名单,而你又没有把 “api工厂” 的服务器IP加上去。
所以你要么取消白名单的设置;要么把“api工厂” 的服务器IP加上去:
106.14.43.122;106.15.66.205;139.196.253.167;121.36.243.129;47.103.1.124;139.196.174.85 ;
设置了IP白名单
初始化 “apifm-wxapi” 的时候,有没有正确配置你的专属域名
WXAPI.init('gooking')
这句代码必须要写到小程序js文件的 onLoad 方法里面!不要放在头部!
这里的 “gooking” 一定要是你自己的专属域名
《免费注册开通后台,获得专属域名》
api 安全域名有没有设置
开发工具上可以设置不校验 api安全域名
可以参考这篇文章的域名设置章节:
《使用 “apifm-wxapi” 快速开发小程序》
如果是正式上线,请参考下面的文章进行设置
确保下面3个地方的 appid 必须要保持一致
- 登录你的小程序商户后台(https://mp.weixin.qq.com)左侧菜单 “开发” --> “开发设置” 中的 appid
- 点击你的小程序开发工具 右上角 的“详情” --> “基本信息” 中的 appid
- 登录你的 api工厂 后台(https://admin.it120.cc),左侧菜单微信设置中的 appid
code 重复使用
code 只能使用一次,不要在登录和注册逻辑中使用同一个code,code使用一次后即失效,如果是同一个code使用多次,就会出现问题: