https://github.com/736248591/hdu_rank
本项目是一款基于基于Flask和BootstrapVue的杭电刷题排行榜前后端分离的网站。
DEMO页面:
操作系统:Windows或者Linux均可。 python3.x pip3 MySQL8.x
注:以下方式二选一即可
注意在windows下tornado无法以多进程运行。
# 安装所需的PIP库 pip3 install tornado # 国内用户可以使用以下命令来替换上面命令 pip3 install -i https://mirrors.ustc.edu.cn/pypi/web/simple/ tornado cd 3.0.0 # 启动tornado python3 run_tornado.py这些方式可以查看Flask官方中文文档,这里不再赘述。
数据库逻辑表.xlsx
参数: (无) 响应数据:
{ status: 操作状态 Boolean, notice: 公告 string, crawl_status: 爬虫状态 union("runnable","running","sleeping","stopped") users: 用户列表(当状态为True时,拥有这个字段) [ { id: 用户ID unsigned int, uid 登录账号 string, class_name 班级 string, name 姓名 string, motto 格言 string, account 账号 string, solved_num 题数 int, status 状态 union("unchecked","fetching","active","disconnect") } ], user:{ id 用户ID unsigned int, uid 登录账号 string, class 班级 string, name 姓名 string, motto 格言 string, account 账号 string, solved_num 题数 int, status 状态 union("unchecked","fetching","active"), html 自定义页面代码 string }, admin:{ id: 管理员ID int, uid: 管理员 string, is_super: 是否可以管理其他用户 bool, } }说明: 不填写任何信息的时候,则返回当前登录信息。 参数:
字段名数据类型默认值描 述uidstring(16)账号pwdstring(16)“”密码,sha3-512(原始密码),重复加密6次响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string, // 当登录成功时候显示以下信息 user:{ id 用户ID unsigned int, uid 登录账号 string, class 班级 string, name 姓名 string, motto 格言 string, account 账号 string, solved_num 题数 int, status 状态 union("unchecked","fetching","active"), html 自定义页面代码 string }, admin:{ id: 管理员ID int, uid: 管理员 string, is_super: 是否可以管理其他用户 bool, } }说明: 修改时候,只需提交ID和修改的字段即可。添加用户时候,不需要id。 参数:
字段名数据类型默认值描 述idint用户唯一标识uidstring(16)登录账号pwdstring(16)“”密码,sha3-512(原始密码),重复加密6次class_namestring(24)“”班级namestring(16)姓名accountstring(64)杭电账号mottostring(255)格言status‘unchecked’,‘fetching’,‘active’状态,只有管理层才能修改htmlstring自定义代码响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string }说明: 注册的时候用来验证字段。 参数:
字段名数据类型默认值描 述fieldstring字段valuestring数值响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string }参数: (无) 响应数据:
{ status: 操作状态 Boolean }说明: 必须先登录才能使用该接口。用户只能删除自己,只有管理员可以删除任意用户。 参数:
字段名数据类型默认值描 述idunsigned int用户ID响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string }说明: 不填写任何信息的时候,则返回当前登录信息。 参数:
字段名数据类型默认值描 述uidunsigned int管理员IDpwdstring密码,sha3-512(原始密码),重复加密6次响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string, admin:{ id: 管理员ID int, uid: 管理员 string, is_super: 是否可以管理其他用户 bool, } }参数: (无) 响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string, admins:[ { id: 管理员ID int, uid: 管理员登录账号 int, is_super: 是否可以管理其他管理员 bool } ] }说明: 添加管理员的时候用来验证字段。 参数:
字段名数据类型默认值描 述fieldstring字段valuestring数值响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string }说明: 修改时候,只需提交ID和修改的字段即可。 参数:
字段名数据类型默认值描 述idunsigned intIDuidstring(16)管理员IDis_superbool是否可以管理其他用户pwdstring(128)密码,sha3-512(原始密码),重复加密6次响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string, }说明: 必须先登录才能使用该接口。只有超级管理员才能删除其他管理员。 参数:
字段名数据类型默认值描 述idunsigned int用户ID响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string }说明: 只有管理员才能使用该接口。 参数:(无) 响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string }说明: 只有管理员才能使用该接口。 参数:(无) 响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string }说明: 只有管理员才能使用该接口。 参数:
字段名数据类型默认值描 述noticestring通知响应数据:
{ status: 操作状态 Boolean, mgs: 错误原因 (当状态为false时,拥有这个字段)string }安装Node.js和Yarn
cd hdu_rank yarn global add @vue/cli yarn install yarn build修改uwsgi服务器配置。
修正了爬虫连接的一些问题。
升级了依赖包的版本,解决安全隐患。
修复了数据库文件导入的BUG。
添加了说明文档中python3.7需要的依赖。
未创建管理员密码错误。
添加了网站的图标和标题。
1.0 初次发布