Esempio n. 1
0
def random_questions():
    user = session.get('user')

    if user is None:
        return warp.fail_warp('please login')

    num = int(request.args.get('num'))
    question_type = int(request.args.get('type'))

    if num is None or question_type is None:
        return warp.fail_warp('params error')
    if not (10 <= num <= 30 and 0 <= question_type <= 2):
        return warp.fail_warp('params error')

    questions_temp = Questions.select_question(num, question_type)
    questions_res = []
    for question in questions_temp:
        questions_res.append({
            'question':
            question.question,
            'answer': [
                question.answer1, question.answer2, question.answer3,
                question.answer4
            ],
            'correct':
            question.correct
        })

    return warp.success_warp(questions_res)
Esempio n. 2
0
def confirm_code():
    code = request.args.get('code')
    session_code = session.get('code')

    if session_code is None:
        return warp.fail_warp('no session')

    if code == session_code:
        session['confirm'] = True
        return warp.success_warp('confirm code success')
    else:
        return warp.fail_warp('code error')
Esempio n. 3
0
def login():
    username = request.form.get('username')
    password = request.form.get('password')
    # 校验必须参数
    if username is None or password is None:
        return warp.fail_warp('params error')

    user = User.check_password(username=username)

    if user.password == password:
        session.clear()
        session['user'] = username
        return warp.success_warp('login success')
    else:
        return warp.fail_warp('user error')
Esempio n. 4
0
def send_code():
    phone = request.args.get('phone')
    if phone is None:
        return warp.fail_warp('params error')
    user = User.check_password(phone)
    if user is not None:
        return warp.fail_warp('user exist')

    code = create_code()
    result = fetch_code(phone=phone, code=code)
    if result:
        session['phone'] = phone
        session['code'] = code
        return warp.success_warp('code has sent')
    else:
        return warp.fail_warp('code send fail')
Esempio n. 5
0
def change_password():
    username = session.get('user')
    old_password = request.form.get('old_password')
    new_password = request.form.get('new_password')

    if old_password is None or new_password is None or old_password == new_password:
        return warp.fail_warp('params error')

    user = User.check_password(username=username)

    if old_password == user.password:
        User.change_password(username=username, password=new_password)
        session.clear()
        return warp.success_warp('change password success')
    else:
        return warp.fail_warp('old password error')
Esempio n. 6
0
def set_password():
    confirm = session.get('confirm')
    phone = session.get('phone')
    password = request.args.get('password')

    if confirm is not True:
        return warp.fail_warp('no code')

    if password is None:
        return warp.fail_warp('params error')

    user = User(username=phone, password=password)

    try:
        user.new_user()
        session.clear()
        return warp.success_warp('registered success')
    except SQLAlchemyError as e:
        return warp.fail_warp('registered fail')
Esempio n. 7
0
def logout():
    session.clear()

    return warp.success_warp('logout success')