From 622070db5168b1cf3e275d4a2f2351d209442095 Mon Sep 17 00:00:00 2001
From: Eason010212 <1371033826@qq.com>
Date: Wed, 22 Feb 2023 22:26:49 +0800
Subject: [PATCH] Admin features update
---
src/ejs/manage.ejs | 69 +++++++++++++++++++++++++++++++++++++++++++++-
src/js/manage.js | 2 +-
src/loader.js | 34 +++++++++++++++++++++++
3 files changed, 103 insertions(+), 2 deletions(-)
diff --git a/src/ejs/manage.ejs b/src/ejs/manage.ejs
index 6353086..40b5017 100644
--- a/src/ejs/manage.ejs
+++ b/src/ejs/manage.ejs
@@ -274,7 +274,7 @@
消息量
|
-
+ |
执行操作
|
@@ -316,6 +316,73 @@
}
})
}
+ var clearProject = function(userName){
+ $.get('clearMessage',{
+ "userName":userName
+ },function(res){
+ if(res == 1)
+ {
+ $.get('clearProject',{
+ "userName":userName
+ },function(res){
+ if(res == 1)
+ {
+ showtext("操作成功!")
+ setTimeout(function(){
+ window.location.href = window.location.href
+ },1000)
+ }
+ else
+ {
+ showtext("操作失败")
+ }
+ })
+ }
+ else
+ {
+ showtext("操作失败")
+ }
+ })
+ }
+ var clearUser = function(userName){
+ $.get('clearMessage',{
+ "userName":userName
+ },function(res){
+ if(res == 1)
+ {
+ $.get('clearProject',{
+ "userName":userName
+ },function(res){
+ if(res == 1)
+ {
+ $.get('clearUser',{
+ "userName":userName
+ },function(res){
+ if(res == 1)
+ {
+ showtext("操作成功!")
+ setTimeout(function(){
+ window.location.href = window.location.href
+ },1000)
+ }
+ else
+ {
+ showtext("操作失败")
+ }
+ })
+ }
+ else
+ {
+ showtext("操作失败")
+ }
+ })
+ }
+ else
+ {
+ showtext("操作失败")
+ }
+ })
+ }
$("#time").html(new Date().toLocaleTimeString())
setInterval(() => {
$("#time").html(new Date().toLocaleTimeString())
diff --git a/src/js/manage.js b/src/js/manage.js
index 07e11d2..2393691 100644
--- a/src/js/manage.js
+++ b/src/js/manage.js
@@ -2,7 +2,7 @@ $(function(){
$.getJSON("queryData",function(res){
for(var i = 0;i<=res.length-1;i = i+1)
{
- $("#tbody").append("| "+res[i]["username"]+" | "+res[i]["projects"]+" | "+res[i]["messages"]+" | "+ "清空消息"+" |
")
+ $("#tbody").append("| "+res[i]["username"]+" | "+res[i]["projects"]+" | "+res[i]["messages"]+" | "+ "清空消息"+"清空项目"+"删除用户"+" |
")
}
datatable = $("#table").DataTable({
"order": [[ 2, "desc" ]],
diff --git a/src/loader.js b/src/loader.js
index ebc662b..47a9efd 100644
--- a/src/loader.js
+++ b/src/loader.js
@@ -220,6 +220,40 @@ async function daemon_start() {
res.send('-1')
})
+ app.get('/clearProject', function(req, res){
+ if(req.session.admin){
+ var userName = req.query.userName
+ if(userName){
+ db.run("delete from `project` where userName=?", [userName, ], function(err){
+ if(err){
+ console.log(err.message)
+ res.send('-1')
+ }else{
+ res.send('1')
+ }
+ })
+ }else
+ res.send('-1')
+ }
+ })
+
+ app.get('/clearUser', function(req, res){
+ if(req.session.admin){
+ var userName = req.query.userName
+ if(userName){
+ db.run("delete from `user` where username=?", [userName, ], function(err){
+ if(err){
+ console.log(err.message)
+ res.send('-1')
+ }else{
+ res.send('1')
+ }
+ })
+ }else
+ res.send('-1')
+ }
+ })
+
app.post('/adminLogin', function(req, res) {
if (req.body.userName == (configs["ADMIN_USERNAME"] ? configs["ADMIN_USERNAME"] : "admin") && req.body.password == (configs["ADMIN_PASSWORD"] ? configs["ADMIN_PASSWORD"] : "public")) {
req.session.admin = true