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
107 lines
3.5 KiB
4 months ago
|
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)})
|