update-private-message

merge-requests/2/merge
王宇洋 3 years ago
parent dc4e56ef26
commit 1f51bae0eb

@ -6,11 +6,13 @@ from flask import render_template, redirect, url_for, flash, request, \
from flask_login import login_required, current_user
from sqlalchemy.sql.functions import func
from werkzeug.utils import secure_filename
from . import main
from .forms import UploadPhotoForm, CommentForm, PostMdForm
from .. import db, csrf
from ..models import Permission, User, Post, Comment, Notification, Like, Transaction, Activity, Collect, Want, Question
from ..decorators import permission_required
from ..util import check_text
@main.route('/', methods=['GET', 'POST'])
@ -467,6 +469,13 @@ def send_message(username, message):
if user is None:
flash('Invalid user.')
return redirect(url_for('.index'))
check = check_text(message)
print(check)
if check["conclusionType"] != 1:
data = check['data'][0]["msg"]
flash('Your message violated the rule of our web site. ' + data)
return redirect(url_for('.user', username=username))
currentUserObj.send_message(user, message)
db.session.commit()
flash('You have sent:' + message + " To: " + username)

@ -0,0 +1,14 @@
from aip import AipContentCensor
""" 你的 APPID AK SK """
APP_ID = '11752086'
API_KEY = 'OfTS5Nkkbo3Qt9VuZlK0izao'
SECRET_KEY = 'sPUzVHGlHYCcqTxmcaZOINk2OOBMZlZI'
client = AipContentCensor(APP_ID, API_KEY, SECRET_KEY)
print(client.getVersion())
def check_text(text: str):
""" 调用文本审核接口 """
result = client.textCensorUserDefined(text)
return result

Binary file not shown.

@ -22,7 +22,12 @@ from geetest_config import GEETEST_ID, GEETEST_KEY, REDIS_HOST, REDIS_PORT, CYCL
from sdk.geetest_lib import GeetestLib
geetest_dict = {}
# 发送bypass请求获取bypass状态并进行缓存
def check_bypass_status():
response = ""
@ -41,17 +46,16 @@ def check_bypass_status():
geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status
print("bypass状态已经获取并存入redis当前状态为-{}".format(bypass_status))
check_bypass_status()
@app.shell_context_processor
def make_shell_context():
return dict(db=db, User=User, Role=Role, Students=Students, Permission=Permission, Post=Post,
Comment=Comment, Like=Like, Notification=Notification, Transaction=Transaction, Activity=Activity)
# 从缓存中取出当前缓存的bypass状态(success/fail)
def get_bypass_cache():
bypass_status_cache = geetest_dict[GEETEST_BYPASS_STATUS_KEY]
@ -103,5 +107,7 @@ def favicon():
# admin.add_view(ModelView(Activity, db.session, name="Activities", endpoint="Activities"))
# admin.add_view(FileAdmin("."))
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')

@ -1,5 +1,6 @@
alembic==1.7.5
arrow==1.2.1
baidu-aip==2.2.18.0
binaryornot==0.4.4
bleach==3.1.4
blinker==1.4
@ -33,6 +34,7 @@ Markdown==3.2.1
MarkupSafe==2.0.1
poyo==0.5.0
python-dateutil==2.8.2
python-dotenv==0.19.2
python-slugify==5.0.2
requests==2.26.0
six==1.16.0

Loading…
Cancel
Save