#! encoding:utf-8
import flask,json,pymysql
# flask 一個服務
server=flask.Flask(__name__)
# 本地數據庫方法
def Msqldb(sql):
db = pymysql.connect(host='localhost',user='root',passwd='123456',port=3306,db='user',charset='utf8')
cur = db.cursor()
cur.execute(sql)
# 判斷sql語句是否select開頭
if sql.strip()[:6].upper() == 'SELECT':
res = cur.fetchall()
else:
db.commit()
res = 'OK'
cur.close()
db.close()
return res
# 註冊接口
@server.route('/register',methods=['get','post'])
def sigin():
# 獲取接口傳入的參數的值
username = flask.request.json.get("username")
pwd = flask.request.json.get("password")
sql = "select username from userinfo WHERE username=" + "'" + str(username) + "'"
res = Msqldb(sql)
name = str(res).replace("(('", "").replace("',),)", "")
if username and pwd:
if username == name:
res = {'Massges':'用戶已存在!','ErrorCode':20300}
else:
insert_sql = "insert into userinfo(username,password) values("+ "'"+ str(username) + "'" + "," + "'" +str(pwd) + "'" + ")"
Msqldb(insert_sql)
res = {'Massges':'註冊成功!','ErrorCode':0}
else:
res = {'Massges':'用戶名或密碼不能爲空,請重新輸入!','ErrorCode':20400}
return json.dumps(res,ensure_ascii=False)
# 登錄接口
@server.route('/login',methods=['post'])
def login():
# 獲取接口傳入的參數的值
username = flask.request.json.get("username")
pwd = flask.request.json.get("password")
sqluser = "select username from userinfo WHERE username=" + "'" + str(username) + "'"
sqlpwd = "select password from userinfo WHERE username=" + "'" + str(username) + "'"
user = Msqldb(sqluser)
word = Msqldb(sqlpwd)
User = str(user).replace("(('", "").replace("',),)", "")
Password = str(word).replace("(('", "").replace("',),)", "")
if username and pwd:
if User==username and pwd==Password:
res = {"Massges":"登錄成功!","ErrorCode":0}
elif User==username and pwd!=Password:
res = {"Massges": "密碼錯誤,請重新輸入!", "ErrorCode": 20021}
else:
res = {"Massges": "用戶未註冊,請註冊後登錄!", "ErrorCode": 20022}
else:
res = {"Massges": "用戶名或密碼不能爲空,請重新輸入!", "ErrorCode": 20032}
return json.dumps(res, ensure_ascii=False)
server.run(port=9999,debug=True,host='localhost')
接口請求後寫入的數據庫數據: