拾光友人帐——Alpha 冲刺Day1

拾光友人帐 拾光友人帐 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个作业属于哪个课程2601_FZU_SE 软件工程实践
这个作业要求在哪里团队第四次作业——站立式会议+α 冲刺
这个作业的目标记录首日站会、成员进展、代码签入、测试与 AI 协作,建立后续业务开发的工程和数据基础
其他参考文献《构建之法》第 2 章、第 13 章;《阿里巴巴 Java 开发手册(终极版 v1.3.0)》

目录

  • 一、阶段目标与总体进展
  • 二、站会安排
  • 讨论事项
  • 三、六人分工、进展与困难
  • 四、AI 技术员分工与协作
  • 协作过程与任务衔接
  • 运行配置与数据库初始化边界
  • 公共请求头与身份信息传递
  • Redis 会话保存与过期管理
  • 典型协作内容
  • 协作体会
  • 五、项目燃尽图
  • 六、代表性提交与分工关联
  • 工程整合进展
  • 七、运行与测试
  • 7.1 运行检查结果
  • 7.2 环境问题与处理
  • 7.3 基础回归清单
  • 八、阶段小结与后续安排

一、阶段目标与总体进展

“拾光友人帐”面向校园失物招领场景。D1 以“收敛与骨架”为目标:复用已有数据层、身份层和小程序页面,统一工程基线、接口契约和运行配置,为后续业务开发建立共同基础。

现有工程中,前端页面、身份模块和数据库脚本分别已有积累,但分支、接口路径和环境配置尚未完全统一。此次工作的重点是梳理这些已有成果的依赖关系:页面通过公共请求层调用接口,身份模块提供当前用户和权限,数据层负责约束与初始化,集成环境则保证各部分能够在同一版本下运行。

工程整合采用复用已有成果的方式推进。数据层保留 21 表模型及验收工具,后端以 com.shiguang 为统一包结构,小程序保留可用的页面与样式。前后端通过 /api/v1 契约衔接,减少后续开发中重复定义字段、重复封装请求和反复调整配置的问题。

D1 工作方向六人协作安排验收依据
工程收敛与环境统一刘伟鑫负责集成与配置,王永臻配合数据迁移,许毅君检查身份入口后端采用 com.shiguang,接口前缀 /api/v1,服务端口 8081,保留 21 表模型
小程序骨架与导航刘传浩负责页面入口和公共导航,许煜煌按原型核对首页能打开,页面入口可访问
接口契约与请求层李明学主责契约整理及请求层对齐,许毅君核对鉴权与错误码docs/api-contract.md 与前端 API 模块一致
身份与权限基础许毅君负责登录、会话、认证及规范,李明学配合接口检查区分未登录、未认证与已认证状态,明确模拟与真实身份模式
数据与验证材料王永臻负责建库和约束,许煜煌汇总验收步骤与材料21 表初始化、字典和约束检查有命令及结果记录

img

二、站会安排

项目安排
计划日期2026 年 10 月 23 日
计划时间20:00—20:15,共 15 分钟
方式线上语音会议
主持人刘伟鑫
记录人李明学
参与成员刘伟鑫、刘传浩、许毅君、王永臻、李明学、许煜煌
会议重点确认首日任务、接口依赖、环境准备与次日联调顺序

img

站会重点围绕工程基线、环境准备和接口依赖展开。交流内容按“负责什么、已经具备什么、还缺少什么、需要谁配合”整理,优先暴露会影响其他成员开工的依赖。工程集成与数据初始化是后端工作的前置条件,接口契约与页面入口则是前端对接的前置条件。

协调工作围绕共同验收入口展开:后端能启动、数据库能初始化、小程序能打开首页,身份请求有明确的响应。在这些基础条件具备后,再逐项核对接口和页面状态,避免各模块独立可运行却无法组合。

讨论事项

  1. 先统一字段和调用方式。 接口契约明确路径、入参、出参及错误码,公共请求层集中处理令牌及错误。
  2. 先明确身份与权限。 未登录、未认证、已认证用户与管理员的权限分开,身份模块与现有表结构保持一致。
  3. 数据脚本与工程同步。 统一采用 21 表模型,表结构变更回写 DDL,已有库升级与空库初始化分别验证。
  4. 测试随开发推进。 开发者完成本模块自测,李明学组织跨模块检查,故障与未执行用例分别记录。
  5. 先形成可运行基线。 以数据库初始化、后端健康检查、登录基础链路和小程序首页作为共同验收入口。

三、六人分工、进展与困难

刘伟鑫、许毅君、王永臻负责工程集成、身份权限和数据基础;刘传浩、李明学、许煜煌负责页面骨架、接口对接和运行验收。

成员D1 主责及工作安排工作进展问题或困难工作体会与下一步
刘伟鑫工程集成、分支收敛、包名与端口统一、环境说明和任务协调23 日完成 T01,计 4 点;后续 D1 成果已将数据/身份后端与小程序前端收敛到共同主干两条历史代码线的包结构、表模型及配置不同集成要明确复用和废弃内容;继续维护统一启动方式与基线
刘传浩小程序页面骨架、首页入口、公共导航及原型对齐23 日页面骨架属于准备工作,计 0 点;后续补齐首页与五栏导航的 D1 视觉基线原型布局、自定义导航与实际页面状态需要一致区分页面骨架和业务完成;优先验证页面可打开、可切换及无编译错误
许毅君代码规范、AI 协作规则、身份会话、校园认证和基础鉴权23 日完成 T03,计 2 点;后续 D1 身份与权限基础已进入统一工程身份模型须适配 21 表结构,认证通过后旧会话与新权限要同步统一登录接口和错误码,继续核对未登录、未认证及本人资源边界
王永臻21 表 DDL、字典、演示数据、建库工具与数据库验收23 日完成 T02,计 5 点;后续复核登录字段、约束与现有身份模块的兼容性空库初始化和已有库升级需要分别检查,避免重复建表或破坏数据以脚本维护结构,保留隔离库验证和约束回归记录
李明学接口契约、前端请求封装、状态层及基础接口测试23 日完成 T04,计 5 点;后续冻结 v1 契约并按契约对齐前端 API 模块旧接口命名与新后端入口不同,登录失效和业务错误需统一处理契约先行;逐项核对路径、字段、错误码和请求头,明确接口实现状态
许煜煌D1 验收清单、启动步骤、页面走查、运行证据与演示框架23 日完成 T05,计 2 点;后续 D1 验收手册补齐数据库、健康检查与小程序运行步骤运行环境和代码版本持续变化,验收材料需要同步更新对照清单收集运行结果,区分通过、失败、阻塞和未执行

首日合计完成 18 点。

六人的交接围绕具体产物展开。工程侧提供目录、配置和启动入口,数据侧提供建库命令与检查结果,身份侧提供登录及权限约定;接口侧据此维护调用方式,页面侧验证入口与状态,验收侧记录环境、版本和操作结果。涉及公共字段或接口路径的调整先同步契约,再由页面和测试共同核对。

目前的主要困难集中在已有成果的衔接:工程历史不同、接口命名不一致、本机依赖版本存在差异。对应的处理方向是减少配置分散、固定调用规范,并将启动日志、接口响应和数据库检查结合起来定位问题。

四、AI 技术员分工与协作

AI 技术员围绕工程收敛、接口对齐、基础测试和文档整理提供辅助。协作输入以现有仓库、表结构、接口约定、原型及实际错误信息为基础,模块负责人负责判断建议是否适合当前工程,并将采用的内容落实到代码、契约或验收记录中。

AI 角色具体协作任务主要输出成员分工与审核重点
AI 设计师梳理前端、身份模块与数据层的依赖;比较已有代码的复用范围;整理页面入口、身份状态和接口边界工程整合建议、模块依赖说明、页面与接口对应关系刘伟鑫核对统一基线和集成顺序;许毅君检查身份状态及权限边界;刘传浩核对页面结构与原型
AI 程序员辅助分析包结构、配置和接口命名差异;整理请求封装、数据访问及参数校验建议;根据错误信息提出排查方向配置调整建议、代码修改候选、接口适配说明和数据库工具检查思路王永臻核对表结构、约束和脚本执行范围;李明学检查请求路径、响应格式和错误处理;刘传浩检查页面及导航适配
AI 测试员按正常、异常和边界情况拆分基础用例;分析登录失败、依赖不可用和页面异常;整理复测步骤基础测试清单、预期响应、问题定位线索和回归检查项李明学组织接口核对;许毅君复核鉴权预期;王永臻核对数据断言;许煜煌执行页面走查并整理运行材料
AI 文档助手将工程准备、分工和验证结果整理为可阅读记录;检查接口说明与实现是否一致;归纳环境问题及处理过程环境说明、验收步骤、成员进展表、问题记录和随笔草稿刘伟鑫核对整体进展;各模块负责人确认技术内容;许煜煌统一操作步骤、截图说明与材料结构

协作过程与任务衔接

工程方案梳理。 AI 设计师围绕“哪些成果继续使用、哪些入口需要统一”组织分析,将数据模型、身份服务和小程序页面之间的关系展开。成员审核时重点检查是否引入第二套表模型、是否存在重复的登录入口,以及统一包名、端口和接口前缀后能否形成完整调用关系。工程整合以已有成果为基础,避免只调整目录而遗漏配置和接口差异。

实现建议审核。 AI 程序员提供的候选修改需要结合仓库现状判断。数据相关内容对照 DDL 和实体核对,接口相关内容对照契约核对,页面相关内容对照原型及实际导航检查。配置修改还要关注启动目录、JDK 和依赖服务,保证建议能够在本机环境中执行。涉及数据库的操作先明确目标库与影响范围,再进入隔离环境验证。

测试反馈回流。 AI 测试员将问题拆成可观察的现象和可执行的检查步骤。例如登录失败时,先区分网络不可达、后端错误、数据库异常和会话存储异常,再根据状态码与日志继续定位。测试反馈回到相应负责人:契约差异交给接口侧,权限问题交给身份侧,数据约束问题交给数据侧,页面入口问题交给前端侧,修复后沿原步骤复测。

文档与产物同步。 AI 文档助手把分散的讨论和命令整理成统一结构,负责人补充实际结果及仍存在的问题。文档中的接口路径、环境版本和操作顺序与工程保持一致;测试结果区分已验证与待验证,页面截图与实际运行版本对应,便于其他成员复现。

下面摘录 server/src/main/java/com/shiguang/security/AuthInterceptor.java 的请求入口校验,展示公共接口放行与受保护接口检查的衔接方式。

if (isPublic(request)) {
    return true;
}
String header = request.getHeader("Authorization");
if (header == null || !header.startsWith("Bearer ") || header.length() > 4096) {
    throw ApiException.unauthorized();
}

这段代码先区分公开接口,再检查 Bearer 请求头;后续逻辑继续核对令牌、账户、会话和权限。许毅君负责服务端鉴权边界,李明学据此核对请求层携带令牌及错误反馈,许煜煌整理未登录与会话失效的复测步骤。

运行配置与数据库初始化边界

源码位置:server/src/main/resources/application.yml。以下为当前仓库实现节选。

server:
  address: 127.0.0.1
  port: 8081
  error:
    include-message: never
    include-stacktrace: never

工程统一使用本机 8081 端口,并关闭响应中的内部异常信息。刘伟鑫维护启动配置,李明学核对小程序服务地址,许煜煌据此编写启动与健康检查步骤。配置中的 spring.sql.init.mode: never 同时明确:建库与升级由数据库脚本管理,不能把“应用成功启动”当作“数据库结构已自动更新”。王永臻负责核对初始化脚本及目标库。

公共请求头与身份信息传递

源码位置:miniprogram/api/request.js。以下为当前仓库实现节选。

const header = { 'Content-Type': 'application/json', ...headers };
const token = wx.getStorageSync('token');
if (token) {
  header['Authorization'] = `Bearer ${token}`;
}

请求层统一合并 JSON 请求头、自定义请求头和本地令牌,业务页面可以通过 headers 传入幂等键。李明学负责封装与契约一致性,许毅君核对 Bearer 格式,刘传浩负责页面调用。该片段展示令牌如何附加;过期令牌的错误码识别仍按问题清单继续完善,不能仅凭请求头存在就认定身份链路已闭合。

Redis 会话保存与过期管理

源码位置:server/src/main/java/com/shiguang/identity/session/RedisSessionStore.java。以下为当前仓库实现节选。

@Override
public void create(AuthSession session, String refreshHash) {
    try {
        redis.execute(
                CREATE,
                List.of(
                        sessionKey(session.id()),
                        tokenKey(refreshHash),
                        userKey(session.userId())),
                json.writeValueAsString(session),
                session.id(),
                epoch(session));
    } catch (JsonProcessingException exception) {
        throw new IllegalStateException("Cannot serialize session");
    }
}

会话创建将会话键、刷新令牌键及用户会话集合交给 CREATE 脚本处理,同时传入序列化会话与到期时间。脚本中的写入和过期设置由一次 Redis 脚本调用组织执行,减少多个独立请求之间的状态不一致。许毅君核对会话生命周期,刘伟鑫核对 Redis 依赖与运行环境,许煜煌补充登录后会话存在、到期与退出撤销的检查。序列化失败会转为明确异常,Redis 连接及持久化故障仍需要结合实际日志排查。

典型协作内容

场景AI 辅助分析重点人工核对与实际落点
工程历史与配置存在差异比较目录、包结构、数据模型和接口入口,列出需要统一的部分团队围绕现有后端与 21 表模型收敛主干,统一 8081 端口和 /api/v1 前缀
前端接口与身份入口对齐按契约梳理登录、本人资料、认证申请及公共请求的调用关系李明学与许毅君分别核对请求封装和鉴权约定,页面侧同步调用方式
数据初始化与约束验证归纳建表顺序、字典检查和负向约束用例,整理执行步骤王永臻对照脚本和数据库结果复核,验收侧保留命令与结果
登录依赖异常排查结合 HTTP 错误与 Redis 日志,区分版本不兼容和持久化失败实际检查确认 Redis 版本及服务账号权限问题,处理后验证登录和后台保存

协作体会

AI 对梳理分散材料、补充异常场景和形成排查步骤帮助较大,尤其适合在工程整合时快速列出需要对照的配置与接口。但最终判断仍依赖仓库和运行证据:建议中的字段必须在表结构中存在,接口必须有对应实现,测试结论必须能由实际结果支持。

成员在协作中承担明确的审核职责,而不是直接接受整段输出。设计建议经过依赖检查,实现建议经过代码核对,测试建议落实为可执行步骤,文档再根据实际结果更新。输入材料避开密码、令牌和用户核验信息,保留定位问题所需的版本、状态码与错误类型。

五、项目燃尽图

本轮共 162 点,六名成员各 27 点。D1 完成 18 点,实际剩余 144 点;计划线同期剩余 139 点,实际比计划多剩余 5 点。

成员本人初始点数本日记账点数累计完成当前剩余
刘伟鑫274423
刘传浩270027
许毅君272225
王永臻275522
李明学275522
许煜煌272225
合计1621818144

img

时间初始10/2310/2410/2510/2610/2710/2810/29
计划剩余点数162139116936946230
实际剩余点数162144——————

第一天主要完成工程、规范、数据和测试基础,实际进度比计划少完成 5 点。页面骨架仍处于准备阶段,尚未达到验收标准,因此没有提前计入完成点数。

后续重点是把已有工程、接口和数据串联成可重复运行的基线,减少环境问题对联调的影响,并继续按任务验收结果记录实际完成量。

六、代表性提交与分工关联

成员对应分工代表性提交提交内容
刘伟鑫工程集成与统一运行基线bacfb2a收敛为单一主干,复用数据/身份后端和小程序前端
刘传浩首页骨架、页面入口与公共导航326264d按原型重建首页与五栏导航,建立 D1 视觉基线
许毅君身份、会话、基础鉴权与代码规范3fa89f6按现有架构适配 D1 身份与权限基础
王永臻数据库模型、初始化与约束检查c33f3d0落地 21 表 DDL、初始化数据与验收脚本
李明学接口契约与前端请求层对齐4cfc775冻结 v1 接口契约并重写前端接口层
许煜煌运行验收清单、操作说明与页面走查326264dD1 验收手册、启动步骤与运行检查材料

工程整合进展

10 月 24 日,D1 工程成果继续完成整合,主要进展如下。

  1. 工程基线收敛。 保留 com.shiguang 后端与 21 表数据模型,导入小程序前端;统一主干为 master。
  2. 契约与配置统一。 后端统一使用 8081 端口、/api/v1 前缀;前端 API 模块按 v1 契约对齐,接口表区分已实现与待实现。
  3. 页面基线补齐。 首页和公共导航按原型重建,使用演示数据呈现页面结构。
  4. 身份与数据衔接。 身份模块复用现有用户和认证表;数据库继续采用脚本初始化和升级,应用启动不擅自重建表。
  5. 验收路径明确。 验收手册给出数据库检查、后端启动、健康检查和小程序打开步骤;本地演示与真实微信认证分别记录。

七、运行与测试

7.1 运行检查结果

10 月 24—25 日围绕 D1 基础能力进行补充检查,覆盖数据库、服务启动、会话依赖和小程序页面。数据库检查使用独立测试库,后端使用本地演示模式,页面检查通过微信开发者工具模拟器执行。

检查项检查结果测试环境与范围
数据初始化与约束独立测试库初始化成功,21 表、229 列、17 类/68 条字典检查通过,6 条负向约束全部通过独立 MySQL 测试库
DDL 静态检查12 项检查全部通过DDL 静态检查
后端启动与健康检查本机 8081 服务可启动,GET /api/v1/health 返回 200、status=UPlocal 模式,身份模式为 SIMULATED
登录基础链路Redis 版本和持久化权限问题排除后,演示登录返回 200 并取得令牌本地模拟登录;真实微信登录与真机扫码待测
小程序工程微信开发者工具中首页和公共页面能够打开开发者工具模拟器,首页使用演示数据

补充检查时,GET http://127.0.0.1:8081/api/v1/health 返回 HTTP 200,以下保留业务响应字段:

{
  "code": "0",
  "message": "ok",
  "data": {
    "status": "UP",
    "identityMode": "SIMULATED"
  }
}

status: UP 表示服务健康入口可响应,identityMode: SIMULATED 表示本轮使用模拟身份模式。该结果与页面截图共同说明基础运行入口可用,登录、认证及具体业务仍按各自用例检查。

7.2 环境问题与处理

登录排查从接口响应入手:小程序页面能够打开,后端健康接口也能返回,但登录请求仍出现会话存储异常。进一步核对本机服务版本后,确认原 Redis 3.0 与项目要求不符。更新为 Redis 8.10.2 后,登录请求恢复正常,说明页面和后端进程可用并不代表会话依赖已经满足。

继续运行后,Redis 又因无法覆盖快照文件而触发写入保护。日志显示临时快照已生成,但替换目标文件时出现权限错误,问题集中在数据目录的服务账号权限。修正权限后,同步保存与后台保存均通过,随后再次检查演示登录,接口返回 200 并成功取得令牌。

此次排查覆盖了进程启动、数据库连接、会话存储和持久化权限。通过分别检查健康接口、Redis 响应、保存日志和登录结果,将环境兼容问题与业务代码问题区分开,也为后续成员复现运行环境提供了更完整的步骤。

7.3 基础回归清单

类别检查内容判定方法
工程包结构、端口、统一主干和启动配置构建输出、启动日志及健康接口
契约路径、字段、错误码与前端 API 模块是否一致契约逐项对照与 HTTP 请求
身份未登录、令牌失效、模拟身份标记和权限边界响应状态、错误码及权限断言
数据空库初始化、已有库升级、字典和唯一约束隔离库执行及负向约束检查
页面首页能否加载、导航入口是否可达、是否存在编译或 JS 异常微信开发者工具走查
依赖MySQL/Redis 是否可连接,Redis 是否能够持久化连接检查、登录检查及保存结果

八、阶段小结与后续安排

10 月 23 日完成 18 点、剩余 144 点,主要是工程、规范、数据和验收准备。后续围绕“收敛与骨架”目标,持续完善统一主干、接口契约、页面基线和运行验证。

这阶段最明显的收获是把模块成果转化为共同使用的工程基础:数据模型有统一脚本,身份模块有明确入口,前端调用有契约依据,运行检查有可复现步骤。困难则主要来自历史工程差异和本机环境依赖,后续需要在交接时同步配置、版本与验证结果,减少重复排查。

  1. 刘伟鑫维护统一工程基线和环境配置,协调集成问题。
  2. 刘传浩核对首页、页面骨架及公共导航的实际运行效果。
  3. 许毅君继续检查登录、认证和会话失效的权限边界。
  4. 王永臻维护建库与升级脚本,保留隔离库验收结果。
  5. 李明学复核契约与请求封装,整理基础接口问题及复测记录。
  6. 许煜煌完善验收清单,整理站会照片、运行素材与操作说明。
...全文

相关推荐

考研机试冲刺攻略:Day8高效提分与实战技巧

计算机算法在考研机试中占据核心地位,尤其是动态规划和图论等高频考点。动态规划通过状态转移方程解决复杂问题,常用优化手段包括滚动数组和空间降维;图论算法如Dijkstra可通过优先队列实现高效路径查找。这些算法不仅提升解题效率,更能在有限时间内处理大规模数据。针对考研冲刺阶段,建议采用'三三制'时间分配原则,集中突破薄弱环节,同时通过全真模拟训练应考能力。掌握调试技巧和应急预案,如快速排查段错误和超时问题,能显著提升考场表现。最后一周应重点打磨代码模板,建立考点到实现的快速映射,这是冲刺提分的关键策略。

云海天狼

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day11】——Hbase5(1)

•创建全局索引,会自动构建一张索引表•索引表结构–Rowkey:索引字段+原表的rowkey–列:占位置x•特点:如果查询字段或者查询条件不是索引字段,就不会走索引•应用:适合于读多写少•创建覆盖索引,会自动构建一张索引表•索引表结构–Rowkey:索引字段+原表的rowkey–列:将include中的列放入索引表•特点–如果查询字段或者查询条件不是索引字段,就不会走索引–如果查询的字段在索引表中,直接从索引表返回结果。

2401_84182906

考研复试day28冲刺指南:四大主战场与避坑策略

在知识密集型选拔中,复试是对考生综合素养的二次考核,其本质是考察知识深度、逻辑表达与临场应变力的融合。从基础概念到输出表达,复习逻辑需由“输入”转向“输出”,强调知识内化后的有效呈现。掌握科学备考方法,能显著提升关键节点的表现力与稳定性。这一规律广泛应用于研究生入学面试、求职综合评估及各类半结构化考核场景。考研复试冲刺期如何高效分配精力?本文以“复试day28”为抓手,梳理简历材料、专业知识、英语能力、综合表现四大主战场的实操准备,并结合模拟面试与常见问题应对,帮助考生规避经典误区,稳健走好最后一程。

井言7

2022年计算机二级考试C语言程序设计冲刺题及答案

题库来源:优题宝公众号 2022年计算机二级考试C语言程序设计冲刺题及答案,由优题宝公众号根据最新计算机二级考试C语言程序设计大纲与历年计算机二级考试C语言程序设计真题汇总编写,包含计算机二级考试C语言程序设计常考重点题型与知识点,有助于考生复习备考计算机二级考试C语言程序设计,取得好成绩。 1、一个队列的入队序列是a,b,c,d,则出队序列是( A ) A.a,b,c,d B.a,c,b,d C.d,c,b,a D.a,c,b,d 2、设变量均已正确定义,若要通过;语句...

笑谈网课

考研复试冲刺阶段的时间管理与高效备考策略

时间管理是提升学习效率的核心技术,通过科学划分时间区块和优化任务分配,可以显著提升备考效果。在考研复试冲刺阶段,合理的时间管理尤为重要,它涉及专业课深度复习、面试模拟训练和英语口语突击等多个维度。采用'3+2+1'时间管理法,可以有效平衡各科目的复习时间,确保每天6小时的高效学习。高频考点如专业基础概念辨析、经典算法手写实现等,需要通过思维导图和问题卡片进行系统梳理和快速问答训练。面试准备则需注重全真模拟和录像复盘,以提升应变能力和细节表现。这些策略不仅适用于考研复试,也能广泛应用于各类考试和项目管理的场景

苦行僧2.0
评论
收藏 已收藏
分享
返回顶部