耍起最队——alpha 冲刺day1
耍起最队|StudyDay Alpha 冲刺 Day 1
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 202601福大—软件工程实践—W班 |
| 团队名称 | 耍起最队 |
| 这个作业要求在哪里 | 软件工程实践团队作业:站立式会议+α冲刺 |
| 本日计划目标 | 锁定最小展示范围,建立可启动工程与真实任务清单 |
| 实际日期 | 2026.10.24 |
| 版本/环境 | 前端阶段 frontend-d1 / 1b3a400f;后端阶段 210239cc。完整SHA见下方索引;截图按用户day目录归档 前端模拟页面/本机HTTP契约夹具;后端材料为代码与合并记录,未取得真实Go服务、MySQL、模型和华为云联调结果。 |
| 其他参考文献 | 《构建之法》、本组需求/系统/数据库设计及Alpha计划 |
目录
- 耍起最队|StudyDay Alpha 冲刺 Day 1
- 一、站立式会议
- 二、项目燃尽图
- 三、今日进展总览
- 本日代码与展示材料
- 仓库版本与新增代码核验
- 简单测试展示(本次补充复核)
- 后端Go简单补测
- 四、成员进展
- 工作项看板记录
- 五、明日计划(Day 2)
- 六、AI技术员工作情况
- AI 技术员工作情况
一、站立式会议
实际时间: 2026.10.24 20:00
实际参会成员: 柯镇海、胡加乘、杨伟烨、范敬翔、黄思哲
当天会议照片:

实际讨论与结论:
明确本轮范围和接口约定,完成首日任务拆解与认领,讨论工程启动步骤,为这7天alpha冲刺做准备
二、项目燃尽图
本日燃尽图:

本次计划基线: 56;实际剩余:50 ;统一单位:** 任务包。
范围或估算变化说明: 无
本包初始计划参考来自56项日任务包,本次采用的单位与基线以统一燃尽数据为准。图中实际值只使用已提供记录,未来点和缺失点留空;不将理想线或每日4小时容量当作实际剩余。更换口径时提供新基线和原因,统一更新各篇,不与旧单位直接拼接。
三、今日进展总览
当日计划主线(目标): 锁定最小展示范围,建立可启动工程与真实任务清单。
材料支持的本阶段进展:
Day1的材料主要体现工程起步与前端骨架。后端MR截图显示分层骨架、认证模块及AI客户端兜底链已合入仓库,代码中有配置加载、统一响应、用户实体与数据库初始化入口。前端frontend-d1版本提供Vue/Vite工程、公共请求封装、登录/课表入口、两类任务表单和AI笔记界面;学习可不关联课程,生活表单不带课程字段。前端截图明确标注“模拟演示”,专注在此阶段仅有入口与时长选择,不能写成真实专注或数据库保存已经验收。当前可核对代码与页面骨架,真实数据库启动、真实模型调用及全组工作项仍需对应记录。 补充工作项材料:本阶段可核对8个唯一Task(含明确归属本日的跨图条目),图示状态均为“已解决”;只作为任务管理记录,不代替运行验收。
实际验收或测试结论:
可核验:仓库中存在D1前后端代码;后端MR合并和前端模拟课表/任务页面有截图。未提供本日真实接口、MySQL读写或真实模型调用结果;不据MR“验证通过”推断全部测试通过。本次补充代码检查单列在下方,不回填为成员当日执行。 后端Go已在2026-10-29补测:五个业务包9个顶层用例通过、0失败;本日主题“密码与JWT”对应3个通过。为当前main的本地/Mock测试,不倒填为历史当日或真实联调结果。
本日目标侧重范围、工程和最小调用准备;云服务器准备不列为D1必做。以下代码与运行位置按实际已有成果选择补充。
本日代码与展示材料
前端模拟界面展示:

证据ID:D1-FEBASE-RUN-01;版本:归档Day1;环境:前端本机模拟/测试;结果:模拟/内存展示,不证明真实API、MySQL持久化或用户隔离。

证据ID:D1-FEBASE-RUN-02;版本:归档Day1;环境:前端本机模拟/测试;结果:模拟/内存展示,不证明真实API、MySQL持久化或用户隔离。
后端提交与代码差异:

证据ID:D1-BEBASE-CODE-01;版本:归档Day1;环境:CodeArts仓库页面;结果:代码与协作记录;累计差异不是当天工作量,平台验证标记不代替业务测试结果。

证据ID:D1-BEBASE-CODE-02;版本:归档Day1;环境:CodeArts仓库页面;结果:代码与协作记录;累计差异不是当天工作量,平台验证标记不代替业务测试结果。
仓库版本与新增代码核验
仓库入口;前端阶段 frontend-d1 / 1b3a400fdb0c526e66f5ab5c2b7f21ca12d6db97;后端阶段合并 210239cc77cacedec5e3192099c3a4119526af67。链接是仓库入口,请按SHA查询,未猜测精确提交网页地址。
本阶段后端新增:Gin工程与配置、统一响应/requestId、认证/口令/令牌基础;MySQL启动初始化app_user脚本;AI客户端接口、OpenAI兼容调用与有序兜底,缺密钥可模拟。
后端新增提交:
12e8c2e938fafa37172e3f1881f3ac30f1463e16— feat(backend): scaffold Gin service with auth modulecbf84c613990b5c291ee7ca17d875f9c6c2554d8— chore(backend): add docker compose MySQL with auto init SQLffec93f3c318a226295a0e49adb6b39e57317e2d— docs(backend): require Go 1.26 to match dependencies2bd766fd8538455fde39c5fed23cbb48077044ef— feat(backend): AI 客户端与兜底链(D1-05)
源码定位:backend/cmd/server/main.go、backend/internal/handler/router.go、backend/internal/service/auth/password.go、backend/internal/service/auth/token.go、backend/internal/ai/openai.go、backend/internal/ai/fallback.go、backend/deploy/sql/init.sql。前端以对应阶段标签为准;图片按用户归档使用,不能以界面样式反推构建版本。
简单测试展示(本次补充复核)
以下仅展示与本日主题相关的一个短检查,导入仓库实际业务函数。5段均为2026-10-29对main 5e328697的补充复核,不是各阶段旧提交的当日运行;完整脚本和日志见资料包测试/。
test('D1 checkpoint: a complete answer is not saved until confirmed', () => {
const message = { role: 'ASSISTANT', generationStatus: 'SUCCESS', content: 'answer' };
assert.equal(canConvert(message), false);
applyEvent(message, 'saved', { content: 'saved answer' });
assert.equal(canConvert(message), true);
applyEvent(message, 'context-invalidated');
assert.equal(canConvert(message), false);
});
本次新增检查5/5通过,选跑已有前端检查55/55通过;限本机业务函数、契约与模拟层,不证明真实Go服务、MySQL、模型和云端联调。后端Go现已补测9个顶层用例,结果见下节。
后端Go简单补测
本次实际使用 Go1.26.10 / windows-amd64,对main 5e328697及新增JWT测试进行补充复核。5个业务包、9个顶层测试通过,0失败,退出码0。 本日按主题展示“密码与JWT”:TestHashAndVerifyPassword、TestVerifyPasswordRejectsMalformedHash、TestSupplementaryJWT,共3个顶层用例通过。
检查内容:正确口令通过、错误口令拒绝;畸形哈希拒绝;JWT解析用户ID、错误签名密钥与过期令牌拒绝。测试方式:实际Argon2id/JWT纯本地调用。
下面为已执行用例的核心断言节选,省略测试函数、夹具及部分分支;来源:backend/internal/service/auth/supplementary_recheck_test.go。
token, _, err := svc.issueToken(7)
if err != nil {
t.Fatal(err)
}
id, err := svc.ParseUserID(token)
if err != nil || id != 7 {
t.Fatalf("valid token user: %d, error: %v", id, err)
}
other := &Service{secret: []byte("another-review-only-key"), issuer: svc.issuer}
if _, err := other.ParseUserID(token); err == nil {
t.Fatal("wrong signing key accepted")
}
svc.ttl = -time.Minute
expired, _, err := svc.issueToken(7)
if err != nil {
t.Fatal(err)
}
if _, err := svc.ParseUserID(expired); err == nil {
t.Fatal("expired token accepted")
}
复现命令(在仓库backend目录,先按附带说明加入补充JWT测试):
go test -mod=readonly '-gcflags=all=-l -N' -p=2 -parallel=1 -count=1 -timeout=90s -json -run '^(TestHashAndVerifyPassword|TestVerifyPasswordRejectsMalformedHash|TestSupplementaryJWT|TestCreateTask|TestStartFocus|TestFinishFocus|TestCreateNote|TestCreateNoteIsIdempotentPerSource|TestOverviewToday)$' ./internal/service/auth ./internal/service/task ./internal/service/focus ./internal/service/note ./internal/service/stats
完整结果:测试/Go/selected-go-tests.jsonl、测试/Go/Go_简单复核说明.md。这些是2026-10-29本次补测,D1—D5仅为展示主题分组,并非对旧阶段提交逐日重跑。DAO已Mock;真实MySQL约束/并发、HTTP联调、真实模型、JSON/SSE适配及华为云未在本次验证,已有联调问题继续保留。
四、成员进展
| 成员 | 进展 | 存在的问题/遇到的困难 | 从现在到明天站立式会议的安排 | 心得体会 |
|---|---|---|---|---|
| 柯镇海(项目负责人) | 把课表、任务、专注、AI 问答、笔记几块拆成首日能开工的小任务,定下分工,整理了一份接口字段对照表 | 课表和任务、任务和专注之间谁先谁后没理顺,怕一上来就互相等 | 搭好前后端工程的启动流程,把任务清单落成仓库里的 Issue | 今天重点不是写代码,是把"接下来每天交什么"定死,不然天天回头对口径 |
| 胡加乘(后端) | 把登录、注册、课程这几个接口的字段和返回格式过了一遍,确定错误码怎么统一 | 学号、密码的校验放前端还是后端,担心两处规则不一致 | 建 Spring Boot 工程,先写登录和注册的接口骨架 | 接口先定死,前后端才能同时开工不用等 |
| 杨伟烨(前端) | 理清任务列表要显示哪些字段,学习任务和生活任务在页面上差在哪 | 学习任务要选课程、生活任务不能选,这个差异在表单里要做得明显 | 做任务的创建和列表页,把专注入口留好 | 页面上的差别要一眼能看出来,不能靠用户自己记 |
| 范敬翔(后端) | 对着数据库设计书把 16 张表过了一遍,重点确认任务表怎么区分学习/生活、专注表怎么存快照 | 任务删了专注记录不能丢,这条规则落到外键上要小心 | 在测试库跑建表脚本,做任务的增删改查 | 设计书写得再清楚,不亲手建一遍表还是会漏细节 |
| 黄思哲(后端) | 定了 AI 走 OpenAI 兼容接口,把调用流程和会话、消息的存储方式理了一遍 | 流式回答和"已保存成功"是两回事,接口里怎么区分还没想好 | 先做一次最小调用确认能拿到返回,再写会话保存 | 模型能返回不等于数据落库了,这两步要分开算 |
| 赵子龙(前端) | 把 AI 聊天的消息区、输入框、转笔记的确认弹窗梳理了一遍 | 回答生成中、生成失败、已保存这几种状态要区分清楚 | 做出聊天页和笔记页的基础框架,先跑通界面流程 | 聊天不是发出去就完事,保存和确认的提示不能省 |
| 黄思扬(前端) | 把登录页和课表页要放哪些元素列了出来,定了路由怎么分 | 课表按周还是按日看、空课表显示什么,几个状态要统一 | 用 Vite 起项目,先做出登录页和课表的静态结构 | 先把页面骨架搭出来,接口好了再接数据,不用干等 |
| 郑宇澄(测试) | 从需求里挑了登录、课程、任务、专注、转笔记作为首批要测的,定了每天测什么 | 现在还没多少可跑的接口,只能先准备用例 | 等登录接口出来先做冒烟,重点看没登录、越权、重复提交 | 用例先写好,接口一出来就能直接跑 |
工作项看板记录
设立8个issue分别记录成员的阶段对应任务完成情况。

证据ID:D1-ISSUE;版本:用户新增Issue截图;环境:CodeArts Task列表
五、明日计划(Day 2)
D2承接工程准备,重点推进注册登录、最小课程、任务创建/列表/手动完成以及会话历史的接口实现与前端接入。先对齐真实接口和归属校验,再开展刷新读取验证;AI转正式笔记及真实专注按D3推进。编辑/软删、统计和云部署不占用本日主线。
六、AI技术员工作情况
AI 技术员工作情况
| AI 技术员角色 | 今日任务 | 完成情况与产出 | 对团队效率的具体帮助 |
|---|---|---|---|
| 规划员 | 帮忙把首版功能拆成一周能做完的小块,检查接口字段有没有漏 | 一份任务拆分清单 + 接口字段对照表草稿,供全员会上讨论 | 省掉了从空白开始梳理的时间,把容易漏的依赖(任务→专注、会话→转笔记)提前标了出来 |
相关推荐
电池、AA‑CAES 与抽水蓄能多目标优化调度研究(三目标:成本、峰谷差、碳排放)(Matlab代码实现)
内容概要:本文针对电池、先进绝热压缩空气储能(AA-CAES)与抽水蓄能三种储能技术,构建了一个多目标优化调度模型,旨在协同优化电力系统的运行成本、负荷峰谷差和碳排放三个关键指标。研究采用Matlab进行代码实现,建立了综合考虑各类储能系统运行特性的精细化数学模型,并通过多目标优化算法求解Pareto最优前沿,深入分析了不同优化目标间的内在权衡与博弈关系。文中系统阐述了各储能单元的数学建模方法、系统运行约束条件的设定以及多目标优化问题的规范化处理流程,最终通过详细的仿真算例验证了所提模型与方法的有效性,充分展示了该调度策略在促进新能源消纳、降低系统综合运行成本和减少碳排放方面的巨大潜力与应用价值。; 适合人群:具备电力系统、能源经济或优化理论基础知识的研究生、科研人员及从事能源规划与调度的工程技术人员。; 使用场景及目标:①研究包含多种新型储能技术的综合能源系统协调调度问题;②学习如何建立电力系统多目标优化模型(涵盖经济性、环保性和运行稳定性);③掌握利用Matlab实现多目标优化算法并进行结果可视化分析与决策的方法。; 阅读建议:此资源以Matlab代码为核心,不仅提供了严谨的理论模型,更有完整的可运行代码实现。读者在学习时应结合代码深入理解模型构建的每一个细节,包括变量的定义、复杂约束的处理以及目标函数的加权聚合方法,并建议尝试修改模型参数或调整目标权重,以观察系统行为的动态变化,从而深化对多目标优化本质和工程应用的理解。
产业园区运营负责人如何精准匹配企业技术需求与科研成果?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
A股分钟数据涵盖股票、ETF、可转债及指数四大类 每条数据记录包含精确到分钟的时间戳,以及开盘价、最高价、最低价、收盘价、成交量、成交额六个核心字段 部分数据还提供前收盘价作为参考 股票与ETF数据细
A股分钟数据涵盖股票、ETF、可转债及指数四大类。每条数据记录包含精确到分钟的时间戳,以及开盘价、最高价、最低价、收盘价、成交量、成交额六个核心字段。部分数据还提供前收盘价作为参考。股票与ETF数据细分至1分钟、5分钟等周期,可转债在交易时段内逐笔生成分钟快照,指数数据则同步覆盖上证、深证等主要宽基指数,便于观察市场整体走势。 数据源:CMES金融数据库
产业园区运营负责人如何借助平台实现创新资源的动态配置与精准对接?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
国央企创新负责人如何实现科技创新资源的系统化管理和高效配置?.docx
国央企创新负责人如何实现科技创新资源的系统化管理和高效配置?


