最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node.js(expree.js?)模擬手機(jī)驗(yàn)證碼登錄功能

 更新時間:2024年01月17日 15:11:44   作者:鷗總  
這篇文章主要介紹了node.js(expree.js?)模擬手機(jī)驗(yàn)證碼功能及登錄功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

dbconfig.js

const mysql = require('mysql')
module.exports = {
    // 數(shù)據(jù)庫配置
    config: {
        host: 'localhost', // 連接地址
        port: '3306', //端口號
        user: 'root',  //用戶名
        password: 'wei630229', //密碼
        database: 'exapp2', //數(shù)據(jù)庫名
    },
// 連接數(shù)據(jù)庫,使用mysql的連接池連接方式
// 連接池對象
sqlConnect: function (sql, sqlArr, callBack) {
        var pool = mysql.createPool(this.config)
        pool.getConnection((err, conn) => {
            console.log('12345')
            if (err) {
                console.log('連接失敗');
                return;
            }
            // 事件驅(qū)動回調(diào)
            conn.query(sql, sqlArr, callBack);
            //釋放連接
            conn.release();
        })
    }
}
var dbCongif = require("../utils/dbconfig");
// 隨機(jī)驗(yàn)證碼
function rand(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}
// 聲明驗(yàn)證碼和手機(jī)號數(shù)組
ValidatePhoneCode = [];
// 判斷該手機(jī)是否一定接收過該驗(yàn)證碼
let sendCodeP = (phone) => {
  for (var item of ValidatePhoneCode) {
    console.log("item", item);
    if (phone == item.phone) {
      return true;
    }
  }
  return false;
};
//
let findCodeAndPhone = (phone, code) => {
  for (var item of ValidatePhoneCode) {
    if (phone == item.phone && code == item.code) {
      return "login";
    }
  }
  return "error";
};
// 驗(yàn)證碼發(fā)送接口
sendCode = (req, res) => {
  // 判斷該手機(jī)號是否一定接收過驗(yàn)證碼
  let phone = req.query.phone;
  if (sendCodeP(phone)) {
    res.send({
      code: 400,
      msg: "已經(jīng)發(fā)送過驗(yàn)證碼,稍后再發(fā)",
    });
  }
  let codeMge = rand(1000, 9999);
  ValidatePhoneCode.push({
    phone: phone,
    code: codeMge,
  });
  res.send({
    code: 200,
    msg: "發(fā)送成功",
  });
  console.log("code", codeMge);
};
// 驗(yàn)證碼登錄
codePhoneLogin = (req, res) => {
  let { phone, code } = req.query;
  // 判斷手機(jī)號是否發(fā)送過驗(yàn)證碼
  if (sendCodeP(phone)) {
    // 驗(yàn)證碼和手機(jī)號是否匹配
    let state = findCodeAndPhone(phone, code);
    if (state == "login") {
      // 登錄成功
      res.send({
        code: "200",
        mgs: "登錄成功",
      });
    } else if (state == "error") {
      res.send({
        code: "500",
        mgs: "登錄失敗",
      });
    }
  } else {
    res.send({
      code: "400",
      mgs: "未發(fā)送驗(yàn)證碼",
    });
  }
};
module.exports = {
  sendCode, // 驗(yàn)證碼接口
  codePhoneLogin, //  登錄接口
};

測試驗(yàn)證碼發(fā)送

測試登錄

到此這篇關(guān)于node.js(expree.js )模擬手機(jī)驗(yàn)證碼登錄功能的文章就介紹到這了,更多相關(guān)node.js驗(yàn)證碼登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • node.js中的emitter.emit方法使用說明

    node.js中的emitter.emit方法使用說明

    這篇文章主要介紹了node.js中的emitter.emit方法使用說明,本文介紹了emitter.emit的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 詳解如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版)

    詳解如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版)

    這篇文章主要介紹了如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • node.js與vue?cli腳手架的下載安裝配置方法記錄

    node.js與vue?cli腳手架的下載安裝配置方法記錄

    這篇文章主要給大家介紹了關(guān)于node.js與vue?cli腳手架的下載安裝配置方法,文中通過實(shí)例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • vscode 調(diào)試 node.js的方法步驟

    vscode 調(diào)試 node.js的方法步驟

    這篇文章主要介紹了vscode 調(diào)試 node.js的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • node打造微信個人號機(jī)器人的方法示例

    node打造微信個人號機(jī)器人的方法示例

    這篇文章主要介紹了node打造微信個人號機(jī)器人的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 使用nodejs下載風(fēng)景壁紙

    使用nodejs下載風(fēng)景壁紙

    本文主要介紹了使用nodejs下載風(fēng)景壁紙的方法。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Node中文件斷點(diǎn)續(xù)傳原理和方法總結(jié)

    Node中文件斷點(diǎn)續(xù)傳原理和方法總結(jié)

    在之前做過一個小項目,涉及到了文件上傳,在大文件上面使用了斷點(diǎn)續(xù)傳,降低了服務(wù)器方面的壓力,現(xiàn)在小編把Node中文件斷點(diǎn)續(xù)傳原理和方法總結(jié)分享給大家,感興趣的朋友一起看看吧
    2022-01-01
  • Rust與NodeJs?web開發(fā)對比總結(jié)大全

    Rust與NodeJs?web開發(fā)對比總結(jié)大全

    Rust編譯的Wasm模塊在Node.js中運(yùn)行,可實(shí)現(xiàn)高性能計算后端,同時利用JavaScript的靈活性,這篇文章主要介紹了Rust與NodeJs?web開發(fā)對比的相關(guān)資料,需要的朋友可以參考下
    2026-01-01
  • NodeJs?Express中間件超詳細(xì)講解

    NodeJs?Express中間件超詳細(xì)講解

    Express中間件本質(zhì)上就是一個function處理函數(shù),多個中間件之間,共享同一份req和res,我們就可以在上游的中間件中統(tǒng)一為req或者res對象添加自定義的屬性或方法,供下游的中間件或路由進(jìn)行使用,非常方便
    2022-08-08
  • Node.js 中 cookie-parser 依賴安裝使用詳解

    Node.js 中 cookie-parser 依賴安裝使用詳解

    文章介紹了如何在Node.js中使用cookie-parser中間件來解析、設(shè)置、簽名和清除HTTP請求中的Cookie,感興趣的朋友一起看看吧
    2025-02-02

最新評論

怀远县| 上蔡县| 哈尔滨市| 三都| 旅游| 玛沁县| 攀枝花市| 雅江县| 界首市| 外汇| 平原县| 新巴尔虎左旗| 多伦县| 女性| 临颍县| 汪清县| 武宣县| 定襄县| 浦北县| 科尔| 富阳市| 惠东县| 和硕县| 安西县| 栾城县| 确山县| 县级市| 锡林郭勒盟| 湾仔区| 岱山县| 仙桃市| 兴隆县| 沅江市| 湾仔区| 图片| 汽车| 房产| 昔阳县| 通辽市| 高尔夫| 石景山区|