Exemplo n.º 1
0
def set():
    # 这里用来区别是添加用户还是修改用户资料
    default_pwd = '******'
    request_method = request.method
    if request_method == 'GET':
        resp_data= {}
        req = request.args
        uid = int(req.get('id', 0))
        info = None
        if uid:
            info = User.query.filter_by(uid=uid).first()
        resp_data['info'] = info
        return ops_render('/account/set.html', resp_data)

    resp_data = {'cade': 200, 'msg': '操作成功', 'data': {}}
    request_data = request.values
    uid = request_data['id'] if 'id' in request_data else 0
    nickname = request_data['nickname'] if 'nickname' in request_data else ''
    mobile = request_data['mobile'] if 'mobile' in request_data else ''
    email = request_data['email'] if 'email' in request_data else ''
    login_name = request_data['login_name'] if 'login_name' in request_data else ''
    login_pwd = request_data['login_pwd'] if 'login_pwd' in request_data else ''

    if not nickname or len(nickname) < 1:
        resp_data['code'] = -1
        resp_data['msg'] = "请输入符合规范的昵称"
        return jsonify(resp_data)

    if not email or len(email) < 1:
        resp_data['code'] = -1
        resp_data['msg'] = "请输入符合规范的邮箱"
        return jsonify(resp_data)

    if not login_name or len(login_name) < 1:
        resp_data['code'] = -1
        resp_data['msg'] = "请输入符合规范的用户名"
        return jsonify(resp_data)

    if not login_pwd or len(login_pwd) < 1:
        resp_data['code'] = -1
        resp_data['msg'] = "请输入符合规范的登录密码"
        return jsonify(resp_data)

    # 判断新增用户名是否存在
    has_in = User.query.filter(User.login_name == login_name, User.uid != uid).first()
    if has_in:
        resp_data['code'] = -1
        resp_data['msg'] = '登录名已存在, 请换一个试试'
        return jsonify(resp_data)

    user_info = User.query.filter_by(uid=uid).first()
    if user_info:
        model_user = user_info
    else:
        model_user = User()
        model_user.create_time = getCurrentDate()
        model_user.login_salt = UserService.get_salt()

    model_user.nickname = nickname
    model_user.email = email
    model_user.mobile = mobile
    # TODO:用户头像以及用户状态
    model_user.sex = model_user.status =1
    model_user.avatar = 'www'
    model_user.login_name = login_name
    if login_pwd != default_pwd:
        model_user.login_pwd = UserService.genePwd(login_pwd, model_user.login_salt)
    
    model_user.update_time = getCurrentDate()
    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp_data)
Exemplo n.º 2
0
def set_info():
    default_pwd = "******"
    if request.method == "GET":
        res = {}
        request_data = request.args  # 只能回去get请求的参数
        uid = int(request_data.get('id', 0))
        user_info = None
        if uid:
            user_info = User.query.filter_by(uid=uid).first()
        res['info'] = user_info
        return ops_render('account/set.html', res)

    res = {'code': 200, 'msg': '操作成功', 'data': {}}
    # 获取请求传过来参数
    request_data = request.values
    uid = request_data['id'] if 'id' in request_data else ''
    nickname = request_data['nickname'] if 'nickname' in request_data else ''
    mobile = request_data['mobile'] if 'mobile' in request_data else ''
    email = request_data['email'] if 'email' in request_data else ''
    login_name = request_data[
        'login_name'] if 'login_name' in request_data else ''
    login_pwd = request_data['login_pwd'] if 'login_pwd' in request_data else ''
    # 验证参数是否合法
    if nickname is None or len(nickname) < 1:
        res['code'] = -1
        res['msg'] = "请输入符合规范的姓名~~"
        return jsonify(res)

    if mobile is None or len(mobile) < 1:
        res['code'] = -1
        res['msg'] = "请输入符合规范的手机号码~~"
        return jsonify(res)

    if email is None or len(email) < 1:
        res['code'] = -1
        res['msg'] = "请输入符合规范的邮箱~~"
        return jsonify(res)

    if login_name is None or len(login_name) < 1:
        res['code'] = -1
        res['msg'] = "请输入符合规范的登录用户名~~"
        return jsonify(res)

    if login_pwd is None or len(email) < 6:
        res['code'] = -1
        res['msg'] = "请输入符合规范的登录密码~~"
        return jsonify(res)
    # 验证登录名是否存在数据库其他用户信息里面,filter传入多个查询条件
    has_in = User.query.filter(User.login_name == login_name,
                               User.uid != uid).first()
    if has_in:
        res['code'] = -1
        res['msg'] = "该登录名已存在,请换一个试试~~"
        return jsonify(res)

    # 数据库验证后修改,filter_by传入单个查询条件
    user_info = User.query.filter_by(uid=uid).first()
    if user_info:
        user_obj = user_info
    else:
        # 查询不到用户信息,说明为新增用户
        user_obj = User()
        user_obj.created_time = get_current_time()
        user_obj.login_salt = UserService.get_salt()
    user_obj.nickname = nickname
    user_obj.mobile = mobile
    user_obj.email = email
    user_obj.login_name = login_name
    if login_pwd != default_pwd:
        # 说明修改了密码
        user_obj.login_pwd = UserService.gene_pwd(login_pwd,
                                                  user_obj.login_salt)
    user_obj.updated_time = get_current_time()

    db.session.add(user_obj)
    db.session.commit()
    return jsonify(res)