2a6732ffe7e4b8556a43aa5aae29d684a166519e
Bug修复: - GetWorkList 使用了错误的 RecordType (RecordStudy→RecordWork) - AllRecord handler 返回错误的分页信息 (page硬编码1, pageSize用RecordsCount) - CourseParse creditNode nil panic (加nil检查) - WebSocket CheckOrigin 安全漏洞 (release模式限制为同源) - math/rand 可预测 (替换为 crypto/rand) - GetDiscussList 未实现 (补全实现, 移除重复路由) 其他: - 接入 CodeStable 工作流体系 (codestable/ 骨架 + AGENTS.md) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
刷课平台后端
功能实现
- 登录
- 获取课程列表
- 获取网课记录
- 学习接口
拉取代码
git clone --recurse-submodules https://gitea.kmux.cn/cqcst/wk-backend
更新已有仓库时,建议带上 submodule 一起同步:
git pull --recurse-submodules
task fe:sync
如果前端仓库 wk-frontend 有新提交,需要把主仓库里的 submodule 指针更新到最新:
task fe:update
git status
代码构建
推荐使用 Taskfile 进行项目构建
可通过环境变量配置本地代理 / 跳过 SSL 校验,但只有在设置页手动开启调试后才会生效:
CKWK_DEBUG_PROXY=http://127.0.0.1:9000
CKWK_DEBUG_SKIP_SSL_VERIFY=true
也可以通过环境变量让后端启动时默认开启调试:
CKWK_DEBUG_ENABLED=true
调试日志 WS 在后端调试已开启时可用,连接地址:
ws://127.0.0.1:8080/api/debug/logs/ws
调试日志快照和下载接口:
GET /api/debug/logs
GET /api/debug/logs/download
服务端会保留最近 1000 条内存日志,并持续推送新的入站 HTTP、出站请求和应用日志。
-
支持命令
* fe:sync: 同步前端 submodule 🔁 * fe:update: 拉取前端 submodule 最新提交 ⬆️ * build: 构建前端 + 后端 📦 * dev: 同时启动前后端(开发模式)🔥 * rebuild: 清理并重建 🔁 * release: 构建多平台二进制 🌍 * upx: 压缩二进制文件 (智能跳过 macOS 和 Windows ARM) * be:build: 构建后端二进制 🔨 * be:run: 启动后端服务 🧠 * dev:be: 只启动后端(配合前端 dev)⚡ * fe:build: 构建前端 🏗️ * fe:clean: 清理前端构建产物 🧹 * fe:dev: 启动前端开发服务器 🚀 * fe:install: 安装前端依赖 📦
项目结构
- 目录
前端项目地址: wk-frontend
. ├── Taskfile.yml # taskfile 命令定义 ├── bin # 输出目录 ├── cmd # 启动入口 ├── go.mod ├── go.sum ├── internal │ ├── ckwk # 网课接口 │ ├── conf # 项目配置 │ ├── dto # 请求响应实体 │ ├── handler # 控制层 │ ├── middleware # 中间件 │ ├── router # 路由定义 │ └── schedule # 定时任务 ├── pkg │ ├── common # 通用工具 │ ├── log # 日志 │ └── request # 请求库 └── web ├── frontend # 存放前端项目 └── web.go # 构建时读取前端输出目录
Description