Skip to content

Commit b85a3a1

Browse files
committed
save
1 parent b8c97ee commit b85a3a1

17 files changed

+188
-79
lines changed

.idea/deployment.xml

+15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/project_learn.iml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

+23-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

__pycache__/app.cpython-37.pyc

82 Bytes
Binary file not shown.

__pycache__/config.cpython-37.pyc

0 Bytes
Binary file not shown.

app.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@
88
from blueprints import user_bp,teacher_bp
99
from flask_migrate import Migrate
1010
from utils import jwt_authentication
11-
11+
from flask_cors import CORS
1212

1313
app = Flask(__name__)
1414
app.config.from_object(config)
15+
CORS(app, resources=r'/*')
1516
db.init_app(app)
1617
mail.init_app(app)
1718

@@ -27,5 +28,5 @@
2728

2829

2930
if __name__ == '__main__':
30-
app.run(host='0.0.0.0', port=5000)
31+
app.run(host='0.0.0.0', port=5000, debug=True)
3132
app.run()
-1 Bytes
Binary file not shown.
-1 Bytes
Binary file not shown.

blueprints/forms.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ class LoginForm(wtforms.Form):
77
password = wtforms.StringField(validators=[length(min=6, max=30)])
88

99
class RegisterForm(wtforms.Form):
10-
username = wtforms.StringField(validators=[length(min=3,max=20)])
11-
student_id = wtforms.StringField(validators=[length(min=3,max=20)])
10+
username = wtforms.StringField(validators=[length(min=1, max=20)])
11+
student_id = wtforms.StringField(validators=[length(min=3, max=20)])
1212
email = wtforms.StringField(validators=[email()])
1313
captcha = wtforms.StringField(validators=[length(min=4, max=4)])
1414
password = wtforms.StringField(validators=[length(min=6, max=30)])

blueprints/qa.py

+4-19
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,10 @@
99
def index():
1010
return render_template('index.html')
1111

12-
@bp.route("/question/public")
13-
@login_required
14-
def public_question():
15-
# 判断是否登录
16-
return render_template("public_question.html")
17-
18-
19-
@bp.route("/refesh_jwt")
20-
@login_required
21-
def refesh_jwt():
22-
"""
23-
刷新token
24-
"""
25-
user_id = g.user_id
26-
if user_id and g.is_refresh_token:
27-
token, refresh_token = generate_tokens(user_id, with_refresh_token=False)
28-
return jsonify({"code": 200, "message": "success", "token": token, "refresh_token": refresh_token})
29-
else:
30-
return jsonify({"code": 403, "message": "Wrong refresh token."})
12+
13+
14+
15+
3116

3217

3318

blueprints/teacher.py

+47-26
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import json
22

3-
from flask import Blueprint,render_template,request,redirect,url_for,jsonify,session,flash
3+
from flask import Blueprint,render_template,request,redirect,url_for,jsonify,session,flash, g
44
from exts import mail,db
55
from flask_mail import Message
66
from models import TeacherModel,CourseModel,AttendenceModel
@@ -58,8 +58,9 @@ def teacher_login():
5858
user = TeacherModel.query.filter_by(email=email).first()
5959
if user and check_password_hash(user.password, password):
6060
token, refresh_token = generate_tokens(user.id)
61+
user_name = user.name
6162
# session['user_id'] = user.id
62-
return jsonify({"code": 200, "message": "success", "token": token, "refresh_token": refresh_token})
63+
return jsonify({"code": 200, "message": "success", "user_name": user_name, "token": token, "refresh_token": refresh_token})
6364
else:
6465
flash("邮箱和密码不匹配!")
6566
return jsonify({"code": 201, "message": "邮箱和密码不匹配"})
@@ -87,40 +88,41 @@ def teacher_register():
8788
user = TeacherModel(email=email, name=username, password=hash_password, id=student_id)
8889
db.session.add(user)
8990
db.session.commit()
90-
return redirect(url_for("teacher.teacher_login"))
91+
return jsonify({"code": 200, "message": "regist success"})
9192
else:
92-
93-
return redirect(url_for("user.register"))
93+
return jsonify({"code": 400, "message": "regist failed"})
9494

9595
"""
96-
创建班级
96+
创建课程
9797
{
98-
"course_id":543112
99-
"course_name":"语文课"
100-
teacher_id:2010232
98+
"course_id":543112,
99+
"course_name":"语文课",
100+
"teacher_id":2010232
101101
}
102102
"""
103103
@bp.route('/create_course',methods = ["POST"])
104104
@login_required
105105
def creat_course():
106106
if request.method == 'POST':
107-
form_cc = CreateCourse_Form(request.form)
108-
print(form_cc)
109-
if form_cc.validate():
110-
course_id = form_cc.course_id.data
111-
course_name = form_cc.course_name.data
112-
teacher_id = form_cc.teacher_id.data # 可从登录信息session中获取
113-
114-
course = CourseModel(id=course_id,course_name=course_name,teacher_id=teacher_id)
115-
db.session.add(course)
116-
db.session.commit()
117-
118-
# code: 200 成功的、正常的请求
119-
return jsonify({"code": 200})
120-
121-
else:
107+
json_data = request.get_json()
108+
print(json_data)
109+
if json_data.get('course_id') is None or json_data.get('course_name') is None:
122110
# code: 400 失败的请求
123111
return jsonify({"code": 400, "message": "数据输入错误"})
112+
else:
113+
course_id = json_data.get('course_id')
114+
course_name = json_data.get('course_name')
115+
teacher_id = g.user_id # 可从登录信息session中获取
116+
if CourseModel.query.filter_by(id=course_id).first():
117+
return jsonify({"code": 401, "message": "该课号已存在"})
118+
else:
119+
course = CourseModel(id=course_id, course_name=course_name, teacher_id=teacher_id)
120+
db.session.add(course)
121+
db.session.commit()
122+
123+
# code: 200 成功的、正常的请求
124+
return jsonify({"code": 200, "message": "success"})
125+
124126

125127
"""
126128
考勤成功记录
@@ -135,8 +137,11 @@ def creat_course():
135137
@bp.route('/attendance_record',methods = ["POST"])
136138
@login_required
137139
def attendance_record():
140+
print("enter")
138141
if request.method == 'POST':
142+
print("YES")
139143
json_data = request.get_json()
144+
print("YES")
140145
print(json_data)
141146
if json_data.get('course_id') is None or json_data.get('student_id') is None or json_data.get('course_time') is None:
142147
# code: 400 失败的请求
@@ -161,7 +166,7 @@ def attendance_record():
161166
db.session.commit()
162167

163168
# code: 200 成功的、正常的请求
164-
return jsonify({"code": 200})
169+
return jsonify({"code": 200, "message": "success"})
165170

166171

167172
"""
@@ -182,7 +187,7 @@ def check_course_exist():
182187
course_id = json_data.get('course_id')
183188
if CourseModel.query.filter_by(id=course_id).first():
184189
# code: 200 成功的、正常的请求
185-
return jsonify({"code": 200})
190+
return jsonify({"code": 200, "message": "课号存在"})
186191
else:
187192
# code: 400 失败的请求
188193
return jsonify({"code": 400, "message": "课号不存在"})
@@ -211,6 +216,22 @@ def inquire_attendance():
211216
else:
212217
return jsonify({"code": 400, "message": "未查询到相关考勤信息"})
213218

219+
"""
220+
显示创建的所有课号
221+
"""
222+
@bp.route('/inquire_course',methods = ["POST"])
223+
@login_required
224+
def inquire_course():
225+
if request.method == 'POST':
226+
teacher_id = g.user_id
227+
course_data = CourseModel.query.filter_by(teacher_id=teacher_id).all()
228+
if course_data:
229+
data = query2dict(course_data)
230+
print(data)
231+
return jsonify({"code": 200, "message": data})
232+
else:
233+
return jsonify({"code": 400, "message": "未查询到课程信息"})
234+
214235

215236

216237

0 commit comments

Comments
 (0)