微信团队有很多坑! 这次业余时间帮助朋友开发了一个微信小程序,逻辑流程并不复杂,但中间坎坷是真的多.
先说说制作一个微信小程序都需要些什么.
前提是,如果你要做一个与自己后端有交互的程序,而不是简单的计算工具小程序…
首先需要一个备案过的域名,一台后端服务器,你的后端要可以使用HTTPS来访问,以及开通TLSv1.2
这些你都具备了,就可以在小程序发布以后,少走很多弯路.
首先!第一个坑就是参数传递.
在微信的方法内,要传递本page/data里的参数的话,是需要进行处理的
不多说,上图了.你要在onLoad里访问你的data参数,必须使用 var that = this;
然后用that来调用,比如你要调用money你就必须
var that = this
that.data.money
//或者你要设置参数
that.setData({
money: XXXXX
})
这样就可以达到你想要的效果了.
其次对于调式阶段和上线阶段很多的坑等着你.
比如,你在开发阶段的时候各种调试可以使用http的地址,也可以使用好几个域名在程序内各种调度参数.
等到小程序上线你就会傻了眼了,参数全都不见了,为什么程序会报错?等等
实际上你需要去配置里配置你的可用域名.
这个域名必须是https的而且备案过,而且要能使用TLSv1.2来访问
绑定好你的域名之后更大的问题等着你.你会发现你的wx.request调用的mp.api.weixin.com的所有端口
统统拿不到参数了.
对!就是你绑定域名的问题! wx.request方法内只能访问你绑定好的域名!
所以不要想着让微信服务器替你承担压力,你必须把所有包括获得token呀,openid呀之类的参数交给你自己的后端来处理!
包括生成二维码也是一样,我是比较菜的…所以只能将调用端口生成的二维码在服务端持久化后把地址推给前端显示…如果有大牛可以指导一下如何使用arrayBuffer的形式从后端把数据传到前端来用base64,XX的形式渲染那就真是万分感谢了!
希望记录点东西可以帮助各位辛苦的同志们减少点痛苦…