Beispiel #1
0
def msg_login():
    api_logger.debug('user phone_login get action!')
    resp = eval(request.get_data())
    if resp:
        u_phone = resp.get('phone')
        msg_code = resp.get('msg')
        if all((bool(u_phone), bool(msg_code))):
            udao = UserDao()
            login_user = udao.msglogin(u_phone, msg_code)
            # 检查验证码并检查手机号,如果存在,且验证码正确,则登录,否则注册
            if login_user.get('id'):  # 验证码正确
                token = cache_.new_token()
                cache_.save_token(token, login_user.get('id'))
                udao.user_update('is_active', 1, 'u_phone', u_phone)
                send_time = datetime.now().strftime('%Y-%m-%d %H-%M-%S')
                PhoneDao().save(
                    **{
                        'phone': u_phone,
                        'code': msg_code,
                        'send_type': '登录',
                        'send_time': send_time
                    })
                return jsonify({
                    'code': 200,
                    'token': token,
                    'user_data': login_user
                })
            return jsonify(login_user)
        else:
            return jsonify({'code': 204, 'msg': '请求参数u_phone和msg_code必须存在'})
    return jsonify({'code': 304, 'msg': '传入数据为空'})
Beispiel #2
0
def forgot_pwd():
    api_logger.debug('user forget get action!')
    resp = eval(request.get_data())
    if resp:
        u_phone = resp.get('phone')
        msg_code = resp.get('msg')
        u_auth_string = resp.get('auth_string')
        if all((bool(u_phone), bool(msg_code), bool(u_auth_string))):
            udao = UserDao()
            # 验证手机号在数据库中是否存在
            if udao.check_login_phone(u_phone):
                login_user = udao.msglogin(u_phone, msg_code)  # 检查验证码
                if login_user.get('id'):
                    token = cache_.new_token()
                    cache_.save_token(token, login_user.get('id'))
                    udao.user_update('u_auth_string', u_auth_string, 'u_phone',
                                     u_phone)  # 更新密码
                    udao.user_update('is_active', 1, 'u_phone',
                                     u_phone)  # 更新状态
                    send_time = datetime.now().strftime('%Y-%m-%d %H-%M-%S')
                    PhoneDao().save(
                        **{
                            'phone': u_phone,
                            'code': msg_code,
                            'send_type': '登录',
                            'send_time': send_time
                        })
                    return jsonify({
                        'code': 200,
                        'token': token,
                        'user_data': login_user
                    })
                return jsonify(login_user)
            else:  # 手机号码不存在,提示
                return jsonify({'code': 203, 'msg': '请填写注册手机号'})
        else:
            return jsonify({
                'code': 204,
                'msg': '请求参数u_phone,msg_code,u_auth_string必须存在'
            })
    return jsonify({'code': 304, 'msg': '传入数据为空'})