一、mysql的使用

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

  company有id,name,other等字段

1、导入mysql数据库

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

在mysql.js中

  1. var mysql = require('mysql');
  2. var config = require('../config.json')
  3. var connection = mysql.createConnection({
  4. host: config.mysql.host,
  5. user: config.mysql.user,
  6. port: config.mysql.port,
  7. password: config.mysql.password,
  8. database: config.mysql.database
  9. });
  10.  
  11. connection.connect();
  12. module.exports = connection; // 导出mysql

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

  1. var express = require('express');
  2. var router = express.Router();
  3. var mysql = require('./mysql.js') // 导入mysql
  4.  
  5. /* GET users listing. */
  6. router.get('/', function(req, res, next) { // 接口函数get方法
  7. mysql.query('SELECT * FROM company', function (error, results, fields) { // 这里只是简单说明下查询数据,查找actor表里面的所有数据
  8. if (error) throw error; //报错返回
  9. console.log('This: ',results); // 在终端上面打印获得的所有数据
  10. 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

  1. var express = require('express');
  2. var router = express.Router();
  3. var SMSClient = require('@alicloud/sms-sdk'); // 短信插件
  4. var config = require('../config.json'); // 获取短信需要的参数
  5. var accessKeyId = config.duanxin.key;
  6. var secretAccessKey = config.duanxin.secret;
  7.  
  8. // 六位随机数
  9. var range=function(start,end)
  10. {
  11. var array=[];
  12. for(var i=start;i<end;++i) array.push(i);
  13. return array;
  14. };
  15. var randomstr = range(0,6).map(function(x){
  16. return Math.floor(Math.random()*10);
  17. }).join('');
  18. router.post('/phoneCode', function (req, res, next) {
  19. var mobile = req.body.mobile // 传来的手机号
  20.  
  21. var smsClient = new SMSClient({ // 构建发送短信的阿里云用户
  22. accessKeyId,
  23. secretAccessKey
  24. })
  25. smsClient.sendSMS({
  26. PhoneNumbers: mobile,
  27. SignName: config.duanxin.SignName, // 这是手机上显示的短信主题
  28. TemplateCode: config.duanxin.TemplateCode,
  29. TemplateParam: '{"code":"' + randomstr + '"}' // 在手机上显示的短信码
  30. }).then(re => {
  31. if (re.Code === 'OK') {
  32. //发送成功后需要做的事......
  33. } else {
  34. res.json({
  35. code: re.Code,
  36. data: '发送失败'
  37. })
  38. }
  39. })
  40. })

  

  

node中mysql和短信使用方法(3)的更多相关文章

  1. 使用node中mysql模块连接本地数据库

    连接数据库的方法迄今为止学了三种: cmd方式.可视化工具,今天记第三种----node端连接数据库. 一:mysql模块介绍与下载 1.mysql模块是node端专门连接数据库的第三方模块 2.下载 ...

  2. django中mysql数据库设置错误解决方法

    刚在django中settings.py进行设置mysql数据库. 当进行执行python manage.py shell命令时会报以下错误: 只需要在settings.py中 DATABASES = ...

  3. python中mysql主从同步配置的方法

    1)安装mysql ubuntu中安装一台mysql了,docker安装另外一台mysql 获取mysql的镜像,主从同步尽量保证多台mysql的版本相同,我的ubuntu中存在的mysql是5.7. ...

  4. Grafana中mysql作为数据源的配置方法

    需求 近期在使用python写一套模拟API请求的监控项目,考虑数据可视化这方面就采用grafana来呈现,下面来看看怎么弄. 数据源准备 首先安装好mysql,将监控的日志数据写入到mysql之中. ...

  5. CentOs中mysql服务器重置root密码方法

    1. 停止mysql: service mysqld stop 2. 编辑/etc/my.cnf,在[mysqld]这行后面加上skip-grant-tables ,并保存 3. 启动mysql: s ...

  6. node中controller的get和post方法获取参数

    1.get: const body = ctx.query; // get请求   2.post: const body = ctx.request.body; // post请求

  7. mysql 中添加索引的三种方法

    原文:http://www.andyqian.com/2016/04/06/database/mysqleindex/ 在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以 ...

  8. 常用SQL语句及在node中使用MySQL

    摘要:一些重要的SQL命令 SELECT - 从数据库中提取数据 UPDATE - 更新数据库中的数据 DELETE - 从数据库中删除数据 INSERT INTO - 向数据库中插入新数据 CREA ...

  9. PHP中MySQL数据库连接,数据读写,修改方法

    MySQL连接大的来说有两种方法,一种是mysqli,另一种是mysql.php为连接MySQL提供了函数库,有mysql和mysqli,mysqli是mysql函数库的扩展,是php5才支持的.当你 ...

随机推荐

  1. Java学习笔记二--API课堂记录

    JavaSE课堂记录(二) 第一节课 方法的重载:方法名相同,参数列表不同 方法的重写:方法名,参数列表相同 两同:方法名相同,参数列表相同 两小:访问权限小与等于父类,返回值类型小于等于父类(返回值 ...

  2. SpringBoot 配置提示功能

    目的 配置自动提示的辅助功能可以让配置写起来更快,准确率大大提高. springboot jar 包含提供所有支持的配置属性细节的元数据文件.文件的目的是为了让 IDE 开发者在用户使用 applic ...

  3. scrollWidth、clientWidth 和 offsetWidth

    scrollWidth:对象的实际内容宽度,不包括边线宽度,会随对象中内容超过可视区而变大. clientWidth:对象内容的可视区的宽度,不包括边线宽度,会随对象显示大小的变化而变化. offse ...

  4. 第二十九章 System V共享内存

    共享内存数据结构 共享内存函数 shmget int shmget(key_t key, size_t size, int shmflg); 功能: 用于创建共享内存 参数: key : 这个共享内存 ...

  5. php经典设计模式和Trait类代码的复用

    PHP经典设计模式 <?php /** * 单例模式 */ class Site { #定义属性 public $siteName; #定义本类的静态实例 protected static $i ...

  6. MIT线性代数:10.4个基本子空间

  7. [考试反思]1026csp-s模拟测试89:不公

    稍垃圾.因为T1没A. 赶巧前一段时间学了杜教筛,结果因为教练放错题. 然后考场上疯狂yy,最后水到了一个AC. 其实的确挺不公平的,不少人也没学呢. 如果只算T1和T3的分数的话,那70分就是个垃圾 ...

  8. 求矩阵最少(或最多)路径和(python实现)

    1.递归方式 求最短,最终状态即右下角 f(v, i, j) = min(f(v, i - 1, j), f(v, i, j - 1)) + v[i][j] 最长只需将min改为max即可 impor ...

  9. NOIP模拟测试23

    这次考试又一次暴露了我很大的问题. 首先做的比较好的是这几次考试一分没挂, 但是,这也体现了更大的问题,那就是我的实力似乎也仅限于此了. 考试先拿满了暴力分(100+0+50),然后看了看T2没看懂, ...

  10. 【gradle使用—gradle介绍】

    Gradle基本组件  Gradle是一个框架,定义了一套自己的规则,所以要搞清楚Gradle,必须要遵守它设计的原则,下面我们要先搞清楚一些Gradle的概念: Gradle中,每一个待编译的工程是 ...