Esempio 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)
Esempio n. 2
0
def set():
    default_pwd = "******"
    if request.method == "GET":
        # 判断 uid是否存在
        resp_data = {}
        req = request.args
        uid = int( req.get( "id", 0 ) )
        
        user_info = None
        if  uid:
            user_info = User.query.filter_by( uid = uid ).first()

        resp_data['user_info'] = user_info
        return ops_render( "account/set.html", resp_data )

    resp = { 'code': 200, 'msg': '操作成功~~', 'data':{} }
    req = request.values

    # 获取参数值 并 进行校验
    id = req['id'] if 'id' in req else ''
    nickname = req['nickname'] if 'nickname' in req else ''
    mobile = req['mobile'] if 'mobile' in req else ''
    email = req['email'] if 'email' in req else ''
    login_name = req['login_name'] if 'login_name' in req else ''
    login_pwd = req['login_pwd'] if 'login_pwd' in req else ''    

    if nickname is None or len( nickname ) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的姓名"
        return jsonify( resp )
    if mobile is None or len( mobile ) < 11:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的手机号码"
        return jsonify( resp )
    if email is None or len( email ) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的邮箱"
        return jsonify( resp )
    if login_name is None or len( login_name ) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的登录用户名"
        return jsonify( resp )
    if login_pwd is None or len( login_pwd ) < 6:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的登录密码"
        return jsonify( resp )
    
    # 查询用户名是否 已经存在,而且 除去aclear本身!
    # 两种情况:1 修改 ;2 添加
    has_in = User.query.filter( User.login_name == login_name, User.uid != id ).first()
    if has_in:
        resp['code'] = -1
        resp['msg'] = "该用户名已存在,请换一个试试~"
        return jsonify( resp )

    # 写入数据库
    user_info = User.query.filter_by( uid = id ).first()
    if user_info:
        model_user = user_info                          # 编辑
    else:                                               # 新增
        model_user = User()
        model_user.create_time = getCurrentDate()
        model_user.login_salt =  UserService.geneSalt() # 加密密钥

    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.email = email
    model_user.login_name = login_name
    model_user.updated_time = getCurrentDate()

    if login_pwd != default_pwd:
        model_user.login_pwd = UserService.genePwd( login_pwd, model_user.login_salt )      # 注意login_pwd不同
    

    db.session.add( model_user )
    db.session.commit()
    return jsonify( resp )    
Esempio n. 3
0
def set():
    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)

    # POST
    resp = {'code': 200, 'msg': '操作成功', 'data': {}}

    # 获取前端ajax传递的data
    req = request.values
    id = req['id'] if 'id' in req else 0
    nickname = req['nickname'] if 'nickname' in req else 0
    mobile = req['mobile'] if 'mobile' in req else 0
    email = req['email'] if 'email' in req else 0
    login_name = req['login_name'] if 'login_name' in req else 0
    login_pwd = req['login_pwd'] if 'login_pwd' in req else 0

    # 校检
    if nickname is None or len(nickname) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的nickname"
        return jsonify(resp)
    if mobile is None or len(mobile) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的mobile"
        return jsonify(resp)
    if email is None or len(email) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的email"
        return jsonify(resp)
    if login_name is None or len(login_name) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的login_name"
        return jsonify(resp)
    if login_pwd is None or len(login_pwd) < 6:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的login_pwd"
        return jsonify(resp)

    # 筛选
    is_exits = User.query.filter(User.login_name == login_name,
                                 User.uid != id).first()
    if is_exits:
        resp['code'] = -1
        resp['msg'] = "改登录名已经存在,请更换"
        return jsonify(resp)

    user_info = User.query.filter_by(uid=id).first()

    if user_info:
        model_user = user_info
    else:
        model_user = User()
        # 插入格式化的时间
        model_user.create_time = getCurrentDate()
        # 生成十六位的加密字符串
        model_user.login_salt = UserService.generateSalt()

    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.email = email
    model_user.login_name = login_name

    if user_info and user_info == 1:
        resp['code'] = -1
        resp['msg'] = "该用户为Mary"
        return jsonify(resp)

    model_user.login_pwd = UserService.generatePwd(login_pwd,
                                                   model_user.login_salt)
    # 插入格式化的时间
    model_user.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()

    return jsonify(resp)