初学者,仅作笔记参考,因为没使用web框架,采用的原生sql进行数据查询有点呆板
from mysql.Database import Demo
from utils.tools import Tools
import flask,json
import datetime
api = flask.Flask(__name__)
# 登录接口
@api.route('/userLogin', methods=['post'])
def user_login():
username = flask.request.json.get('username')
password = flask.request.json.get('password')
if username and password:
demo = Demo()
select_user = "select `username`, `password` from user where username = " + "'" + username + "'" + "and password = " + "'" + password + "'"
result = demo.select(select_user)
if result != None and result != '':
ren = {'msg': '登录成功!', 'code': 200}
return json.dumps(ren, ensure_ascii=False)
else:
ren = {'msg': '用户名不存在,请注册后再进行登录!', 'code': 500}
return json.dumps(ren, ensure_ascii=False)
else:
ren = {'msg': '用户名或密码不能为空', 'code': 500}
return json.dumps(ren, ensure_ascii=False)
# 用户注册
@api.route('/userRegister', methods=['post'])
def user_register():
username = flask.request.json.get('username')
password = flask.request.json.get('password')
confirm_password = flask.request.json.get('confirm_password')
mail = flask.request.json.get('mail')
if username and password and confirm_password and mail:
if len(str(password)) < 8:
ren = {'msg': '密码不能小于8位', 'code': 500}
return json.dumps(ren, ensure_ascii=False)
if len(str(password)) > 50:
ren = {'msg': '密码过长超过了50位', 'code': 500}
return json.dumps(ren, ensure_ascii=False)
if password != confirm_password:
ren = {'msg': '密码与确认密码不一致', 'code': 500}
return json.dumps(ren, ensure_ascii=False)
# 无正则校验
if len(str(mail)) < 6:
ren = {'msg': '邮箱格式不正确', 'code': 500}
return json.dumps(ren, ensure_ascii=False)
if True:
demo = Demo()
now = datetime.datetime.now()
date = Tools.formatDate(now)
select_sql = "select username from user where username ="+"'"+username+"'"
intall_sql = "INSERT INTO `user`(`username`, `password`, `confirm_password`, `mail`,`create_time`) VALUES ("+"'"+username+"'"+", "+"'"+password+"'"+", "+"'"+confirm_password+"'"+","+"'"+mail+"'"+","+"'"+date+"'"+")"
try:
count = demo.select_count(select_sql)
if count == 0:
demo.install(intall_sql)
ren = {'msg': '注册成功!', 'code': 200}
else:
ren = {'msg': '用户名已存在!', 'code': 500}
except Exception as e:
print(e)
ren = {'msg': e, 'code': 500}
else:
ren = {'msg': '非法的提交数据', 'code': 500}
return json.dumps(ren, ensure_ascii=False)
if __name__ == '__main__':
api.run(port=8899, debug=True, host='127.0.0.1')