应用场景
在开发微信小程序的时候,经常会遇到分享小程序场景,如今微信对没有认证的小程序禁用了分享功能,那么我们可以通过生成小程序码的方式进行分享,别人通过扫码二维码依然可以进入我们的小程序,如下图所示:
各位可以扫码上方二维码,即可进入到小程序指定页面中,这种相信大家经常能够遇到,比如说分享一些商品或者促销互动等等,都是这种场景。
还比如下方这种功能型页面,通过用户生成小程序码,由管理员扫码进行核销的场景等等。
生成方式
这里为大家介绍两种生成小程序码的方式,第一种是小程序后台自带的小程序码生成工具,第二种是通过调用我封装好的云对象的方式获取。
一、后台自带的小程序码生成工具
不知道有多少小伙伴知道这种方式,在小程序后台,在菜单中找到小程序码,输入小程序页面路径,路径是可以传递参数的,点击完成即可生成指定路径带有参数的小程序码了,还是比较方便的,但是这种只能是管理员或者开发者生成,适合于生成比较少的小程序页面。
二、在程序中调用云对象生成小程序码
这种是最常用的方式,不仅限于管理员,开发者只需要进行相应的开发,用户即可在你的小程序中使用小程序码进行分享。
小程序码的获取有三种分别是:getQRCode、getUnlimitedQRCode、createQRCode,小程序官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getQRCode.html
1)getQRCode 生成永久有效,有数量限制的小程序码
特点:生成小程序太阳码,永久有效;
优点:可以传递path路径,可以携带参数,最大长度 1024 个字符,可以定义小程序码的样式,属性与getUnlimitedQRCode一致,见下面的说明;
缺点:有数量限制,与 createQRCode 总共生成的码数量限制为 100,000,请谨慎调用。
2)getUnlimitedQRCode 生成永久有效,数量暂无限制的小程序码
特点:小程序太阳码,永久有效;
优点:小程序码样式可以自定义,可控制的属性较多,比较推荐;
缺点:参数需要放到scene属性中,最大32个可见字符。
属性:scene(参数),page(页面 page),check_path(检查page是否存在),env_version(小程序版本),width(小程序码尺寸),auto_color(根据logo自动配置小程序码主色调), line_color(自定义码颜色),is_hyaline(是否需要透明底色)。
3)createQRCode 获取小程序二维码,永久有效,有数量限制
特点:二维码,永久有效,适用于需要的码数量较少的业务场景;
优点:path页面路径可以直接传递属性,最大长度 128 个字符;
缺点:只能设置二维码大小,没有其他样式可以设置,有数量限制;
使用封装的uniCloud云对象
云对象已经放置到gitee中,大家可以点击链接进行下载,找到wxQRCode文件夹,然后放置到自己的uniCloud -> cloudfunctions 目录下即可,地址:https://gitee.com/qingnian8/wxQRCode