php小程序 100行左右,PHP微信小程序——一个后端对应多个小程序前端APPID

2018-05-10

最近遇到一个项目,商户申请了十几个小程序APPID,小程序的程序逻辑实际是一样,调用的接口也一样,只是界面上有差异,因此这些小程序都对应了一个统一的后端(要是搞十几个后端就崩溃了)。

那么问题来了,一个后端对应多个小程序前端,APPID如何切换呢?

最后想到的方案是,前后端统一制定一个规则,由前端小程序在调用后端接口的时候传参(参数规则为:cur_appid = 序号+APPID前几位)告诉后端当前用的是哪个APPID,后端维护一个固定的数组,保存所有APPID相关信息,键名即为序号+APPID前几位

c75e1a6fc0c30a9f6db96294d919ac33.png

然后在接口的公共父控制器里判断是否传递了此参数,如果传递了就获取数组对应的值并更新微信官方SDK中的配置文件WxPay.Config.php(因为官方SDK都是从这个配置文件取值的),

a604aa6532dd0568c37774135873050a.png

这种方式的改动量是最小,但是还是遇到了一个问题,就是WxPay.Config.php中的APPID等配置都是const常量,常量是没办法动态修改的,所以只能改成static静态变量

3278d429d47f0ac9fe21b3c5e56e727a.png

同时相应的WxPayApi.php中的变量引用方式也要改变,有好多处,我是统一替换的

59eb96892f3eec796c0d36d0f4844162.png

至此,基本大功告成,不过在具体的接口控制器中最好还是判断一下是否传了APPID,避免父控制器漏过去~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值