def pic_info(): # 判断用户是否登录 user = g.user if not user: return abort(403) if request.method == "GET": return render_template("news/user_pic_info.html", user=user.to_dict()) # POST处理 try: img_bytes = request.files.get("avatar").read() # 读取出上传的文件 bytes # 将文件上传给文件服务器 try: file_name = img_upload(img_bytes) # 记录头像的URL user.avatar_url = file_name except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.THIRDERR, errmsg=error_map[RET.THIRDERR]) except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) return jsonify(errno=RET.OK, errmsg=error_map[RET.OK], data=user.to_dict())
def news_release(): # 判断用户是否登录 user = g.user if not user: return abort(403) if request.method == "GET": # 查询所有的分类信息, 再传入模板 categories = [] try: categories = Category.query.all() except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg=error_map[RET.DBERR]) if len(categories): categories.pop(0) return render_template("news/user_news_release.html", categories=categories) # POST处理 title = request.form.get("title") category_id = request.form.get("category_id") digest = request.form.get("digest") content = request.form.get("content") if not all([title, category_id, digest, content]): return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) try: category_id = int(category_id) except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) # 生成一个新的新闻模型 news = News() news.title = title news.category_id = category_id news.digest = digest news.content = content news.source = "个人发布" # 新闻来源 news.user_id = user.id # 新闻作者id news.status = 1 # 新闻审核状态 try: img_bytes = request.files.get("index_image").read() file_name = img_upload(img_bytes) news.index_image_url = QINIU_DOMIN_PREFIX + file_name except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) # 添加到数据库中 db.session.add(news) return jsonify(errno=RET.OK, errmsg=error_map[RET.OK])
def news_edit_action(): # 获取参数 news_id = request.form.get("news_id") category_id = request.form.get("category_id") title = request.form.get("title") digest = request.form.get("digest") content = request.form.get("content") index_image = request.files.get("index_image") # 校验参数 if not all([news_id, category_id, title, digest, content]): return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) try: news_id = int(news_id) category_id = int(category_id) except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) # 取出新闻模型 try: news = News.query.get(news_id) category = Category.query.get(category_id) except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg=error_map[RET.DBERR]) if not news or not category: return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) # 修改数据 news.title = title news.digest = digest news.category_id = category_id news.content = content if index_image: try: img_bytes = index_image.read() file_name = img_upload(img_bytes) news.index_image_url = QINIU_DOMIN_PREFIX + file_name except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) # json返回 return jsonify(errno=RET.OK, errmsg=error_map[RET.OK])