feat(database): 迁移用户关联字段并优化打卡系统
- 修改数据库配置将MYSQL_DB从mys_info_v3改为mys_info_test - 新增auth_users表wechat_openid字段并建立唯一索引 - 为plan_checkins表添加计划性能索引(idx_plan_period_student) - 将checkin_records_old表关联方式从student_id改为user_id - 将plan_checkins表关联方式从student_id改为user_id并更新附件路径 - 移除routes/auth.py中的uuid导入使用安全token生成函数 - 重构routes/checkin.py打卡逻辑去除course_type字段并优化返回结构 - 添加打卡时间限制验证功能防止过期打卡操作 - 实现小组统计功能支持老师查看各组打卡情况 - 更新主页index.html界面适配新的打卡和计划功能 - 调整计划提交时间规则为周五至周四周期 - 添加月度和年度计划提交状态验证机制
This commit is contained in:
15
security.py
15
security.py
@@ -2,9 +2,6 @@ import logging
|
||||
import uuid
|
||||
import hmac
|
||||
import hashlib
|
||||
import time
|
||||
|
||||
import jwt as pyjwt
|
||||
|
||||
from . import config
|
||||
|
||||
@@ -17,16 +14,6 @@ def encrypt_phone(phone):
|
||||
).hexdigest()
|
||||
|
||||
|
||||
def create_access_token(user_id):
|
||||
now = int(time.time())
|
||||
payload = {"sub": str(user_id), "iat": now, "exp": now + config.JWT_TTL_SECONDS}
|
||||
return pyjwt.encode(payload, config.JWT_SECRET, algorithm=config.JWT_ALGORITHM)
|
||||
|
||||
|
||||
def decode_access_token(token):
|
||||
return pyjwt.decode(token, config.JWT_SECRET, algorithms=[config.JWT_ALGORITHM])
|
||||
|
||||
|
||||
def create_session_token():
|
||||
"""生成写入 auth_sessions 的会话 token(长度适合 token VARCHAR(64))。"""
|
||||
return uuid.uuid4().hex + uuid.uuid4().hex[:16]
|
||||
return uuid.uuid4().hex + uuid.uuid4().hex[:16]
|
||||
|
||||
Reference in New Issue
Block a user