Version: 0.9.79.dev.260506
后端: 1. 本地后端启动体系收口到 `backend/scripts`,移除 `cmd/all` 聚合入口,并将仓库根兼容启动语义收敛为 `StartAPI` 别名;新增 dev-up / dev-down / services-up / services-down / dev-status / dev-logs / service-restart 脚本,统一托管多服务进程、日志、PID 与基础设施启动。 2. 课表服务超时口径统一放宽到 5 分钟,覆盖 gateway / client / rpc server / config example,避免课表导入与图片识别在长耗时场景下被内层提前截断。 3. `today` 课表查询修正为读取真实当前日期,不再使用硬编码测试日期;同时剔除旧缓存与返回结果里的 `empty` 占位事件,后端只返回真实日程,空档改由前端时间轴自行补齐。 前端: 4. 首页路由切回改为复用 `DashboardView` 实例,补 `keep-alive`、`onActivated` 与双帧缩放重算,修复从侧栏返回首页时首帧布局放大与重复加载闪动问题。 5. 首页加载态与今日时间线口径收口:移除额外 800ms `pageLoading` 人为延迟,task / schedule 改为分开驱动;时间线忽略 `empty` 事件,并统一空档文案为“无课”。 6. 收敛助手页与首页若干进场/弹性动画,降低结果卡片、微调弹窗、思考区与面板切换时的抖动感。 仓库: 7. README 补充后端本地快速启动说明,`.gitignore` 忽略 `backend/.dev` 脚本运行态产物。
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
package main
|
||||
|
||||
import "github.com/LoveLosita/smartflow/backend/cmd"
|
||||
|
||||
func main() {
|
||||
cmd.StartAll()
|
||||
}
|
||||
@@ -74,7 +74,7 @@ const (
|
||||
// 职责边界:
|
||||
// 1. 只负责保存启动期已经装配好的基础设施、仓储、服务和 HTTP handler;
|
||||
// 2. 不承载业务逻辑,业务仍然由 service / agent / memory 等领域模块负责;
|
||||
// 3. 不决定进程角色,api / worker / all 由 StartAPI、StartWorker、StartAll 选择启动哪些生命周期。
|
||||
// 3. 不决定进程角色,api / worker 由 StartAPI、StartWorker 选择启动哪些生命周期;StartAll 仅保留兼容别名。
|
||||
type appRuntime struct {
|
||||
db *gorm.DB
|
||||
redisClient *redis.Client
|
||||
@@ -95,24 +95,20 @@ func loadConfig() error {
|
||||
return bootstrap.LoadConfig()
|
||||
}
|
||||
|
||||
// Start 保留历史兼容入口,当前默认等价于 StartAll。
|
||||
// Start 保留历史兼容入口,当前默认等价于 StartAPI。
|
||||
// 1. 兼容 backend/main.go 和旧部署命令。
|
||||
// 2. 不新增业务语义,只转发给 StartAll。
|
||||
// 2. 不新增业务语义,只转发给 StartAPI。
|
||||
// 3. 后续若全面切到独立 api/worker 启动,本入口只保留过渡兼容。
|
||||
func Start() {
|
||||
StartAll()
|
||||
StartAPI()
|
||||
}
|
||||
|
||||
// StartAll 启动当前仓库的完整运行态:HTTP API + 后台 worker。
|
||||
// 这仍然是迁移期的兼容装配,不是终态的“一个服务一个 main.go”模型。
|
||||
// StartAll 保留给历史入口与旧命令的兼容别名,当前语义与 StartAPI 完全一致。
|
||||
// 1. cmd/all 已移除,不再作为后端本地启动标准入口。
|
||||
// 2. 之所以暂时保留该函数,是为了避免仓库根兼容入口和旧脚本立刻失效。
|
||||
// 3. 后续若仓库根入口一并收口,可直接删除该兼容别名。
|
||||
func StartAll() {
|
||||
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
|
||||
defer stop()
|
||||
runtime := mustBuildRuntime(ctx)
|
||||
defer runtime.close()
|
||||
|
||||
runtime.startWorkers(ctx)
|
||||
runtime.startHTTP(ctx)
|
||||
StartAPI()
|
||||
}
|
||||
|
||||
// StartAPI 只启动 Gin API 和其同步依赖,不启动后台 worker。
|
||||
|
||||
Reference in New Issue
Block a user