• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序 生成小程序码

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

已经不想再吐槽微信小程序的文档写的多渣。这里记录一下生成小程序码的需要注意的事项,希望能给踩到坑的人一点借鉴。

 

微信提供三个接口去获取二码,这是官方文档地址

接口A和接口B都是获取小程序码(花朵状的那种),这俩接口的区别是码的生成个数。A的上限是10万张,B不受限制。接口C生成的是二维码(正方形的样子) 也是上限10万张。

 

这里我采用了接口B,先说一下实现的步骤:

1.获取appId和secret的值:appId可以去开发者工具的详情里面看,或者去配置文件里面里看。secret就是小程序密钥建项目的时候可以看到。

2.获取小程序 access_tokenGet请求 https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appId&secret=secret, 获取access_token。其中grant_type的值固定是client_credential。

3.获取小程序码的二进制流图片:用Post请求https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=access_token,传入page路由地址和sence页面参数获取图片的二进制流。

看起来2个请求就轻松搞定了,所以产品经理问起时,我信心满满的告诉他很快搞定。然后呵呵了....

 

碰到的问题有以下几点:

1.文档对sance描述的不是很清楚,让人误以为onload里面自带sance值。但其实刚开始这个值是不存在的需要自己去定义,值是获取页面数据的参数,只有用户通过扫小程序码进到页面的时候onload里面才会出现sance值。

2.sance值有大小和格式限制,只支持32个字符、数字、大小写英文以及部分特殊字符。比如当你需要传页面的id和其他参数,而页面的id是通过UUID生成的(UUID是由一组32位数的16进制数字所构成),那么只能寻求他法,把需要传的值变成32个字符以下。我就是这种情况。

3.小程序发布后page才有效,在开发版上会报错,所以想要看效果要先上线,好坑。上线前项目需要审核,要等一段时间。我发布的几个版本都等了3个小时左右。体验版没试过。

4.前台得到的二进制流图片无法解析,当顺利过了1,2,3步时,就可以成功的拿到了二进制流的小程序码。用wx的请求数据的方式却无法解析出来,而且微信目前也不支持blob。所以最后还是找后台人员帮忙了。前台只传sance和page值给后台,其他都后台做了。后台直接生成图片过来。

 

问题到这就解决了。花了好长时间,我的加班记录也是因为它破了。这里代码就不贴了。回想一下会出现以上问题,很大原因还是文档遗漏太多。

 

 

 

 

 

 

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
B接口-微信小程序带参数二维码的生成 - 绅士狼发布时间:2022-07-18
下一篇:
后台生成小程序分享二维码发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap