导师让我写个微信小程序,花了4天终于完结了,开心。小记录一下我都经历了什么。
如果觉得本文尚可需要转载,请注明地址哦:https://blog.csdn.net/sharonITlion/article/details/107992389
本文包含 微信开发平台,flask交互,腾讯云部署本地接口以及设置域名绑定
1. 微信小程序开发
这一部分主要参考微信小程序文档,会基础的html,css,js就行。
避雷点有:view替代div,利用flex布局。flex-direction: column 表示列排布,row表示横排布。
selectable='true' 表示长按可复制
2. flask交互
小程序:wx.request(本地IP地址)
flask:@app.route('/test', methods=['GET','POST'])
request.values.get("upload_image") // “upload_image” 来自wx.request({data: {'upload_image':e},})
3.腾讯云部署本地接口
云上部署:首先需要买一个服务器和一个域名;然后将本地代码传到服务器上
从0开始部署服务器:腾讯云项目部署 flask项目 傻瓜式部署全流程 (一)
腾讯云服务器 flask项目 傻瓜式部署全流程 (二) (server_name: 可以写服务器IP地址;网上的正则匹配或者 _ 符号 都是对的)
别着急,也许此时访问服务器外网IP地址,会出现500报错。
这时候,需要检查以下方面:
1)登陆服务器控制台,增加安全组,允许全端口(比较省事,但是有风险)或者特定端口(如监听端口80,443,22等端口),随后解绑原有安全组,增加上述新增安全组;云服务器中flask的api允许远程访问实战操作
2)检查防火墙问题:安全组中的特定端口,防火墙需要准过
安装以及配置教程:防火墙安装,配置防火墙,开启80端口、3306端口
3)检查端口问题:服务器中flask的app.run(host='127.0.0.1',port:5000) //表示服务器内部使用; app.run(host='0.0.0.0',port:5000) //表示外网可访问。此时在本地浏览器上用 服务器IP地址:5000 即可访问页面
如上还不能解决问题,可以看看腾讯云的文档:网站无法访问(故障排查)
4. 关于域名 购买的域名需要备案之后才能使用!!!购买之后首先需要实名认证,httpDNS解析 (以上均可在腾讯云域名的控制台实现,解析实现与服务器的绑定):我发现了不需要备案就可以使用的方法。首先开通云服务,然后借鉴该方案微信小程序云开发免备案
其他小坑:
1)微信小程序中需要关闭域名验证才能使用本地localhost或者服务器IP地址
2)微信小程序中wx.chooseImage 中获取的res.tempFilePaths是微信临时地址,无法使用,后期需要调用图片方面的API需要利用OSS存储过渡(即先上传OSS存储器在后获取返回的地址,此时的图像地址可以网页端浏览下载)
3)阿里云的OPENAPI 或者处于公测的API,购买后貌似不能常规调用,需要按照阿里云官方文档的SDK或者可视化网页中才可调用
4)在用微信小程序的wx.uploadFile()上传临时地址的图片到阿里云OSS时还挺复杂的。详情可见【微信小程序】上传文件到阿里云OSS (我是直接用这个是可行的,搭配require配置文件,直接下载该目录即可使用)
5)nginx启动的时候用service nginx start;查看状态用service nginx status;
6) 查看端口80: netstat -lnp|grep 80
7)解决服务器下线也依旧保持程序运行的问题:
用nohup command & // (以我的例子为例:command=python app.py) ; 注意&一定要加哦
随后所有的运行日志可以在nohup.out中查看
至此完成程序,感恩网络优秀的分享者们让我快速完成这次开发