Пример #1
0
def user_head_upload():
    """
    头像上传视图函数
    :return: 成功code:1/失败code:0
    """

    # 检查用户是否登录
    user_no = chkLogin()
    if not user_no:
        return redirect('/login')

    user = User.query.filter_by(user_no=user_no).first()

    if 'file' in request.files:
        # 获取上传的头像
        pic = request.files['file']
        pic_name = gen_pic_name(pic)
        if pic_name == '':
            # 如果生成文件名为空,则该文件不是图片
            return jsonify({'code': 0, 'msg': '请选择一张图片'})

        pic_path = gen_pic_path(pic_name)
        # 保存图片
        pic.save(pic_path)
        # 修改用户头像图片目录及图片名
        user.user_head_pic = pic_path
        user.pic_name = pic_name
        db.session.add(user)
        return jsonify({'code': 1, 'msg': '上传成功'})

    return jsonify({'code': 0, 'msg': '上传失败'})
Пример #2
0
def user_info():
    """
    用户个人信息修改视图函数
    :return: 成功code:1/失败code:0
    """

    # 检查用户是否处于登录状态,如果不是,跳转到登录界面
    user_no = chkLogin()
    if not user_no:
        return redirect('/login')

    user = User.query.filter_by(user_no=user_no).first()

    # 获取表单数据
    user_nick_name = request.form['user_nick_name']
    user_tel = request.form['user_tel']
    user_email = request.form['user_email']
    # 表单数据校验
    res = info_check(user_nick_name, user_tel, user_email, user)
    if res != True:
        return jsonify({'code': 0, 'msg': res})

    # 修改用户个人信息
    user.user_nick_name = user_nick_name
    user.user_tel = user_tel
    user.user_email = user_email
    # 保存用户信息
    db.session.add(user)

    return jsonify({'code': 1, 'msg': '保存成功'})
Пример #3
0
def login():
    if request.method == 'GET':
        user_no = chkLogin()
        if user_no:
            return redirect('/index?user_no=' + str(user_no))
        return render_template('login.html')
    else:
        # 从客户端获取用户ip
        str_ip = request.remote_addr
        # 将ip转为int类型
        int_ip = ip2int(str_ip)
        user_name = request.form['user_name']
        user_pwd = request.form['user_pwd']
        reme = request.form.get('chkRememberMe', 0)
        # 查询数据库,判断用户名或密码是否正确
        res = chkUserPwd(user_name, user_pwd)
        if res:
            # 更新用户ip
            User.query.filter_by(user_id=res.user_id).first().update(login_ip=int_ip)
            data = {'user_no': res.user_no, 'user_name': user_name}
            data = ret_sucess('登录成功', data)
            # 将用户信息存入session
            session[str(res.user_no)] = {'user_name': user_name, 'user_pwd': user_pwd}
            # 响应数据
            resp = make_response(data)
            # 将用户易号存入cookie
            resp.set_cookie('user_no', str(res.user_no), 60 * 30)
            # 返回数据
            return resp
        else:
            return ret_error('用户名或密码错误')
Пример #4
0
def main_index():
    # 判断用户是否已经登录,并获取用户的易号
    user_no = chkLogin()
    if user_no:
        # 获取用户信息
        userinfo = get_user_info_by_no(user_no)
        user_id = userinfo['user_id']
        # 获取主聊天对象
        # res =db.session.query(ChatList).filter_by(pri_user_id=user_id).all()
        res = ChatList.query.filter(
            or_(ChatList.pri_user_id == user_id,
                ChatList.sub_user_id == user_id)).all()
        # 获取主聊天对象的信息
        infos = []
        for i in res:
            if i.sub_user_id == user_id:
                o_user_id = i.pri_user_id
            else:
                o_user_id = i.sub_user_id
            if i.sub_user_id:
                # 查出用户信息
                info = User.query.filter_by(user_id=o_user_id).first()
            else:
                # 查出群信息
                info = Ylgroup.query.filter_by(group_id=i.group_id).first()

            if info:
                info.content = i.content
                info.lid = i.lid
                info.update_time = get_date(i.update_time)
                infos.append(info)
        data = [userinfo, infos]
        return render_template('index.html', data=data)
    return redirect('/login')
Пример #5
0
def user_info():
    """
    用户个人信息视图函数
    :return: get 用户个人信息界面
             post 修改成功
    """

    # 检查用户是否处于登录状态,如果不是,跳转到登录界面
    user_no = chkLogin()
    if not user_no:
        return redirect('/login')

    user = User.query.filter_by(user_no=user_no).first()
    if request.method == 'GET':
        # 返回用户个人信息
        return render_template("user_info.html", user=user)
    else:
        # 修改用户个人信息
        user.user_nick_name = request.form['user_nick_name']
        user.user_tel = request.form['user_tel']
        user.user_email = request.form['user_email']
        # 检查用户信息
        res = info_check(user.user_nick_name, user.user_tel, user.user_email)
        if res != True:
            return ret_error(res)

        # 获取头像图片
        pic = request.files['pic']
        if pic.filename != user.pic_name:
            # 如果头像图片名改变,则将新头像存入服务器中
            pic_name = gen_pic_name(pic)
            if pic_name == '':
                # 如果生成文件名为空,则该文件不符合要求的格式
                return ret_error("请选择jpg或png格式的图片")

            pic_path = gen_pic_path(pic_name)
            pic.save(pic_path)
            # 修改用户头像图片目录及图片名
            user.user_head_pic = pic_path
            user.pic_name = pic_name

        # 保存用户信息
        db.session.add(user)

        return ret_sucess("修改成功")
Пример #6
0
def main_index():
    # 判断用户是否已经登录,并获取用户的易号
    user_no = chkLogin()
    if user_no:
        return render_template('index.html')
    return redirect('/login')