|
|
@ -5,6 +5,7 @@ import hashlib |
|
|
|
import json |
|
|
|
from flask import Flask, render_template, request |
|
|
|
from flask_socketio import SocketIO, Namespace, emit |
|
|
|
import time |
|
|
|
|
|
|
|
app = Flask(__name__) |
|
|
|
client = MongoClient("mongodb://localhost:27019/") |
|
|
@ -115,8 +116,8 @@ def md5_encrypt(data): |
|
|
|
def initData(): |
|
|
|
admin = collection.find_one({"isAdmin": 1, "isExit": 1}) |
|
|
|
if admin is None: |
|
|
|
# 学校名称、学校代号、专业名称、专业代号、年级、班级、学生姓名、学号、密码、成绩、作弊情况(作弊类型、作弊时间、作弊图片)、考试类型、考试科目、考试时间段、是否是管理员、是否删除、创建时间、更新时间 |
|
|
|
# xuexiaomingcheng、xuexiaodaihao、zhuanyemingcheng、zhuanyedaihao、nianji、banji、xueshengxingming、xuehao、mima、chengji、zuobiqingkuang(zuobileixing、zuobishijian、zuobitupian)、kaoshileixing、kaoshikemu、kaoshishijianduan、isAdmin、isExit、chuangjianshijian、gengxinshijian |
|
|
|
# 学校名称、学校代号、专业名称、专业代号、年级、班级、学生姓名、学号、密码、成绩、作弊情况(作弊类型、作弊时间、作弊图片)、考试类型、考试科目、考试时间段、考试链接、是否是管理员、是否删除、创建时间、更新时间 |
|
|
|
# xuexiaomingcheng、xuexiaodaihao、zhuanyemingcheng、zhuanyedaihao、nianji、banji、xueshengxingming、xuehao、mima、chengji、zuobiqingkuang(zuobileixing、zuobishijian、zuobitupian)、kaoshileixing、kaoshikemu、kaoshishijianduan、kaoshilianjie、isAdmin、isExit、chuangjianshijian、gengxinshijian |
|
|
|
user = { |
|
|
|
"xuexiaomingcheng": "", |
|
|
|
"xuexiaodaihao": "", |
|
|
@ -132,6 +133,7 @@ def initData(): |
|
|
|
"kaoshileixing": "", |
|
|
|
"kaoshikemu": "", |
|
|
|
"kaoshishijianduan": "", |
|
|
|
"kaoshilianjie": "", |
|
|
|
"isAdmin": 1, |
|
|
|
"isExit": 1, |
|
|
|
"chuangjianshijian": "", |
|
|
@ -179,36 +181,145 @@ def login(): |
|
|
|
# 新增用户 |
|
|
|
@app.route("/addUser", methods=["post"]) |
|
|
|
def insert_data(): |
|
|
|
user = {"name": "John Doe", "age": 25, "city": "New York"} |
|
|
|
collection.insert_one(user) |
|
|
|
return "Data inserted successfully!" |
|
|
|
resData = request.data |
|
|
|
# 检测是否有数据 |
|
|
|
if not resData: |
|
|
|
return {"code": 200, "msg": "无数据", "list": [], "hasError": True} |
|
|
|
# 获取到POST过来的数据,转为json形式 |
|
|
|
userJson = json.loads(resData) |
|
|
|
admin = isAdmin(userJson["id"]) |
|
|
|
print(777, userJson, admin) |
|
|
|
if admin: |
|
|
|
if userJson["subType"] is "add": |
|
|
|
userItem = { |
|
|
|
"xuexiaomingcheng": userJson["xuexiaomingcheng"], |
|
|
|
"xuexiaodaihao": userJson["xuexiaodaihao"], |
|
|
|
"zhuanyemingcheng": userJson["zhuanyemingcheng"], |
|
|
|
"zhuanyedaihao": userJson["zhuanyedaihao"], |
|
|
|
"nianji": userJson["nianji"], |
|
|
|
"banji": userJson["banji"], |
|
|
|
"xueshengxingming": userJson["xueshengxingming"], |
|
|
|
"xuehao": userJson["xuehao"], |
|
|
|
"mima": md5_encrypt(userJson["mima"]), |
|
|
|
"chengji": userJson["chengji"], |
|
|
|
"zuobiqingkuang": userJson["zuobiqingkuang"], |
|
|
|
"kaoshileixing": userJson["kaoshileixing"], |
|
|
|
"kaoshikemu": userJson["kaoshikemu"], |
|
|
|
"kaoshishijianduan": userJson["kaoshishijianduan"], |
|
|
|
"kaoshilianjie": "", # 需要自动生成一个链接 |
|
|
|
"isAdmin": 0, |
|
|
|
"isExit": 1, |
|
|
|
"chuangjianshijian": time.strftime( |
|
|
|
"%Y-%m-%d %H:%M:%S", time.localtime(time.time()) |
|
|
|
), |
|
|
|
"gengxinshijian": time.strftime( |
|
|
|
"%Y-%m-%d %H:%M:%S", time.localtime(time.time()) |
|
|
|
), |
|
|
|
} |
|
|
|
collection.insert_one(userItem) |
|
|
|
return "新增成功" |
|
|
|
|
|
|
|
|
|
|
|
# 查询用户 |
|
|
|
@app.route("/getUser", methods=["post"]) |
|
|
|
def query_data(): |
|
|
|
users = collection.find() |
|
|
|
result = "" |
|
|
|
for user in users: |
|
|
|
result += f"Name: {user['name']}, Age: {user['age']}, City: {user['city']}<br>" |
|
|
|
return result |
|
|
|
resData = request.data |
|
|
|
# 检测是否有数据 |
|
|
|
if not resData: |
|
|
|
return {"code": 200, "msg": "请填写信息后登录", "list": [], "hasError": True} |
|
|
|
# 获取到POST过来的数据,转为json形式 |
|
|
|
userJson = json.loads(resData) |
|
|
|
admin = isAdmin(userJson["id"]) |
|
|
|
print(777, userJson, admin) |
|
|
|
if admin: |
|
|
|
users = collection.find() |
|
|
|
serialized_data = [] |
|
|
|
for item in users: |
|
|
|
item["_id"] = str(item["_id"]) # 将ObjectId转换为字符串 |
|
|
|
serialized_data.append(item) |
|
|
|
return { |
|
|
|
"code": 200, |
|
|
|
"msg": "查询成功", |
|
|
|
"list": serialized_data, |
|
|
|
"hasError": False, |
|
|
|
} |
|
|
|
else: |
|
|
|
return {"code": 200, "msg": "您不是管理员用户", "list": [], "hasError": True} |
|
|
|
|
|
|
|
|
|
|
|
# 更新用户 |
|
|
|
@app.route("/updateUser", methods=["post"]) |
|
|
|
def update_data(): |
|
|
|
query = {"name": "John Doe"} |
|
|
|
new_data = {"$set": {"age": 30, "city": "San Francisco"}} |
|
|
|
collection.update_one(query, new_data) |
|
|
|
return "Data updated successfully!" |
|
|
|
resData = request.data |
|
|
|
# 检测是否有数据 |
|
|
|
if not resData: |
|
|
|
return {"code": 200, "msg": "无数据", "list": [], "hasError": True} |
|
|
|
# 获取到POST过来的数据,转为json形式 |
|
|
|
userJson = json.loads(resData) |
|
|
|
admin = isAdmin(userJson["id"]) |
|
|
|
if admin: |
|
|
|
userItem = { |
|
|
|
"xuexiaomingcheng": userJson["xuexiaomingcheng"], |
|
|
|
"xuexiaodaihao": userJson["xuexiaodaihao"], |
|
|
|
"zhuanyemingcheng": userJson["zhuanyemingcheng"], |
|
|
|
"zhuanyedaihao": userJson["zhuanyedaihao"], |
|
|
|
"nianji": userJson["nianji"], |
|
|
|
"banji": userJson["banji"], |
|
|
|
"xueshengxingming": userJson["xueshengxingming"], |
|
|
|
"xuehao": userJson["xuehao"], |
|
|
|
"chengji": userJson["chengji"], |
|
|
|
"zuobiqingkuang": userJson["zuobiqingkuang"], |
|
|
|
"kaoshileixing": userJson["kaoshileixing"], |
|
|
|
"kaoshikemu": userJson["kaoshikemu"], |
|
|
|
"kaoshishijianduan": userJson["kaoshishijianduan"], |
|
|
|
"gengxinshijian": time.strftime( |
|
|
|
"%Y-%m-%d %H:%M:%S", time.localtime(time.time()) |
|
|
|
), |
|
|
|
} |
|
|
|
collection.update_one( |
|
|
|
{"_id": ObjectId(userJson["userid"])}, |
|
|
|
{"$set": userItem}, |
|
|
|
) |
|
|
|
return "修改成功" |
|
|
|
|
|
|
|
|
|
|
|
# 删除用户 |
|
|
|
@app.route("/delUser", methods=["post"]) |
|
|
|
def delete_data(): |
|
|
|
query = {"name": "John Doe"} |
|
|
|
collection.delete_one(query) |
|
|
|
return "Data deleted successfully!" |
|
|
|
resData = request.data |
|
|
|
# 检测是否有数据 |
|
|
|
if not resData: |
|
|
|
return {"code": 200, "msg": "无数据", "list": [], "hasError": True} |
|
|
|
# 获取到POST过来的数据,转为json形式 |
|
|
|
userJson = json.loads(resData) |
|
|
|
admin = isAdmin(userJson["id"]) |
|
|
|
if admin: |
|
|
|
serialized_data = [] |
|
|
|
for item in userJson["ids"]: |
|
|
|
serialized_data.append(ObjectId(item)) # 将ObjectId转换为字符串 |
|
|
|
collection.delete_many({"_id": {"$in": serialized_data}}) |
|
|
|
return "删除成功" |
|
|
|
|
|
|
|
|
|
|
|
# 修改密码 |
|
|
|
@app.route("/updatePassword", methods=["post"]) |
|
|
|
def updatePassword(): |
|
|
|
resData = request.data |
|
|
|
# 检测是否有数据 |
|
|
|
if not resData: |
|
|
|
return {"code": 200, "msg": "无数据", "list": [], "hasError": True} |
|
|
|
# 获取到POST过来的数据,转为json形式 |
|
|
|
userJson = json.loads(resData) |
|
|
|
admin = isAdmin(userJson["id"]) |
|
|
|
print(777, userJson, admin) |
|
|
|
if admin: |
|
|
|
collection.update_one( |
|
|
|
{"_id": ObjectId(userJson["userid"])}, |
|
|
|
{ |
|
|
|
"$set": {"mima": md5_encrypt(userJson["mima"])}, |
|
|
|
}, |
|
|
|
) |
|
|
|
return {"code": 200, "msg": "修改成功", "list": [], "hasError": False} |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
|