主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
本文向您介绍了微信小程序云中开发和动态制作小程序代码的方法,希望对您有所帮助!
第一,序言因为很多学术和工作相关的事情“拖”了很长时间而被废弃。在这段时间里,我学到了很多东西,做了大大小小近10个项目。在这个过程中,我越来越感受到记录的重要性,于是就想着抽时间写博客,记录一些开发过程中的知识点。这是老生常谈。不仅仅是为了下次回头看,也是为了帮助有需要的人。【相关学习推荐:小程序开发教程】
二。需求分析在日常的微信小程序项目中,我们经常需要用到一些宣传海报、邀请海报等功能,比如一张邀请好友的海报。生成后,用户可以发送朋友或转发朋友的邀请。然后,我们需要知道哪些用户是你邀请的,这样方便发出打赏。这些都是很常见的诉求。那么如何达到类似的要求呢?
第三,思路分析。其实这些海报最关键的一个就是二维码(小程序码),长按扫码识别参数。
通过查阅微信小程序开发文档可以知道,一般来说,这种二维码有两种生成方式,有引用(小程序代码)。当这种带参考的二维码画在一张海报上,我们可以通过这个二维码的参数来识别是哪个用户生成的海报。当其他用户扫码进入小程序时,可以将该标识的id保存到数据库中,然后确定是谁邀请了发帖人。
很久没有码字了,可能有点累赘。
总结一下:要根据二维码的参数判断是谁的海报,这个参数必须能定位用户。一般来说,用户的openid可以作为这个识别参数。
举一个简单的例子(云开发):
定义集合:用户
有两个用户。
U1
字段名value _id123456789的描述就用云数据库自动生成的id,不用自己生成。_openid112233是插入数据时自带的,也是系统字段superiorId445566的上级的openid字段U2。
字段名value _id987654321的描述就用云数据库自动生成的id,不用自己生成。_openid556677是插入数据时自带的,也是系统字段。在superiorId112233的上级openid字段上方的数据表中,很明显U2扫描的是U1的二维码(小程序代码),所以U2的superiorId字段的值就是U1的openid。
然后,当我们需要统计U1邀请的人数时,可以查询数据中有多少用户的superiorId的值等于U1的openid。
四、实现它的两种方式。如前所述,这种需求的实现方式大致有两种,下面我们就来分析一下这两种实现方式各自的特点。方便我们在开发过程中选择合适的方法。
一种方法:小程序代码
微信动态生成小程序有三种方式。这里只说云调用,云调用是传统服务器开发的,可以根据文档操作。原理大致相同。
1.接口a:wx code . create QR code
2.c接口:wxacode.get
3.接口B:wx code . get unlimited
列出了一个表来分析这三个接口。详细介绍可以点击标题直接查阅官方文件。
生成的接口数量是有限的,时间限制携带参数长度,AAC接口加起来不超过10W,长期128字节接口CAC接口加起来不超过10W,长期128字节接口B是无限的,长期32个可见字符可以看到,其实AC接口都在一组,实际使用方法差不多,只是参数会有所不同。
AC接口和B接口的区别在于生成的数量限制和携带参数的长度。所以选择的时候要考虑两个条件:生成的数量和携带的参数长度。
两种方式:普通二维码
简单对比了小程序码的三个界面之后,我们再来看看这个普通二维码的特点。如果以上三个接口不能满足业务需求,比如参数比较长,生成数量特别多的场景,可以尝试通过这个普通的二维码来实现。
与界面相比,生成二维码的数量没有限制。参数理论可以很长(我没试过有多长,但肯定比128长),药方也是长期有效的。这样看来,不管业务场景如何,直接选择这种方式似乎是对的?
不会,当然普通二维码至少需要考虑这两个方面。
1.开放范围:企业、媒体、政府等机构的小程序。换句话说,它不支持个人开发者账户的开通和使用。
二是开发相对复杂,需要使用服务器和域名进行配置。会踩出很多洞。
因为这种方式的实现有点复杂,这里就不赘述了。有这个需求的朋友可以私信我,互相学习。
最后需要注意的一点是:无论是哪种实现方式,小程序都必须释放后才能正常扫码。
动词 (verb的缩写)AC接口实现的代码示例(云开发)B接口和AC接口类似,可以直接去官网看代码示例。应该可以打个比方。所以这里我只用AC的一个接口。还是会导致一些常见的问题。
1.新建云函数后,在config.json文件中配置权限(以createQRCode为例)
2.index.js代码
const cloud = require( # 39;wx-server -SDK # 39;)cloud.init({ env: cloud。DYNAMIC_CURRENT_ENV,})exports.main = async (event) = >{ try { const result = awaitcloud . open API . wx code . create QR code({ path:event . path,width:event . width })return result } catch(err){ return err } } 3 .调用(如果不是本地调试,记得提交云函数)
If (posterType == 1) {//配置页面路径和参数path = " pages/index student 1/index student 1?上级= +上级zhujicankao ; 上级= +superior 2 } else if(posterType = = 2){ path = ;pages/teacher submit/teacher submit?superiorId = +上级D2 }//调用云函数,请求生成小程序代码缓冲区数据const QR code obj = awaitwx . cloud . Call函数({ name: # 39;创建QR code # 39;,数据:{path: path,width: 430} }) //需要注意的是,返回的数据是缓冲区格式的。//需要转换成base64格式(为了方便存储和复用,毕竟次数有限)const base64 = " data:image/JPEG;base64 ;+wx . arraybuffertobase 64(qrcodeobj . result . buffer . data)//直接把数据扔进image组件的src参数就行了。This.setdata ({imgur: base64}) 4。页面结构
5.影响
不及物动词解释和优化只是截取部分关键代码。小程序代码也处理过了。
触发该功能并实现复用的代码还没有发布(为了安全不方便发布)。
如果是优化,第一件事肯定是考虑复用,就是新用户第一次调用云函数生成,下一次直接从数据库读取生成。
当然,前提是参数一致。
为什么要重用?主要是因为即使是同一个二维码,参数都一样。你调用了十次函数生成,可以看作十个代码,而不是一个代码。所以在数量有限的情况下,要尽可能考虑复用。
如果这篇文章对你有帮助,请喜欢。有关编程的更多信息,请访问:编程视频!!以上是小程序如何动态制作小程序代码的详细内容。请多关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 如何在applet中生成applet代码(applet生成applet代码)
- 小程序如何动态制作小程序码分析(如何在小程序中动态生成小程序二维码图片)
- 如何在小程序中生成小程序代码(如何生成小程序代码)
本文由主机参考刊发,转载请注明:浅析如何动态制作小程序代码(如何做微信动态小程序) https://zhujicankao.com/76362.html
评论前必须登录!
注册