def create_client(): data = request.json form = ClientForm(data=data) if form.validate(): promise = { ClientTypeEnum.USER_EMAIL: __register_user_by_email, }
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()
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'
def create_client(): data = request.json form = ClientForm(data=data) if form.validate(): __register_user_by_email() return 'success' else: return 'Failed'
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'
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'
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
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
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
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
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'
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'
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 '注册成功'
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()