这个地址 后来查看开发文档说是不可变的固定的,也就是说这个地址是固定格式,里面存在小程序的appid,这就好办了,那小程序访问的接口中我们通过appid 拿到不同小程序的appid 和 秘钥 这样就可以区分小程序了,然后做不同小程序的授权 和 所以 关于 微信api的调用都可以实现。
也就是说 同一个微信号 针对 4个小程序,在业务逻辑上 是4个不同的 user_id 因为openid都不同。
方案确定了 ,那就是实现了,实现就很简单喽。。。
我拿我的后台接口举例哈,我接口是用php写的。无论哪种语言都是大差不差的。
我先把所有小程序的 appid 和秘钥 在配置文件配置好:
接下来就是在路由拦截的地方做个权限判断,因为所有接口都要通过一层路由中间件做分发处理,权限验证:
那这就是获取小程序访问接口的appid 如果不存在 或者 appid 不正确那就直接 提示用户非法请求。
如果正确可以获取配置信息 那就走正常业务处理。。。
因为在中间件里面我们已经可以获取到配置文件信息了,所以 每次请求我们都会携带上appid 给后面的逻辑,也就是说 所有的请求 都会携带appid 在走到业务层面的时候 appid 存在 且 正确
这时候我们根据appid 再去初始化 config 配置信息 给以后所有涉及 小程序api 调用的业务做 配置。
这样就能实现一套api 多个小程序公用的 区分设置了。啦啦啦啦
最后业务实现了,我们最后最好在 数据库当中 留存一下 是通过 哪个小程序进来的 ,这样我在数据库user 表中 添加了一个 appid的字段
这样就很容易区分哪个用户是通过哪个小程序进行访问授权的。
HTTP协议返回302错误,表示小程序发出的请求地址被服务器端强制跳转,假设小程序请求的是A网址,但是因服务器端的拦截器或其它服务端处理程序,A网址会被强制跳转到B网址,因此返回302错误。解决方法是:
修改服务器端的拦截器或或对A网址重定向的服务端处理程序,去掉对A网址的拦截或重定向,小程序就可以正常接收服务端回传的数据了。
小程序不是配置好域名就可以访问后端。根据查询相关资料信息显示:微信小程序访问后端必须是用https加域名的方式调用,而且必须用默认端口不能手动指定端口,否则微信会给拦截下来无法调用,同时域名配置好之后还需要SSL证书申请和安装,只有安装好之后才能访问后端。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)