微信小程序+腾讯云函数+云MySQL数据库配置记录
背景
博主和组员正在准备做一个微信小程序前端+服务器+数据库的项目。有一位组员已经准备好了腾讯云MySQL数据库,提供公网地址,现在需要做小程序和服务器、服务器和数据库通信的解决方案。
正文
(又名,踩坑记录XD)
废弃方案之一
众所周知,从零开始配服务器是一件相当麻烦的事情,所以一开始自然想到的就是用小程序原生的云开发能力(甚至想把数据库也迁移过来),然后,然后博主就点进了计费页面:
10个云函数…虽然不知道是不是博主的理解有问题,但为了防止开发到一半发现翻车,果断跑路…
废弃方案之二
从组员那听说阿里云学生认证可白嫖两个月服务器,遂注册,然后,博主就经历了小程序wx.request必须HTTPS连接 -> HTTPS需要SSL证书 -> 免费证书不支持IP公网地址 -> 需要买域名、备案的“心路历程”。经尝试百度寻找绕行黑科技,结果被一堆阿里云社区网站题文无关的文章洗脸后,果断跑路。
(至少是暂时的)解决方案
话说看腾讯云数据库文档时正好看到Serverless产品分类里有云函数,方案二尝试无果突然想起,遂开始研究。好家伙,看到这个免费额度,我直呼良心:
背景介绍至此,进入正题。
注册账号、开通服务blabla就不说了,首先进入云函数控制台,左侧函数服务->新建,在模板页搜索mysql,从以下模板创建:
下一步,私有网络暂时选择不启用,这样云函数会走公网访问你的云数据库,先这样测试,后期再改成走私有网络,速度更快而且不计出外网流量:

函数名称和描述随意,其他设置不用改:
此时云函数就创建好了,然后我们要开放一个外网能调用的API入口。在云函数控制台页面,点击刚才创建的云函数OperateMySQL,左侧触发管理->创建触发器,如下配置:

新建一个API服务,名称随意,注意关闭集成响应。然后我们就获得了一个公网可以访问的路径(最下面一项):
左侧回到函数管理,网页打开了一个在线编辑器,我们可以直接在这里写自己的函数,不用操心其它繁琐的配置。

在下方把自动部署打开,这样当我们保存文件时会自动部署函数(注意如果当前函数上有流量则不建议这么做)。
然后将mysql.createConnection的参数换成自己的云数据库外网地址,如下(注意,添加一项port写你的外网端口号):

这里作为测试,我们从数据库的Test表中选择所有并返回,至此,服务器端已准备就绪。
连接小程序
在小程序中,使用wx.request函数可以发送一条HTTPS请求。创建一个空白微信小程序项目,在bindViewTap函数中,注释原来跳转到log页面的代码,改为:

url处填API网关触发路径,编译,点击用户头像,即可看到控制台输出SQL结果,连接成功:

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
