比如,我现在有100个客户要做小程序,怎么共用一套代码(代码已写好),用客户ID来区别。打开小程序,能根据客户ID显示对应客户的数据。第三方平台的授权、覆盖全网都已经弄好。知道怎么做的或官方看到了能解答下问题(说看文档的请绕过,文档说的太笼统了,好多细节都不知道怎么回事)
不清楚的地方:
1、ext.json配置文件是要上传1次还是要上传100次。是directCommit=false上传到草稿箱弄成模板,还是directCommit=true上传到审核列表提交审核
2、如果第一点解决了,是不是只要在首页使用 wx.getExtConfigSync 或者 wx.getExtConfig 获取到配置里的客户ID,再发起请求就行。
我想要的效果:100个客户的小程序使用同一套代码,能根据客户ID显示对应客户的数据。
经过多次尝试,已经解决,获取客户id来获取对应的数据。
1、准备工作做好(授权,绑定这些等)
2、上传代码到模板里面
3、指定代码
4、获取体验二维码(为了检查是否获取到了客户ID)
5、获取客户id
6、多个小程序的话,每次给小程序指定代码的时候,参数改一下指定代码就行。
7、下面是2个小程序指定代码过程的截图
第一个小程序:
第二个小程序:
获取体验二维码按照文档接口来做就行。代码里提前写好获取参数的代码
let extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
console.log(extConfig.shopid);
that.setData({ shopid: extConfig.shopid});
到此,通过获取不同客户ID来获取对应的数据就做完了。
我昨天也才搞明白是什么逻辑,官方写的文档很容易被误导。
开发的时候,写的ext.json只是开发的时候用,最终提交代码的时候,每个不同客户是需要生成不同的ext.json然后再提交审核,这样小程序运行的时候就可以通过获取这里面的配置参数来做区分了。
四不四这样的?
是这样的,不同的ext.json提交。我也是试了一天才知道的
wx.getExtConfigSync is not a function;App catch error in lifeCycleMethod onLaunch function
你们有遇到这个警告吗?我是在onLaunch里面调用的wx.getExtConfigSync
同问!!!!研究了1天没明白是咋区分不同客户。