大家好,我是郑哥。微信小程序是一个很好的体验。它使用起来简单快捷。这几天也在学习使用小程序。我总结了三种使用Python作为小程序后端的方式,供大家参考。方法一、微信云托管[1]。优点:无需购买服务器,无需域名备案,按用量计费,DevOps自动化,安全认证,适合没有运维经验的人。缺点:成本肯定比自建服务器的成本略高。就像同款车型,自动挡的车比手动挡的车贵。所谓云托管就是一个Docker容器。你只需要得到一个仓库。你可以在github、gitlab、gitee中的任意一个建一个仓库,写一个Dockerfile,上传到云主机。云托管会自动构建容器镜像并运行它。运行容器的方法都是可以自定义的。部署完成后,我们会得到一个默认的域名地址,这是服务对外提供服务的入口。可以作为普通服务调用访问,也可以绑定自己的域名。在小程序中,可以这样访问容器服务://确认在onLaunch中已经调用了wx.cloud.init来初始化环境(任何环境都可以,可以填空)constres=awaitwx.cloud.callContainer({config:{env:'填写云环境ID',//微信云托管的环境ID},path:'/xxx',//填写业务自定义路径和参数,根directoryis/method:'POST',//根据自己的业务开发,选择对应的methodheader:{'X-WX-SERVICE':'xxx',//xxx填写服务名称(微信云托管-服务管理-服务列表-服务名称),在上面的实践中,就是demo}//其余参数同wx.request});控制台日志(资源);有了容器,后台什么编程语言都可以,就看你擅长什么了,Python绝对没问题,还有Django官方模板,一键部署。方法二、微信云功能转移[2]优点:无需注册域名,有一定的免费额度。缺点:自己配置服务器。所谓云函数,就是运行在腾讯云上的Node.js函数。它只有计算逻辑,可以无缝接入云端数据库进行数据访问。小程序端调用云函数是这样的:wx.cloud.callFunction({//要调用的云函数名称name:'dailyexam',//传给云函数的事件参数数据:{x:1,y:2,}}).then(res=>{//output:res.result===3}).catch(err=>{//handleerror})Node.js函数实际上是一个异步javascript云功能中的功能,我们可以在自建服务器上请求服务,这样就不需要备案域名了。例如,在下面的代码中,域名somenzz.cn没有备案。云函数端是这样调用自建API服务的:免费额度通常很小,每天数据库读取次数不能超过500次,写入次数不能超过300次。因为自建服务自然可以用Python开发。方法三:自己搭建服务器,备案域名优点:省钱,访问量越多,越省钱。缺点:需要注册域名。如果不使用云函数和云托管,只能使用小程序端的wx.request函数请求自建服务:wx.request({url:'example.php',//只是一个例子,不是真正的接口Addressdata:{x:'',y:''},header:{'content-type':'application/json'//默认值},success(res){console.log(res.data)}})而wx.request函数有使用限制,如下:通常需要国内的服务器,然后记录域名,记录通常会劝阻大量开发者。因为自建服务器当然可以用Python开发。参考文献[1]微信云托管:https://cloud.weixin.qq.com/cloudrun?utm_source=idecloudconsole[2]微信云函数调用:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/capabilities.html#云功能
