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': '上传失败'})
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': '保存成功'})
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('用户名或密码错误')
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')
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("修改成功")
def main_index(): # 判断用户是否已经登录,并获取用户的易号 user_no = chkLogin() if user_no: return render_template('index.html') return redirect('/login')