def login(): username = request.args.get('username') password = request.args.get('password') if not username or not password: return make_err(ERR_REQUEST_ARGS, "用户名或密码为空") userid = get_userid(username, password) if userid == -1: return make_err(10004, "用户名或密码错误") token = update_token(userid) if not token: return make_err(-1, "更新token失败") data = {"userid":userid, "token":token} return make_succ(data)
def register(): username = request.args.get('username') password = request.args.get('password') if not username or not password: return make_err(ERR_REQUEST_ARGS, "用户名或密码为空") if check_user_exist(username): return make_err(10003, "用户已注册") try: cursor = g_db.cursor() cursor.execute("insert into passengers(username, password, status) values('%s', '%s', 0)" % (username, password)) g_db.commit() except Exception as e: app.logger.error("exception: %s" % str(e)); return make_err(10002, "用户注册失败") finally: cursor.close() return make_succ()
def before_request_handler(): """解密、认证、过载保护、防刷 """ g.ts = datetime.datetime.now().microsecond if '/register' in request.url or '/login' in request.url: return g.userid = request.args.get('userid') token = request.args.get('token') if not g.userid or not token: return make_err(10001, "未传入userid或token") try: ret = g_redis.get('tokens::%s' % g.userid) except Exception as e: return make_err(20001, "redis error") if ret != token: return make_err(20002, "token验证失败") return
def call_taxi(): """ 用户叫车 """ longitude = request.args.get('longitude') latitude = request.args.get('latitude') dest = request.args.get("dest") if not longitude or not latitude or not dest: return make_err(-1, "参数不合法") cursor = g_db.cursor() try: sql = 'insert into orders(userid, dest_address, longitude, latitude, status, create_ts)' \ 'values(%s, "%s", %f, %f, 0, unix_timestamp(now()))' cursor.execute(sql % (g.userid, dest, float(longitude), float(latitude))) g_db.commit() except Exception as e: app.logger.error("exception: %s" % str(e)) return make_err(-1, "mysql error") finally: cursor.close() app.logger.debug('this is the log') return make_succ()