178 lines
5.0 KiB
Markdown
178 lines
5.0 KiB
Markdown
# 挂柯南
|
||
|
||
## 服务器配置
|
||
```js
|
||
// 安装venv
|
||
python3 -m venv venv
|
||
// 启动venv
|
||
. venv/bin/activate
|
||
// 升级pip
|
||
pip install --upgrade pip
|
||
// 根据依赖文件安装环境
|
||
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
||
// 设置全局变量
|
||
export FLASK_APP=cherry.py
|
||
export FLASK_ENV=development
|
||
// 启动临时服务
|
||
flask run --host=0.0.0.0 -p 8001
|
||
// beta
|
||
flask run --host=127.0.0.1 -p 6000
|
||
// 启动永久服务
|
||
gunicorn cherry:app -c gunicorn.conf.py
|
||
// 查看已启动服务
|
||
pstree -ap|grep gunicorn
|
||
// 关闭某服务
|
||
kill (pid)
|
||
//关闭venv
|
||
deactivate
|
||
```
|
||
|
||
## 错误代码一览
|
||
|
||
/api/login
|
||
400:数据校验失败
|
||
510:账号或密码错误
|
||
511:请填写手机号
|
||
512:教务挂了
|
||
513:教务报错
|
||
200:OK
|
||
|
||
/api/game/schedule/upload
|
||
400:数据校验失败
|
||
510:排名表修改失败
|
||
|
||
/api/game/schedule/get
|
||
400: 数据校验失败
|
||
510:排名表获取失败
|
||
|
||
# game
|
||
* /api/game/schedule/upload
|
||
* data
|
||
* nick
|
||
* count
|
||
* time
|
||
* sign
|
||
* /api/game/schedule/get
|
||
* data
|
||
* sign
|
||
|
||
# 新版改造
|
||
## 用户组功能
|
||
* [ ] 主进程挂一个我的账号用来进行课表的爬取
|
||
* [ ] 第一次登录要进行账号密码的校验,然后对称加密进数据库
|
||
* [ ] 每天0点开始刷新所有人的课表,以及所有人的成绩
|
||
* [ ] 每个用户组的id是五位数字加字母的组合
|
||
* [ ] 每个用户组成员不设上限
|
||
* [ ] 提供每个用户组下的个人课表以及个人总体课表
|
||
* [ ] 允许设置组级别的课程(全组个人课表及组课表可见)
|
||
* [ ] 数据库按课程存储,字段:sid, real_name, course, weeks, weeks_split, teacher, room, is_personal, day, period
|
||
* [ ] 登录的时候返回所有必要信息,剩下信息单独返回
|
||
* [ ] 组信息
|
||
* [ ] 刷新课表(使用cookie加速
|
||
* [ ] 刷新成绩(使用账号密码
|
||
## 背景图片上传
|
||
* [ ] 上传图片,id保存在数据库,和个人信息一起
|
||
|
||
## 数据库字段
|
||
## log
|
||
* time
|
||
* type
|
||
* value
|
||
### config
|
||
* key
|
||
* value
|
||
### user
|
||
* uid 用户唯一识别码,教务下发
|
||
* invite_list 邀请内容
|
||
* cid 一卡通号
|
||
* sid 学号
|
||
* real_name 真实姓名
|
||
* pwd 加密后的密码
|
||
* setting 用户设置
|
||
* bg 课表背景图片
|
||
* avatar 头像
|
||
* last_update 最后课程更新时间
|
||
### group
|
||
* group_id 唯一标识
|
||
* group_name 用户组名称
|
||
* log_list 操作记录
|
||
* admin_list 管理列表
|
||
* creater_sid 创建者学号
|
||
* avatar 头像
|
||
### link
|
||
* cid 一卡通号
|
||
* group_id 用户组id
|
||
### user_crouse
|
||
* crouse_id 课程id
|
||
* sid 学号
|
||
* real_name 真实姓名
|
||
* crouse 课程名
|
||
* weeks 中文周数
|
||
* weeks_split 渲染用周数列表
|
||
* teacher 教师名
|
||
* room 教室名
|
||
* is_personal 是否是自定义课程
|
||
* day 星期
|
||
* period 上课时间
|
||
|
||
### group_crouse
|
||
* crouse_id 课程id
|
||
* group_id 用户组id
|
||
* sid 学号
|
||
* real_name 真实姓名
|
||
* crouse 课程名
|
||
* weeks 中文周数
|
||
* weeks_split 渲染用周数列表
|
||
* teacher 教师名
|
||
* room 教室名
|
||
* day 星期
|
||
* period 上课时间
|
||
## 数据库错误码
|
||
### OK 200
|
||
### insert 1
|
||
insertUser '学生信息数据库插入失败', 100
|
||
insertInvite '用户组邀请数据库插入失败', 101
|
||
bindUserGroup '用户与用户组绑定数据库插入失败', 102
|
||
insertGroup '用户组数据库插入失败', 103
|
||
addLog '操作记录数据库插入失败', 104
|
||
groupInsertAdmin '用户组侧加入管理数据库插入失败', 106
|
||
userInsertCrouse '用户自定义课程数据库插入失败', 107
|
||
userInsertAllCrouse '用户所有课程数据库插入失败', 108
|
||
insertRank '排名表数据库插入失败', 109
|
||
groupInsertCrouse '用户组课程数据库插入失败', 110
|
||
insertLog '系统操作记录数据库插入失败', 111
|
||
### find 3
|
||
findCookie 'cookie数据库查询失败', 300
|
||
findUser '学生信息数据库查询失败', 301
|
||
findGroup '用户组信息数据库查询失败', 302
|
||
findRank '排名表数据库查询失败', 303
|
||
findUserCrouse '用户课程数据库查询失败', 304
|
||
findGroupCrouse '用户组课程数据库查询失败', 305
|
||
findLog '系统操作记录数据库查询失败', 306
|
||
### update 4
|
||
updateCookie 'cookie数据库更新失败', 400
|
||
updateAvatar '头像数据库更新失败', 401
|
||
updateBg '背景图数据库更新失败', 402
|
||
updateLastUpdate '数据更新时间数据库更新失败', 403
|
||
### delete 5
|
||
deleteInvite '用户组邀请数据库删除失败', 500
|
||
unbindUserGroup '用户与用户组解绑数据库删除失败', 501
|
||
userDeleteAllCrouse '用户所有课程数据库删除失败', 502
|
||
groupDeleteAdmin '用户组侧移除管理数据库删除失败', 503
|
||
deleteGroup '解散用户组数据库删除失败', 504
|
||
userDeleteCrouse '用户自定义课程数据库删除失败', 505
|
||
groupDeleteCrouse '用户组课程数据库删除失败', 506
|
||
|
||
## 接口错误代码
|
||
### /login
|
||
400 数据不合法
|
||
510 学生信息数据库查询失败
|
||
511 账号或密码错误
|
||
512 用户组信息数据库查询失败
|
||
513 请填写手机号
|
||
514 教务返回的错误
|
||
515 教务挂了
|
||
516 用户所有课程数据库删除失败
|
||
517 用户所有课程数据库插入失败
|
||
518 用户课程数据库查询失败
|
||
519 用户组课程数据库查询失败 |