• 我转过几个弯 绕过那个小雨楼
  • 拿着蒲扇摆着衣衫渡着紧箍咒
  • 不问天涯不停留 喝过几壶酒
  • 不过年少白头道义放胸口
  • 倘若明天之后 遥看前尘剑封侯
  • 似那天上神仙无所求
  • 朝朝暮暮君如梦醒十分不为何理由
  • 是真是假是惶恐是无休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 又过了几个弯 算尽天量道莫慌
  • 踏这田园闻这芳草香
  • 跌跌撞撞仗剑天涯折煞不枉无笔良
  • 是梦是幻是温柔是家乡
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 谁能与我一醉方休

koa框架27 生成管理员账号

246 0

生成管理员账号一般如果自己手动去改文件,设置一个name一个password也行,但是太麻烦了,node有一个模块,可以以问题得形式询问用户,然后用户输入内容,回车后会触发一个回调,回调的参数就是用户输入的内容。

首先我们需要引入一个官方的模块:readline;

libs/rl.js

const readline = require("readline");

let rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.questionAsync = function(question) {
    return new Promise((resolve, reject) => {
        rl.question(question, val => {
            resolve(val);
        })
    });
}

rl.on('close', function () {
  process.exit(0);
});

module.exports = rl;

由于我们需要在外面使用这个模块,创建了一个自定义的questionAsync 方法。

需要注意一点,如果我们不手动关闭这个模块的话,会一直输入,所以要监听close事件,这个事件是预设好的,但是退出方法要自己写,所以要有一个回调函数。‘

utils/add_admin.js

由于创建账号是一个工具,所以我们丢到utils里面

const rl = require("../libs/rl");
const mysql = require("../libs/mysql");
const password = require("../libs/password");


(async () => {
    let flge = true;
    let db = await mysql;

    while (flge) {
        let name = await rl.questionAsync("账号:");

        if (!name) {
            console.log("账号不能为空!");
            continue;
        }

        let sql_name = await db.query("SELECT * FROM admin_table WHERE username=?", [name]);

        if (sql_name.length) {
            console.log("账号已存在");
            continue;
        }

        let pass = await rl.questionAsync("密码:");

        while (!pass) {
            console.log("密码不能为空!");
            pass = await rl.questionAsync("密码:");
        }

        await db.query("INSERT INTO admin_table (username,password) VALUES(?,?)", [name, password(pass)]);
        console.log("管理员账号创建成功!");

        //结束循环
        flge = false;
    }

    //退出提示
    rl.close();
})();
0
  • 本文分类:Node
  • 本文标签:nodekoa
  • 流行热度:已超过 246 人围观了本文
  • 最后更新:2020年08月25日 - 0时37分53秒
  • 发布日期:2020年08月25日 - 0时37分53秒
  • 版权申明:本文系作者@木灵鱼儿原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。

相关文章

微信收款码
微信收款码