Exemplo n.º 1
0
def create_client():
    data = request.json
    form = ClientForm(data=data)
    if form.validate():
        promise = {
            ClientTypeEnum.USER_EMAIL: __register_user_by_email,
        }
Exemplo n.º 2
0
def user_login():
    # data = request.get_json
    # account = data['account']
    # password = data['password']

    # 1、request.get_json 会自动传入ClientForm
    print(request.get_json())
    form = ClientForm()

    print(form.account)
    print(form.password)
    # 2、对ClientForm对实例进行校验
    if form.validate():
        account = form.account.data
        password = form.password.data
        try:
            user = User.is_password_right(account=account, password=password)
            if user:
                token = creat_token(user.id)
                return NoException(data=token)
            else:
                raise ParameterException(msg="查无此人", error_code=602)
        except Exception:
            raise ParameterException(msg="登录失败", error_code=602)

    else:
        # 若form不满足校验规则,返回报错600,后续可以细化
        raise ParameterException()
Exemplo n.º 3
0
def create_client():
    data = request.json

    form = ClientForm(data=data)
    if form.validate():
        promise = {ClientTypeEnum.USER_EMAIL: __register_user_by_email}
        promise[form.type.data]()
    return 'success'
Exemplo n.º 4
0
def create_client():
    data = request.json
    form = ClientForm(data=data)
    if form.validate():
        __register_user_by_email()
        return 'success'
    else:
        return 'Failed'
Exemplo n.º 5
0
def register():
    data = request.json
    form = ClientForm(data=data)
    if form.validate():
        pormise = {ClientTypeEnum.EMAIL: __register_user_by_email}
        pormise[form.type.data]()
    else:
        raise BizException
    return 'success'
Exemplo n.º 6
0
def create_client():
    # 客户端使用 json 方式提交数据
    data = request.json
    form = ClientForm(data=data)
    if form.validate():
        # 使用字典处理不同的注册方式
        promise = {
            ClientTypeEnum.USER_EMAIL: __register_user_by_email,
        }
    promise[form.type.data]()
    return 'success'
Exemplo n.º 7
0
def user_login():
    data = request.json
    form = ClientForm(data=data)
    if form.validate():
        identity = User.verify(form.account.data, form.secret.data)
        user = User.query.get(identity['uid'])
        user_info = {
            'uid': identity['uid'],
            'auth': identity['scope'],
            'nickname': user.nickname
        }
        return jsonify(user_info), 201
Exemplo n.º 8
0
def create_client():
    data = request.json
    form = ClientForm(data=data)
    if form.validate():
        promise = {
            ClientTypeEnum.USER_EMAIL: __register_user_by_email,
        }
        promise[form.type.data]()
    # 注册 登录
    # 参数 校验 接收参数
    # WTForms
    pass
Exemplo n.º 9
0
def get_token():
    data = request.json
    form = ClientForm(data=data)
    if form.validate():
        identity=User.verify(form.account.data,form.secret.data)
        expiration = current_app.config['TOKEN_EXPIRATION']
        token = generate_auth_token(identity['uid'],
                                    identity['scope'],
                                    expiration)
        t = {
            'token': token.decode('ascii')
        }
        return jsonify(t), 201
Exemplo n.º 10
0
def create_client():
    # 获取客户端信息
    data = request.json
    form = ClientForm(data=data)
    if form.validate():
        # 处理不同客户端注册的方案
        # 替代switchcase-{Enum_name:handle_func}
        promise = {ClientTypeEnum.USER_EMAIL: __register_user_by_email}
    # request.args.to_dict()

    # 表单:网页; json:移动端
    # 注册 登录
    # 参数 校验 接收参数
    # WTForms 验证表单
    pass
Exemplo n.º 11
0
def create_client():
    """
    用户客户端注册 登录
    参数 校验 接收参数
    WTForms 参数校验 验证表单
    表单和JSON对象提交过来的参数的区别: 表单-网页 json-移动端
    客户端提交数据的方式有很多种
    :return:
    """
    # request.json
    # request.args.to_dict()
    data = request.json
    form = ClientForm(data=data)  # 注意,json形式需要data=data
    if form.validate():
        promise = {ClientTypeEnum.USER_EMAIL: __register_user_by_email}
        promise[form.type.data]()
    return 'success'
Exemplo n.º 12
0
def create_clinet():
    # 注册
    # 参数 校验 接收参数
    # WTForms
    # 表单提交  网页
    # JSON提交 APP

    data = request.json
    form = ClientForm(data=data)
    if form.validate():
        # switch不同类型客户端注册不同
        promise = {
            ClientTypeEnum.USER_EMAIL: __register_user_by_email,
        }
        # 函数作为字典的value,调用函数就是拿这个value
        promise[form.type.data]()
    return 'success'
Exemplo n.º 13
0
def create_client():
    data = request.get_json()  # 在这里接收参数
    form = ClientForm(data=data)  # 在这里校验参数(类似爬虫里面的解析) 在WTForms源码中
    if form.validate():  # 执行校验
        #如果通过校验了就可以进行注册了 羡慕就是注册方法,用字典触发字典的值,也就是那个注册函数
        promise = {ClientTypeEnum.USER_EMAIL: __register_user_by_email}
        promise[form.type.data]()
        # u = User(email=form.email.data,
        #          _password=form.secret.data,
        #          nickname=form.email.data)
        # # 将用户对象保存到数据库
        # db.session.add(u)
        # # 下面生成token需要用户id,此时还没有id,需要手动提交
        # db.session.commit()

        # 提示用户下一步操作
        # flash('注册成功')

        # 注册方式,枚举类型,作为键传入,然后通过字典,拿到字典的值,从而完成注册函数。都是把函数拆分括号玩的
    return '注册成功'
Exemplo n.º 14
0
def user_register():
    # data = request.json
    # account = data['account']
    # password = data['password']

    # 1、request.data 会自动传入ClientForm
    form = ClientForm()
    # 2、对ClientForm对实例进行校验
    if form.validate():
        # 3.1、查询用户名是否已经存在
        if User.query.filter_by(account=form.account.data).first():
            # 4、如果用户名存在返回报错601
            return ParameterException(error_code=601, msg='用户名已经存在')
        else:
            # 5、若用户名不存在,尝试注册用户
            User.add_user(account=form.account.data,
                          password=form.password.data)
            return NoException(msg='注册成功')

    else:
        # 若form不满足校验规则,返回报错600,后续可以细化
        raise ParameterException()