登录返回信息的接口
新建1个api文件夹:bin目录下放的是启动脚本、config配置信息、lib下放的是主程序和工具
start
from lib.interface import server from config.setting import SERVER_PORT server.run(host='0.0.0.0',port=SERVER_PORT)
config
MYSQL_INFO = { 'host':'118.24.3.40', #ip 'user':'jxz', #用户 'passwd':'123456', #密码 'db':'jxz', #数据库 'charset':'utf8', #字符集 'port':3306 #端口号 }#mysql的配置信息 REDIS_INFO = { 'host':'118.24.3.40', #ip, 'password':'HK139bc&*',#密码 'port':6379, #端口号 'db':1#第几个数据库 } #redis的配置信息 SERVER_PORT = 8989 #服务的端口号
lib-interface.py
import flask,time,json from lib import tools server=flask.Flask(__name__) @server.route('/login') def login(): username=flask.request.values.get('username') pwd=flask.request.values.get('pwd') if username=='nhy' and pwd=='123456': session_id=tools.my_md5(username+time.strftime('%Y%m%d%H%M%S')) key='txz_session:%s'%username tools.op_redis(key,session_id) res={'session_id':session_id,'error_code':0,'msg':'登录成功','login_time':time.strftime('%Y%m%d%H%M%S')} return json.dumps(res,ensure_ascii=False) #http://127.0.0.1:8989/login?username=nhy&pwd=123456
tools
import redis,pymysql,hashlib #pycharm帮你加环境变量 from config.setting import MYSQL_INFO,REDIS_INFO def my_db(sql): coon = pymysql.connect( **MYSQL_INFO ) # {'user':root,'passwd':123456} # user=root,password=123456,port=3006 cur = coon.cursor() #建立游标 cur.execute(sql)#执行sql if sql.strip()[:6].upper()=='SELECT': res = cur.fetchall() else: coon.commit() res = 'ok' cur.close() coon.close() return res def op_redis(k,v=None): r = redis.Redis(**REDIS_INFO) if v: r.set(k,v) res = 'ok' else: res = r.get(k).decode() return res def my_md5(s): md = hashlib.md5() md.update( s.encode() ) return md.hexdigest()
遇到的问题:执行的时候提示导入的本地模块找不到,后来换了一个路径就好了,但是原来那个路径执行的时候还是报模块找不到,前提是已经把路径加到环境变量中了,sys.path时也存在这个路径;我想可能是文件夹名不能用大写字母;反正最后换了一个路径就解决了这个问题,程序本身并没有毛病