现在除了用二维码之外,微信还可以为我们生成小程序码,大概长这个样子。
如果要生成无限制的小程序码,需要几个步骤
1、小程序某个页面的地址,也即是指定page参数的值;
2、获取access_token;
3、指定scene参数的值;
4、调用getwxacodeunlimit接口,并将返回结果存储到一个图片里。
page参数
page参数的值都是以pages开头的,后面加上能到导航到某个小程序页面的路径,例如:
pages/xxxxxx
获取access_token
这个比较简单,只需要根据小程序对应的appid和secret以及grant_type三个参数的值,就可以获取到access_token。
用JAVA写的话,伪代码大概如下:
Map<String,String> params = new HashMap<>(); params.put("grant_type","client_credential"); params.put("appid","xxxxxAppId"); params.put("secret","xxxxxxxAppSecret"); //发起请求 HttpResponse httpResponse = HttpClientUtil.get("https://api.weixin.qq.com/cgi-bin/token",params); //从response中获取token String token = httpResponse.getToken();
获取到token后,一般会设置有效期,然后将token存储到缓存里,避免每次都得去微信平台获取。
指定scene参数的值
scene的值可以是我们的业务主键,只要小程序内唯一就好。
生成小程序码
有了这几个参数后,就可以用
https://api.weixin.qq.com/wxa/getwxacodeunlimit
接口获取小程序码的内容了。从这个接口获取到内容后,将内容写入到图片里,最后将图片的URL发到小程序端。微信使用扫一扫就可以将小程序码识别出来。
使用单独的应用存储图片
在一些稍微大型的公司里,都会有自己的图片服务器,专门用来存储图片的。要读取图片,直接调用接口从图片服务器里读取即可。但是对于一些创业公司来说,通常没有能力也没有时间自己研发一套图片存储服务,通常都是使用第三方平台,例如七牛。七牛的图片处理还是很不错,将图片上传到七牛后,会得到一个图片的url,小程序端只需要解析这个url就可以显示小程序码对应的界面了。