首先,采用的是原生开发,框架也都了解过,我也是VUE的忠实爱好者,但是还是不想去踩用框架的坑,等稳定点再说哈哈,原生本身就足够强大。一开始写不太熟练边看文档边写还抄抄github上的各种栏。其实和HTML很接近,主要耗时还是在CSS样式方面。后台也就认证,发模板这种要点操作,但是都是做一次就会的操作。可以说小程序的入门门槛比传统的web开发要低一些。但同时成本也是提高了,就像要使用HTTPS协议,备案这种就需要很长的时间成本。
1.对于第一个问题:默认的使用分享分享到的只是一个页面,如果用户按返回是无法继续在小程序页面的,这当然对引流不利,对于这种其实使用一种很取巧的方法就可以了,简单描述一下这个方法,基本都会。
在这个页面的分享事件中(onShare事件),我们都知道可以设置title,path这种,在这里我们设置一个path,在路径后面用url传值的方式,带上“?XXX=XXX”,然后再需要有返回的页面中的onload事件中,每次判断这个XXX的参数存不存在,来判断是不是由分享卡片进入,如果存在则表示从分享卡片进入,然后设置一个定时器,setInterval或者settimeout,直接跳转到那个分享卡片的路径,这样用户既看到了那个页面,又能返回我们想要他返回的页面。
2.第二个问题,接上面的问题,也许有人知道setInterval和settimeout的区别了,觉得都可以用用法类似,其实小程序里的setInterval是无法主动在unload事件中释放的,需要手动释放,这点我也是在web开发者工具中的Audits体验检测中被提示的,两者区别其实和web的区别没有区别,前者可以执行多次,后者一次就完了。如果对于我上面说的场景,如果用前者,你要去手动释放它,比如将定时器绑定到data的变量中,然后clear它。对于后者就不必了,因为本就是只用一次的,但对于用多次的场景,一定要去手动回收。
3.第三个问题
使用web-view标签,详情可以看微信官方文档,很强大的工具,不要理解成src跳转后就直接是网站了,不再是在小程序里,其实还是在小程序里,只是小程序的页面被这个src所指向的路径所占满了,按返回仍然能返回之前浏览的小程序页面,分享这个页面也仍然还是在小程序里,所以有些在web后台使用富文本上传的那种其实很没必要这种成本,公众号的文章效果很难达到的,直接使用公众号写文章资讯然后直接跳转过去是个很直接的方法。
4.第四个问题如何上线:
首先后台要是认证备案超过24小时的,并且协议是https的地址,认证备案没办法大多数只能去老老实实备案(遵纪守法),注意这样认证得到的是http协议的,我们要加个ssl证书,传统方法有点麻烦,有个比较好的方法推荐,github上搜索acme,是个比较好的脚本,可以自动更新证书,两三个命令就自动配置证书。下面是地址(比手动方便的多)
这里我是使用nginx,由于https采用默认端口是443,而http是80,我们让80的所有资源跳转443,具体可以百度,然后将后台启动在别的端口,将nginx监听的443端口下的location/的proxy代理项改为你后台的端口,这样小程序就能调用该域名了,然后记住要去微信公众平台设置你的小程序request域名,必须备案超过24小时才可合法。设置完成后即可体验,最后就是提交微信官方审核上线了。
如果还要部署后台也简单,在监听的端口,再开一个location项,然后把后台的静态文件反向代理来解决跨域问题,就可以访问后台了。
总结:就像刚学C语言一样,坑是一直有的,但是不能被坑坑再里面,虽然打算考研,但是偶尔编程relax一下自己发散一下思维感觉也还不错。