backend/api.py
2021-11-07 14:44:44 +08:00

145 lines
3.9 KiB
Python

from operator import add
from flask import jsonify,request,session
from model import AAA, app,db,User
from flask_jwt_extended import create_access_token,JWTManager,jwt_required,get_jwt_claims, get_jwt_identity
import hashlib
app.config['JWT_SECRET_KEY'] = 'JWT'
jwt = JWTManager(app)
@app.route("/register",methods=["POST"]) #注册
def register():
req_data=request.get_json()
new_username=req_data.get("username")
new_password=req_data.get("password")
new_token = create_access_token(identity=new_username)
new_user=User.query.filter(User.username==new_username).first()
if not all([new_username, new_password]):
return jsonify({"code":400,"msg":"请将账号密码填写完整"} )
if new_user is not None :
return jsonify({"code":400,"msg":"账号已存在"} )
add_user = User(username=new_username,password=new_password,token=new_token)
db.session.add(add_user)
db.session.commit()
return jsonify({
"code":200,
"msg":"用户注册成功",
"token":new_token
})
@app.route("/login",methods=["POST"]) #登录
def login():
req_data=request.get_json()
username=req_data.get("username")
password=req_data.get("password")
# password_md5=hashlib.md5(password.encode()).hexdigest()
user=User.query.filter(User.username==username).first()
if not all([username, password]):
return jsonify({"code":400,"msg":"参数不完整"} )
# if user is None or password_md5 != user.password:
if user is None or password != user.password:
return jsonify({"code":400,"msg":"账号或密码错误"} )
token = create_access_token(identity=user.username)
User.query.filter(User.username==username).update({"token":token})
db.session.commit()
return jsonify({
"code":200,
"msg": '登录成功',
"data":{
"token":token
}
})
# str(AAA())
# data = [
# {
# "id":1,
# "web":"xx"
# }
# ]
# jsonify(data=data)
@app.route("/get",methods=["GET"]) #查
@jwt_required
def Get():
get_website=AAA.query.all()
b=[]
for i in get_website:
a=dict()
a["id"]=i.id
a["website"]=i.website
b.append(a)
return jsonify(b)
@app.route("/add",methods=["POST"]) #增
@jwt_required
def Add():
try:
# claims = get_jwt_claims()
# current_user = get_jwt_identity()
add_website=request.get_json()
new_website= add_website.get("website")
add = AAA(website=new_website)
db.session.add(add)
db.session.commit()
return jsonify({"code":200,"msg":"数据添加成功"} )
except Exception as e:
return jsonify({"code":400,"msg":"格式不正确"} )
@app.route("/modify",methods=["POST"]) #改
@jwt_required
def Modify():
try:
get_date=request.get_json()
modify_id= get_date.get("id")
modify_website= get_date.get("website")
id=AAA.query.filter(AAA.id==modify_id).first()
if id is None :
return jsonify({"code":400,"msg":"没有这项数据"} )
AAA.query.filter(AAA.id==modify_id).update({"website":modify_website})
db.session.commit()
return jsonify({"code":200,"msg":"数据修改成功"} )
except Exception as e:
return jsonify({"code":400,"msg":"格式不正确"} )
@app.route("/delete",methods=["POST"]) #删
@jwt_required
def Delete():
try:
get_date=request.get_json()
delete_id= get_date.get("id")
id=AAA.query.filter(AAA.id==delete_id).first()
if id is None :
return jsonify({"code":400,"msg":"没有这项数据"} )
AAA.query.filter(AAA.id==delete_id).delete()
db.session.commit()
return jsonify({"code":200,"msg":"数据删除成功"} )
except Exception as e:
return jsonify({"code":400,"msg":"格式不正确"} )
if __name__=="__main__":
app.run(host="0.0.0.0")
# host="0.0.0.0"