You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.5 KiB

from flask import Blueprint, render_template, session, request, jsonify
from module.article import Article
from module.user import Users
import math
admin = Blueprint("admin", __name__)
# @admin.before_request
# def before_admin():
# if session.get('islogin') != 'true' or session.get('role') != 'admin':
# return 'perm-denied'
# 为系统管理首页填充文章列表,并绘制分页栏
@admin.route('/admin')
def sys_admin():
pagesize = 50
article = Article()
result = article.find_all_except_draft(0, pagesize)
total = math.ceil(article.get_count_except_draft() / pagesize)
return render_template('system-admin.html', page=1, result=result, total=total)
@admin.route('/admin/user')
def sys_admin_user():
pagesize = 50
user = Users()
result = user.find_all_users()
total = math.ceil(user.get_total_count_user() / pagesize)
return render_template('system-admin-user.html', page=1, result=result, total=total)
# 为系统管理首页的文章列表进行分页查询
@admin.route('/admin/article/<int:page>')
def admin_article(page):
pagesize = 50
start = (page - 1) * pagesize
article = Article()
result = article.find_all_except_draft(start, pagesize)
total = math.ceil(article.get_count_except_draft() / pagesize)
return render_template('system-admin.html', page=page, result=result, total=total)
# 按照文章标题进行模糊查询的后台接口
@admin.route('/admin/search/<keyword>')
def admin_search_headline(keyword):
result = Article().find_by_headline_except_draft(keyword)
return render_template('system-admin.html', page=1, result=result, total=1)
# 文章的隐藏切换接口
@admin.route('/admin/article/hide/<int:articleid>')
def admin_article_hide(articleid):
print("articleid=",articleid)
hidden = Article().switch_hidden(articleid)
print("hidden=",hidden)
return str(hidden)
# 文章的推荐切换接口
@admin.route('/admin/article/recommend/<int:articleid>')
def admin_article_recommend(articleid):
recommended = Article().switch_recommended(articleid)
return str(recommended)
# 文章的审核切换接口
@admin.route('/admin/article/check/<int:articleid>')
def admin_article_check(articleid):
checked = Article().switch_checked(articleid)
return str(checked)
# 人员身份切换接口
@admin.route('/admin/user/role/<int:userid>')
def admin_user_check(userid):
role = Users().switch_role(userid)
return str(role)
# 删除文章
@admin.route('/admin/article/delete/<int:articleid>', methods=['GET'])
def delete_article(articleid):
article = Article()
try:
# 查找文章
result = article.find_by_id(articleid)
if result is None:
return jsonify({"success": False, "message": "文章不存在"})
# 删除文章
article.do_deletesign(articleid)
return jsonify({"success": True, "message": "删除成功"})
except Exception as e:
return jsonify({"success": False, "message": str(e)})
# 删除人员
@admin.route('/admin/user/delete/<int:userid>', methods=['GET'])
def delete_user(userid):
user = Users()
try:
# 查找人员
result = user.find_user_by_id(userid)
if result is None:
return jsonify({"success": False, "message": "用户不存在"})
# 删除人员
user.do_deletesign_user(userid)
return jsonify({"success": True, "message": "删除成功"})
except Exception as e:
return jsonify({"success": False, "message": str(e)})