feat: 添加账号支持选择学习平台
账号新增 platform 字段,登录/刷新课程/发现课程按平台分发;同时把 JS 脚本收进 script/(目录规范调整)。
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# 莞易学多账号学习控制台
|
||||
# 学习控制台
|
||||
|
||||
莞易学(`jspx.dgjy.net` / `study.dgjy.net`,新旧版课程页自动识别)的多账号挂机控制台。账号、会话、课程缓存、运行日志、系统设置全部存在服务端 SQLite,浏览器只是界面,换电脑、远程打开都在。
|
||||
|
||||
@@ -100,7 +100,7 @@ pnpm typecheck
|
||||
|
||||
## 用法
|
||||
|
||||
1. 右上角「添加账号」,填账号密码(存进服务端 SQLite)。
|
||||
1. 右上角「添加账号」→ 选「学习平台」(当前只有莞易学)→ 填账号密码(存进服务端 SQLite)。
|
||||
2. 点「登录」→ 自动读 `/admin/main.action` 的「在学课程」。
|
||||
3. 勾选课程 → 「开始学习」→ 卡片底部「课程日志」展开看实时进度。
|
||||
4. 「自动交反馈表」默认开;「自动交测验」默认关(答题正确率无法保证)。
|
||||
@@ -148,7 +148,7 @@ src/study_tool/
|
||||
app.py 组装:FastAPI、鉴权中间件、页面 / health、启动 main()
|
||||
webapp.py FastAPI 实例(路由模块从这里注册,避免循环导入)
|
||||
runtime.py 运行状态 + 统一日志源(控制台 / 内存 / SQLite)
|
||||
config.py 常量、环境变量、根目录定位(data / static / desenc.js)
|
||||
config.py 常量、环境变量、根目录定位(data / static / script)
|
||||
store.py SQLite3:账号 / 设置 / 登录记录 / 运行日志 / 状态 / 缓存 / 快照
|
||||
models.py HTTP 请求模型
|
||||
settings_store.py 系统设置读写
|
||||
@@ -169,7 +169,9 @@ src/study_tool/
|
||||
logs.py /api/log、/api/runs
|
||||
web/ 前端源码(React 19 + TypeScript + Vite + Tailwind CSS v4)
|
||||
static/ 前端构建产物(index.html + assets/ + favicon.svg)
|
||||
des.js desenc.js DES 加密(登录表单 rsa 字段,站点原版算法)
|
||||
script/des.js 服务端 DES 加密(登录表单 rsa 字段,站点原版算法)
|
||||
script/desenc.js DES 命令行封装(Node 调用,config.py 里定位)
|
||||
script/reference/ 不参与运行的参考脚本:油猴 dgjy-toolkit.user.js、study-axios.mjs
|
||||
start.bat 一键启动(Windows)
|
||||
Dockerfile Docker 镜像(python:3.12-slim + nodejs + chromium)
|
||||
docker-compose.yml Docker 编排:端口、数据卷、AUTH_TOKEN、健康检查
|
||||
@@ -178,11 +180,11 @@ requirements.txt 依赖
|
||||
data/study.db SQLite 库(账号/设置/日志/快照)
|
||||
docs/architecture.md 分层说明 + 平台插件怎么加
|
||||
study_video.py 独立命令行工具:按 trainCourseId 直接刷视频课时(会话也存 study.db)
|
||||
dgjy-toolkit.user.js 浏览器油猴脚本(独立使用,与网页端无关)
|
||||
```
|
||||
|
||||
分层与插件契约见 [docs/architecture.md](docs/architecture.md):引擎只按 `course["platform"]`
|
||||
从注册表取平台实现;平台用 `entries` 声明登录 / 学习入口,新增平台不用改 engine / 路由 / 前端。
|
||||
从注册表取平台实现;平台用 `entries` 声明登录 / 学习入口,并可按需实现 `login` / `list_courses` /
|
||||
`discover` 等账号级入口;「添加账号」选的平台存进账号记录,登录与课程发现按它分发,新增平台不用改 engine / 路由 / 前端。
|
||||
|
||||
日志统一从 `runtime.log()` 出:控制台、页面卡片「课程日志」(按账号 id)、右上角「系统日志」(key=system)
|
||||
看到的是同一份;新增日志不要再自己 `print()`。
|
||||
|
||||
Reference in New Issue
Block a user