zoukankan      html  css  js  c++  java
  • 登录返回信息的接口

    新建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时也存在这个路径;我想可能是文件夹名不能用大写字母;反正最后换了一个路径就解决了这个问题,程序本身并没有毛病

  • 相关阅读:
    【bzoj1174】[Balkan2007]Toponyms Trie树
    【bzoj1786】[Ahoi2008]Pair 配对 dp
    【bzoj3956】Count 单调栈+可持久化线段树
    【bzoj4605】崂山白花蛇草水 权值线段树套KD-tree
    【bzoj3696】化合物 树形dp
    【bzoj1150】[CTSC2007]数据备份Backup 模拟费用流+链表+堆
    【bzoj3671】[Noi2014]随机数生成器 贪心
    【bzoj4653】[Noi2016]区间 双指针法+线段树
    【bzoj4197】[Noi2015]寿司晚宴 分解质因数+状态压缩dp
    用Python操作Named pipe命名管道,实用做法——os.read 或 os.write
  • 原文地址:https://www.cnblogs.com/ruijie/p/10634837.html
Copyright © 2011-2022 走看看