记一次微信小程序云函数操作Mysql数据库

一、前因

在制作课程设计的时候需简单地操作Mysql数据库使得小程序可以与其他端系统进行数据交互
这时候问题来了,仅仅只是因为一个插入表的数据库操作就单独制作一个Servlet看似又有点浪费服务器资源
这时候就想了下,为什么不能直接用微信小程序直接进行数据库交互操作呢?
然后查了下文档和百度,发现了云函数这强大的东西

云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。
小程序内提供了专门用于云函数调用的 API。开发者可以在云函数内使用 wx-server-sdk 提供的 getWXContext 方法获取到每次调用的上下文(appid、openid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。

好家伙,开整

二、探Node

不要看到js就以为是前端语言
node.js是运行于服务端的JavaScript解释器

所以,node.js是后端语言(跑题了)
微信云函数用的语言就是node.js
所以你要先安装node.js
去官网下载一个吧

安装过程是傻瓜式操作,全部下一步,中间有个勾勾问你是否自动帮你配置环境变量的把他勾上就好了
然后就去开通云函数
在你开通微信云服务的时候就会免费送你一定额度的数据库、云函数、云储存空间
在这里插入图片描述

三、云之基

在此之前需要先开通一个云开发,因为我已经开通了,所以就没有截图可以保留了
傻瓜式操作,不需要留笔记

创建工程->使用云环境
得到以下工程目录
在这里插入图片描述
然后就创建新的云函数
在这里插入图片描述
输入云函数的名字后就能得到这个新的云函数列表
在这里插入图片描述
现在还不着急,先把mysql的包安装下来
在这里插入图片描述
运行命令

npm install mysql2

在这里插入图片描述
安装完后的列表是这样的
在这里插入图片描述
接下来就是写代码环节

四、源之码

打开index.js

// 云函数入口文件
const cloud = require('wx-server-sdk')
//引入mysql操作模块
const mysql = require('mysql2/promise')
cloud.init()
// 云函数入口函数
exports.main = async(event, context) => {
  const wxContext = cloud.getWXContext()
  try {
    const connection =await mysql.createConnection({
      host: "192.168.1.1",
      database: "database",
      user: "root",
      password: '123456',
    })
    var data="\'"+event.date+"\',";
    data+="\'"+event.random+"\',";
    data+="\'"+event.openid+"\',";
    data+="\'"+event.username+"\',";
    data+="\'"+event.icon+"\',";
    data+="\'"+event.status+"\'";
    var sql='INSERT INTO `login_log` VALUES ('+data+')';
    const [rows, fields] = await connection.execute(sql);
    console.log(rows);
  } catch (err) {
    console.log("链接错误", err)
    return err
  }
}

五、末言

其实用云函数已经违背了刚开始想要不浪费资源的初衷了,云函数按照本质来讲就是服务器资源,但是不用再写一个servlet部署上去就很棒,管他呢嘿嘿

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值