|
|
|
@ -5,8 +5,10 @@ import time
|
|
|
|
|
|
|
|
|
|
import requests
|
|
|
|
|
from flask import Response
|
|
|
|
|
from flask_admin.contrib.fileadmin import FileAdmin
|
|
|
|
|
from flask_admin.contrib.sqla import ModelView
|
|
|
|
|
from flask_migrate import Migrate
|
|
|
|
|
from app import create_app, db
|
|
|
|
|
from app import create_app, db, admin
|
|
|
|
|
from app.models import User, Role, Students, Permission, Post, Comment, Like, Notification, Transaction, Activity
|
|
|
|
|
|
|
|
|
|
# if you want to execute the program
|
|
|
|
@ -23,23 +25,22 @@ from sdk.geetest_lib import GeetestLib
|
|
|
|
|
|
|
|
|
|
# 发送bypass请求,获取bypass状态并进行缓存
|
|
|
|
|
def check_bypass_status():
|
|
|
|
|
while True:
|
|
|
|
|
response = ""
|
|
|
|
|
params = {"gt": GEETEST_ID}
|
|
|
|
|
try:
|
|
|
|
|
response = requests.get(url=BYPASS_URL, params=params)
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(e)
|
|
|
|
|
if response and response.status_code == 200:
|
|
|
|
|
print(response.content)
|
|
|
|
|
bypass_status_str = response.content.decode("utf-8")
|
|
|
|
|
bypass_status = json.loads(bypass_status_str).get("status")
|
|
|
|
|
geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status
|
|
|
|
|
else:
|
|
|
|
|
bypass_status = "fail"
|
|
|
|
|
geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status
|
|
|
|
|
print("bypass状态已经获取并存入redis,当前状态为-{}".format(bypass_status))
|
|
|
|
|
time.sleep(CYCLE_TIME)
|
|
|
|
|
response = ""
|
|
|
|
|
params = {"gt": GEETEST_ID}
|
|
|
|
|
try:
|
|
|
|
|
response = requests.get(url=BYPASS_URL, params=params)
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(e)
|
|
|
|
|
if response and response.status_code == 200:
|
|
|
|
|
print(response.content)
|
|
|
|
|
bypass_status_str = response.content.decode("utf-8")
|
|
|
|
|
bypass_status = json.loads(bypass_status_str).get("status")
|
|
|
|
|
geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status
|
|
|
|
|
else:
|
|
|
|
|
bypass_status = "fail"
|
|
|
|
|
geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status
|
|
|
|
|
print("bypass状态已经获取并存入redis,当前状态为-{}".format(bypass_status))
|
|
|
|
|
time.sleep(CYCLE_TIME)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.shell_context_processor
|
|
|
|
@ -88,5 +89,19 @@ def favicon():
|
|
|
|
|
thread = threading.Thread(target=check_bypass_status)
|
|
|
|
|
thread.start()
|
|
|
|
|
app.secret_key = GeetestLib.VERSION
|
|
|
|
|
|
|
|
|
|
# User, Role, Students, Permission, Post, Comment, Like, Notification, Transaction, Activity
|
|
|
|
|
admin.add_view(ModelView(User, db.session, name="Users", endpoint="users"))
|
|
|
|
|
admin.add_view(ModelView(Role, db.session, name="roles", endpoint="roles"))
|
|
|
|
|
admin.add_view(ModelView(Students, db.session, name="Studentss", endpoint="Studentss"))
|
|
|
|
|
# admin.add_view(ModelView(Permission, db.session, name="Permissions", endpoint="Permissions"))
|
|
|
|
|
admin.add_view(ModelView(Post, db.session, name="Posts", endpoint="Posts"))
|
|
|
|
|
admin.add_view(ModelView(Comment, db.session, name="Comments", endpoint="Comments"))
|
|
|
|
|
admin.add_view(ModelView(Like, db.session, name="Likes", endpoint="Likes"))
|
|
|
|
|
admin.add_view(ModelView(Notification, db.session, name="Notifications", endpoint="Notifications"))
|
|
|
|
|
admin.add_view(ModelView(Transaction, db.session, name="Transactions", endpoint="Transactions"))
|
|
|
|
|
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')
|
|
|
|
|