Esempio n. 1
0
def save_reslut(key, value):
    m = ConRedisOper(host=redis_host, port=redis_port, db=redis_save_result_db)
    m.sethase(key, value, save_duration)
Esempio n. 2
0
 def __init__(self):
     self.conris=ConRedisOper(redis_host,redis_port,3)
Esempio n. 3
0
def get_result(key):
    m = ConRedisOper(host=redis_host, port=redis_port, db=redis_save_result_db)
    results = m.getset(key)
    return results
Esempio n. 4
0
class LoginViewRedis(MethodView):
    '''redis注册'''
    def __init__(self):
        self.conris = ConRedisOper(redis_host, redis_port, 3)

    def get(self):
        form = LoginFrom()
        return render_template('home/login.html', form=form)

    def post(self):
        data = request.get_json()
        ip = request.remote_addr
        username = data['username']
        password = data['password']
        if username is None:
            return jsonify({
                'msg': login_username_not_message,
                'code': 33,
                'data': ''
            })
        if password is None:
            return jsonify({
                'msg': login_password_not_message,
                'code': 34,
                'data': ''
            })
        user = User.query.filter_by(username=username).first()
        if user:
            if user.status is True:
                return jsonify({
                    'msg': login_user_free_message,
                    'code': 35,
                    'data': ''
                })
            if user.check_password(password):
                if (user.is_login is True):
                    return jsonify({
                        "msg": login_user_is_login,
                        "code": 35,
                        'data': ""
                    })
                user.is_login = True
                userlog = UserLoginlog(user=user.id,
                                       ip=ip,
                                       datatime=datetime.datetime.now())
                db.session.add_all([user, userlog])
                db.session.commit()
                login_user(user)
                session['username'] = username
                return jsonify({
                    'msg': login_user_sucess_message,
                    'code': 200,
                    'data': ''
                })
            else:
                try:
                    num = int(self.conris.getset(user.username))
                    if (user.is_free == True and num > 5):
                        return jsonify({
                            'msg': login_user_fremm,
                            'code': 200,
                            'data': ''
                        })
                    else:
                        self.conris.sethase(username, num + 1, 1000 * 60 * 10)
                        return jsonify({
                            'msg': login_password_error_message,
                            'code': 36,
                            'data': ''
                        })
                except Exception as e:
                    self.conris.sethase(username, 1, 1000 * 60 * 10)
                    return jsonify({
                        'msg': login_password_error_message,
                        'code': 36,
                        'data': ''
                    })
        return jsonify({
            'msg': login_user_not_exict_message,
            'code': 37,
            'data': ''
        })