万能表单这个小程序插件最近版本更新频繁,主要还是因为对小程序插件的开发有一个逐步深入认识的过程。
关于这个插件最初的想法,是在小程序中通过navigateTo直接打开一个page就可以了,于是发出了第1个版本。
在我们其他小程序项目的程序员对接的过程中,发现原来项目中的一些page的路径还是需要保留的,因为已经放出了大量的小程序码。那么在原来的这些路径下面的page就不能直接跳转到插件里面的页面,不然用户的体验不好。
换个思路将组件从小程序插件中放出来,以提供给这些page调用,可以解决以上问题带来的新问题是在小程序组件内发起 HTTP请求,并且将数据异步返回给调用的page,经过几轮版本更新,这个技术难点也逐步得到了解决。
插件升级的过程中还将原有的延誉宝cms的“通版商城”小程序项目中的自定义页面功能也抽取出来集成到这个插件中,方便其他项目快速集成开发。
在做这个插件的技术开发过程中踩过不少坑,这里简单罗列几个印象比较深的,供大家前车之鉴。
1,小程序插件的生命周期有两套函数,其中分装在pagelife中的,和小程序插件自身的几个生命周期函数,名称都是相同的,一定要仔细阅读官方的开发文档,弄清楚这几个函数的作用。
2,小程序插件中可以放心的发起wx.request,只要域名在后台设置的安全狱中即可,如果请求不成功,应该是设置或代码错误。
3,插件中不要随意使用navigateTo和redirectTo之类的跳转函数,因为小程序的插件在这方面有权限限制,只能在插件的内部页面中跳转,但即使在内部的页面中跳转,路径也与普通的页面路径不同,这个坑最深。
4,export参数挂接的外部函数,虽然代码写在外面,但是代码里面的逻辑同样是在小程序内部执行的,所以也必须遵守上面第3点中说的权限设置进行开发。