# 2026-08-12 ## 项目:bschclassmanage(原 classicalchinese 重构) ### 包重命名(17:18 左右) - 根包由 `com.bestsch.bschclassmanage` 重命名为 `com.yunhai.bschclassmanage`(git mv 目录 + 255 文件 package/import 替换,共 1064 处)。 - pom.xml 设 `com.yunhai` 对齐。 - 注意:`bschclassmanage.iml` 中的 `com.bestsch:bsch-*` 是外部依赖坐标(bsch-sso / bsch-spring-boot-starter 等),**不能改**。 - 环境无 maven(mvnw wrapper 缺 .mvn/wrapper 配置),无法本地编译验证;改用「package 声明 vs 目录路径」脚本校验,255 文件全部一致。 ### 已修复的三类启动/路由问题 1. **CORS 启动失败**:Spring Boot 2.7.18 (Spring 5.3) 校验 `allowCredentials=true` 时 `allowedOrigins` 不能含 `*`。已将 23 个 Controller 的 `@CrossOrigin(origins={"*","*"}, allowCredentials="true")` 改为 `originPatterns={"*"}`。 2. **/api/* 与 /oapi/* 接口 404**:`Config.API_PATH="/api/"` 与 `Config.OAPI="/oapi/"` 常量尾部带斜杠,拼接 `API_PATH+"/subject/"` 产生 `/api//subject/`(双斜杠)。Spring Boot 2.7 默认 PathPatternParser 不折叠双斜杠导致匹配失败。已将常量尾斜杠去掉(`/api`、`/oapi`、`/mobiapi`)。`LoginUserController` 单独用 `Config.API_PATH` 无拼接故正常。 3. **currentrole 取不到(500/NPE)**:`UserSysRoleArgumentResolver` 原只从请求头 `currentrole` 取身份 JSON(childId/roleId/schId),URL 参数被忽略导致 `curRole` 为 null。已改为「Header 优先,查不到退回 URL 参数 currentrole」,便于本地调试,生产仍走 Header。 ### Git - 提交 `66cd0f1`:包重命名为 `com.yunhai.bschclassmanage`,含以上修复。 - 远程 origin 指向 `http://gitea.yunhaixingtong.com/wanghu/BSChClassManage.git`(原 classicalchinese 旧地址已替换)。 - 已 `git push -u origin master` 成功。本地仓库级身份:Allen 。 - 注意:gitea http push 需账号密码;URL 中 `&` 须编码为 `%26`。