fix: login flow
This commit is contained in:
parent
08f3b34b6b
commit
0a1ac588a1
19
api/login.js
19
api/login.js
@ -11,13 +11,22 @@ router.post("/", async function(req, res) {
|
|||||||
let conn;
|
let conn;
|
||||||
try {
|
try {
|
||||||
conn = await util.getDBConnection(); // get connection from db
|
conn = await util.getDBConnection(); // get connection from db
|
||||||
const result = await conn.query("SELECT COUNT(*) FROM user WHERE username = ? AND pass = ?;", [account, password]);
|
var result = await conn.query("SELECT * FROM user WHERE username = ? AND pass = ? ;", [account, password]);
|
||||||
if (result[0]["COUNT(*)"]) {
|
if (result.length == 1) {
|
||||||
// valid user, create a token
|
// valid user, create a token
|
||||||
const data = {uid : account};
|
let is_assistant = result[0]['is_assistant'] == 1
|
||||||
|
const data = {uid : account, is_assistent: is_assistant};
|
||||||
const token = util.signJwtToken(data);
|
const token = util.signJwtToken(data);
|
||||||
|
if (!is_assistant){
|
||||||
|
var result = await conn.query("SELECT student_name FROM student WHERE student_id = ? ;", [account]);
|
||||||
|
var name = result[0]['student_name'];
|
||||||
|
} else {
|
||||||
|
var result = await conn.query("SELECT assistant_name FROM assistant WHERE username = ? ;", [account]);
|
||||||
|
var name = result[0]['assistant_name'];
|
||||||
|
}
|
||||||
|
console.log(name);
|
||||||
res.cookie("token", token);
|
res.cookie("token", token);
|
||||||
res.json({suc : true});
|
res.json({'suc' : true, 'is_assistant': is_assistant, 'name': name});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
res.json({suc : false, msg : "wrong username or password"});
|
res.json({suc : false, msg : "wrong username or password"});
|
||||||
@ -36,4 +45,4 @@ router.post("/", async function(req, res) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
|||||||
11
js/login.js
11
js/login.js
@ -2,20 +2,19 @@ async function submit() {
|
|||||||
const account = document.getElementById("account").value;
|
const account = document.getElementById("account").value;
|
||||||
const password = document.getElementById("password").value;
|
const password = document.getElementById("password").value;
|
||||||
let data = {account : account, password : password};
|
let data = {account : account, password : password};
|
||||||
let suc_login = await axios.post('http://163.22.17.184:5000/api/login', data);
|
let suc_login = await axios.post('/api/login', data);
|
||||||
suc_login = suc_login.data;
|
suc_login = suc_login.data;
|
||||||
console.log(suc_login);
|
|
||||||
if (suc_login.suc) {
|
if (suc_login.suc) {
|
||||||
if (account.length >= 9) {
|
if (!suc_login.is_assistant) {
|
||||||
// student
|
// student
|
||||||
location.href = `/main?name=${suc_login.authen_result}&s_num=${account}`;
|
location.href = `/main?name=${suc_login.name}&s_num=${account}`;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// assistant
|
// assistant
|
||||||
location.href = `/audit?name=${suc_login.authen_result}&s_num=${account}`;
|
location.href = `/audit?name=${suc_login.name}&s_num=${account}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
alert("帳號或密碼錯誤");
|
alert("帳號或密碼錯誤");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user