内容简介:本文章代码已上传GitHub:直接上干货,主要是利用微信的云函数和注:微信小程序APPID(请自行去地址注册
微信小程序云开发—云函数连接MySQL
本文章代码已上传GitHub: https://github.com/aquanlerou/miniprogram-cloud-development
直接上干货,主要是利用微信的云函数和 Sequelize
进行连接外部 MySQL
,本文章主要讲述:
MySQL MySQL
注:微信小程序APPID(请自行去地址注册 https://mp.weixin.qq.com )
拉取我的代码或则创建一个新的云开发小程序
//本文章主要的代码在一下目录中 miniprogram-cloud-development ├── cloudfunctions │ └── mysql ├── miniprogram │ └── pages │ └── mysql ├── project.config.json └── README.md
选择已经配置好的 mysql
页面编译模式,在编译器中直接打开 MySQL
页面
我们页面代码也只需要一行代码,按钮进行触发云函数即可。
mysql.wxml
<button bindtap="mysql">mysql</button>
mysql.js
Page({
mysql: function(event) {
console.log(event)
//调用云函数
wx.cloud.callFunction({
name: 'mysql' //调用我们后面写的 mysql 云函数对应命名
}).then(res => {
console.log(res)
})
}
})
这是我们前端看到的页面了,就一个按钮触发云函数的页面就写好了。
创建连接MySQL云函数
可以看到我的代码中已经创建好一个叫 mysql
的 index.js
云函数如下
const cloud = require('wx-server-sdk')
const Sequelize = require('sequelize')
// const sequelize = new Sequelize('数据库名称', '用户名', '密码', {
const sequelize = new Sequelize('xx', 'xx', 'xx', {
host: '119.28.161.110',//云数据库IP地址
port: 3306,
dialect: 'mysql',
operatorsAliases: false,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
}
})
//创建USER表,表结构为一个firstName和lastName字段同为String类型
const User = sequelize.define('user', {
firstName: {
type: Sequelize.STRING
},
lastName: {
type: Sequelize.STRING
}
})
cloud.init()
exports.main = async (event, context) => {
//这里进行调用创建USER表,并且插入一条数据,最后返回结果给调用者。
return await User.sync({ force: true }).then(() => User.create({
firstName: 'Huangquan',
lastName: 'Wu'
})).then(res => {
return res.toJSON()
})
}
Sequelize
的文档地址: https://sequelize.org/v4/
下面我们要在个云函数 miniprogram-cloud-development\cloudfunctions\mysql
目录打开终端,安装 Sequelize
的依赖
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 D:\Git\miniprogram-cloud-development\cloudfunctions\mysql>npm install --save sequelize npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN mysql@1.0.0 No description npm WARN mysql@1.0.0 No repository field. + sequelize@5.21.6 added 21 packages from 93 contributors and audited 22 packages in 7.577s found 0 vulnerabilities D:\Git\miniprogram-cloud-development\cloudfunctions\mysql>npm install --save mysql2 npm WARN mysql@1.0.0 No description npm WARN mysql@1.0.0 No repository field. + mysql2@2.1.0 added 19 packages from 21 contributors and audited 41 packages in 10.162s found 0 vulnerabilities D:\Git\miniprogram-cloud-development\cloudfunctions\mysql>
安装好后我们需要把它同步到云开发的环境中,这里就不详细讲解怎么开通创建云开发环境了,可以自行在官方文档进行查找学习
附上地址: https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
测试调用云函数
我们只需要在预先设置的 mysql
编译模式下后,点击我们的按钮观察控制台打印的结果,和数据库可视化 工具 是否创建了表和插入数据。
可以看到我们远端的 MySQL
数据库已经创建了 USER
表并且插入一条数据。
总结
个人比较推荐直接使用云开发自带的数据库,因为速度快,用外连 MySQL
的话会收到网络波动的影响。就像我要把这个云函数的 超时时间跳到15s
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Qt连接信号到子类槽函数提示父类无相应槽函数
- Flask 偏函数、g对象、flask-session、数据库连接池、信号、自制命令、flask-admin
- tcp 长连接与短连接
- 没有 HTTP 连接池,空谈什么持久连接
- Linux中软连接和硬连接的区别
- sql – 哪个更好..左外连接还是右外连接?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Hit Refresh
Satya Nadella、Greg Shaw / HarperBusiness / 2017-9-26 / USD 20.37
Hit Refresh is about individual change, about the transformation happening inside of Microsoft and the technology that will soon impact all of our lives—the arrival of the most exciting and disruptive......一起来看看 《Hit Refresh》 这本书的介绍吧!