node中mysql和短信使用方法(3)

    一、mysql的使用

         使用mysql首先得有数据库并且表里面有数据,我创建了数据库newsql,里面Tables有表company等等。

  company有id,name,other等字段

      1、导入mysql数据库

    我们在config.json中创建了mysql的json,这里在routes文件夹下创建mysql.js链接mysql

              在mysql.js中

var mysql = require('mysql');
var config = require('../config.json')
var connection = mysql.createConnection({
    host: config.mysql.host,
    user: config.mysql.user,
    port: config.mysql.port,
    password: config.mysql.password,
    database: config.mysql.database
  });
   
  connection.connect();
  module.exports = connection; // 导出mysql

  2、在接口函数中使用mysql增删改查(增删改查在下篇文章中介绍)

var express = require('express');
var router = express.Router();
var mysql = require('./mysql.js')  // 导入mysql

/* GET users listing. */
router.get('/', function(req, res, next) { // 接口函数get方法
  mysql.query('SELECT * FROM company', function (error, results, fields) { // 这里只是简单说明下查询数据,查找actor表里面的所有数据
    if (error) throw error;  //报错返回
    console.log('This: ',results); // 在终端上面打印获得的所有数据
    res.json({code:0,data:results}); // 获取数据
 });
}); module.exports = router;//导出到index.js

  重启npm start 刷新localhost:3000可以看到结果

 二、短信获取

        短信很简单,官方文档都有介绍,短信函数使用post方法,先贴代码再一个个介绍吧!

  短信需要安装短信插件@alicloud/sms-sdk    npm install @alicloud/sms-sdk --save

var express = require('express');
var router = express.Router();
var SMSClient = require('@alicloud/sms-sdk'); // 短信插件
var config = require('../config.json'); // 获取短信需要的参数
var accessKeyId = config.duanxin.key;
var secretAccessKey = config.duanxin.secret;

// 六位随机数
var range=function(start,end)
{
  var array=[];
  for(var i=start;i<end;++i) array.push(i);
  return array;
};
var randomstr = range(0,6).map(function(x){
    return Math.floor(Math.random()*10);
}).join('');
router.post('/phoneCode', function (req, res, next) {
    var mobile = req.body.mobile // 传来的手机号
        
    var smsClient = new SMSClient({ // 构建发送短信的阿里云用户
        accessKeyId,
        secretAccessKey
    })
     smsClient.sendSMS({
        PhoneNumbers: mobile,
        SignName: config.duanxin.SignName, // 这是手机上显示的短信主题
        TemplateCode: config.duanxin.TemplateCode,
        TemplateParam: '{"code":"' + randomstr + '"}' // 在手机上显示的短信码
    }).then(re => {
        if (re.Code === 'OK') {
            //发送成功后需要做的事......
        } else {
            res.json({
                code: re.Code,
                data: '发送失败'
            })
        }
    })
})        

  

  

原文地址:https://www.cnblogs.com/muzimumu/p/11891234.html