commit 2c9129afd18895c62dd6e69c3d1fcedd49f0e115 Author: dyk <1713588126@qq.com> Date: Sun Nov 7 14:44:44 2021 +0800 1 diff --git a/ DB.db b/ DB.db new file mode 100644 index 0000000..e0219b2 Binary files /dev/null and b/ DB.db differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..75ec24a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +__pycache__/*.pyc diff --git a/api.py b/api.py new file mode 100644 index 0000000..ae8e98b --- /dev/null +++ b/api.py @@ -0,0 +1,145 @@ +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" \ No newline at end of file diff --git a/model.py b/model.py new file mode 100644 index 0000000..de67a8e --- /dev/null +++ b/model.py @@ -0,0 +1,37 @@ +from enum import unique +from flask_sqlalchemy import SQLAlchemy +from flask import Flask + +app = Flask(__name__) + +app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:/// "+ "DB.db" #配置 +app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False +app.config["SECRET_KEY"] = "jjjsks" + +db = SQLAlchemy(app) #app作为参数实例化一个sqlalchemy类的对象 + +class User (db.Model): + __tablename__="users" + id=db.Column(db.Integer,primary_key=True) + username=db.Column(db.String(32),nullable=False,unique=True) + password=db.Column(db.String(64),nullable=False) + token=db.Column(db.String(1024)) + +class AAA (db.Model): + __tablename__="aaa" + id=db.Column(db.Integer,primary_key=True) + website=db.Column(db.String(128)) + + def AAA_to_dict(): + get_db=AAA.query.all() + AAA_dict={ + "id":AAA.id, + "website":AAA.website + } + + return AAA_dict + + +if __name__ == '__main__': + db.create_all() + # db.drop_all() diff --git a/practice.py b/practice.py new file mode 100644 index 0000000..ba5156c --- /dev/null +++ b/practice.py @@ -0,0 +1,62 @@ +from model import db, User,AAA +from flask_jwt_extended import create_access_token,jwt_required +import hashlib +# a = User(username="abc",password="123") +# db.session.add(a) +# db.session.commit() + +# b = User(username="董月坤",password="1234") +# c = User(username="仇亚恒",password="1234") +# db.session.add_all([a,b,c]) +# db.session.commit() + +# d = AAA(website="www.baidu.com") +# e = AAA(website="www.123") +# f = AAA(website="www.456") +# db.session.add_all([d,e,f]) +# db.session.commit() + + +# u=User.query.get(1) #一个 +# print(u.username) + +# u=User.query.all() #全部 +# for i in u: +# print(i.username) + +# username=my_json.get("username") +# user=User.query.filter_by(username="abc").first() +# print(user.username) + +# user=User.query.filter(User.username=="abc").first() +# print(user.username) + +# token = create_access_token(identity=user.username) +# print(token) + +# md5=hashlib.md5("123".encode()).hexdigest() +# print(md5) + +# User.query.filter(User.username=="abc").update({"password":"123"}) +# db.session.commit() + +# user = Student.query.filter(Student.name == "李依").delete() + + +get_website=AAA.query.all() + +b=[] +for i in get_website: #字典中key是唯一值 “id”相同 会覆盖掉只剩最后一项 + a=dict() + a["id"]=i.id + a["website"]=i.website + b.append(a) +print(b) +# print(b) +# b.append(a) +# print(b) +# a=dict() +# a[AAA.id]=AAA.website +# a[12]=2222 + +