mysql - 如何使用 NodeJs API 将当前登录的用户名插入 mysql 表?
问题描述
用户函数.js
const myfunctions = {};
const db_model = require('../utils/query_models');
const dbConn = require('../db_config/dbConnection');
const util = require('../utils/helper');
myfunctions.authUser = function (req, res, next) {
dbConn.rdbms.then(function (con_rdbms) {
con_rdbms.query(db_model.sqlquery.checkuser, req.body.UserName, function (error, results, fields) {
if (error) {
console.log(error);
res.setHeader("Content-Type", "application/json");
res.send(util.methods.seterror(error));
return;
} else {
if (JSON.stringify(results).length > 2) {
const data = req.body;
// console.log(data.Password);
// console.log(results.Password);
// console.log(data.UserName);
;
const result = compareSync(data.Password,results[0].Password);
// if (req.body.Password == results[0].Password)
if(result)
{
var token = jwt.sign({ UserName: req.body.UserName }, 'payroll'
,
{
expiresIn: "1h"
}
);
res.setHeader("Content-Type", "application/json");
res.send(util.methods.setAuthResponse(results, token));
// console.log(results);
} else {
res.setHeader("Content-Type", "application/json");
res.send(util.methods.passwordError("Password does not match"));
}
}
else {
res.setHeader("Content-Type", "application/json");
res.send(util.methods.passwordError("User does not exist"));
}
}
});
}).catch(err => {
console.log(err);
res.send(util.methods.seterror(error));
return;
});
}
exports.caller = myfunctions;
tokenValidation.js
const jwt = require("jsonwebtoken");
module.exports = {
checkToken: (req, res, next) => {
if (req.url !== '/authUser' && req.url !== "/") {
var token = req.headers['authorization'];
console.log(token);
if (token) {
try {
token = token.slice(7); //remove bearer string from token
var decoded = jwt.verify(token, 'payroll');
console.log(decoded);
console.log(decoded.UserName);
if (decoded) {
req.decoded = decoded;
next();
}
} catch (err) {
return res.status(403).send({ success: 0, message: 'Invalid token' });
}
}
else {
return res.status(403).send({ success: 0, message: 'no token provided' });
}
} else {
next();
}
}
}
查询模型.js
const qmodels = {};
const queryScript = {};
const helper = require('./helper');
//Inserting Bank...
qmodels.createBank = function (data) {
var insertquery = {
bank_ifsc_code : data.bank_ifsc_code,
bank_name : data.bank_name,
bank_branch : data.bank_branch,
bank_userId : helper.methods.GetUser(data.UserName)
}
console.log("Inserting Bank information...");
return insertquery;
}
exports.sqlquery = queryScript;
exports.datamodels = qmodels;
助手.js
const utils = {};
utils.seterror = function (msg) {
return JSON.stringify({
"status": 404,
"error": msg
})
}
utils.setresponse = function (result) {
return JSON.stringify({
"status": 200,
"response": result
})
}
utils.setAuthResponse = function (result, token) {
return JSON.stringify({
"status": 200,
"response": result,
"token": token
})
}
utils.passwordError = function (msg) {
return JSON.stringify({
"status": 201,
"response": msg
})
}
utils.GetUser = function () {
utils.setAuthResponse(result);
}
exports.methods = utils;
大家好,我需要使用 NodeJS API 将当前登录的用户名插入到我们的 mysql数据库中。因为,谁在我们的数据库中插入、更新、删除了这一行。但是,在我的代码中,它一直在表中插入空的用户 ID。所以,请帮助我,我在这个代码上哪里错了?
附上的图片对你有帮助....
解决方案
推荐阅读
- javascript - 该网站如何禁用内容选择?
- javascript - 为什么显示这个错误,“,Uncaught ReferenceError: c3 is not defined”
- c - setsockopt() 不会解除绑定
- python - Convert dictionaries with list of values into a dataframe
- android - 使用 ffmpeg API 处理文件时发现无效数据
- python-3.x - 如何使用openpyxl保存共享的excel文件?
- c - 如何在C中合并两个链表
- mysql - MySQL 在连接表上应用过滤器
- php - php://output - Only output part of page and not whole page
- reactjs - Mutate multiple states from within useEffect causes react-hooks/exhaustive-deps warning