feat(presenter): adopt 的指令/事件/任务接线 + install 那句假话变真话(M223)
- AppCommand::Adopt(Box<AdoptCommand>)、CoreEvent::Adopt(Box<AdoptEvent>)、
HostTask::Adopt { event, epoch }:三条穷尽枚举各加一条变体(代次独立于安装与 pack);
- dispatch.rs 一条分支、handle.rs 一条分支、state.rs 的 adopt 字段与一条 apply 分支;
- host/install.rs 的「还没有接入安装管线…请先在实例页导入已有版本」改成指向真入口:
那里以前是一句假话(实例页根本没有导入动作),现在向导落地了,它才成立。
This commit is contained in:
1 parent
26e4fbb91d
commit
5a59cb33b2
6 files changed
+30
-1
No files matched your search
@@ -8,6 +8,7 @@ use crate::dialogs::DialogQueue;
|
||||
use crate::dto::{
|
||||
// 主线(M105 的 `LoaderKind` / M113 的 `PackState`)与 M114 的 `AuthlibLoginView` 并集。
|
||||
AccountView,
|
||||
AdoptState,
|
||||
AppEvent,
|
||||
AuthlibLoginView,
|
||||
CoreEvent,
|
||||
@@ -133,6 +134,8 @@ pub struct AppState {
|
||||
pub content: ContentState,
|
||||
/// 整合包导入/导出:进度 / 结果 / 探测诊断 / 导出预检(M113)
|
||||
pub pack: PackState,
|
||||
/// 导入已有版本(M223):扫描 / 预检 / 失败 / 完成(**只装事件态**,表单在页面本地态)
|
||||
pub adopt: AdoptState,
|
||||
}
|
||||
|
||||
impl Default for AppState {
|
||||
@@ -178,6 +181,7 @@ impl AppState {
|
||||
live_session: None,
|
||||
content: ContentState::default(),
|
||||
pack: PackState::default(),
|
||||
adopt: AdoptState::default(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -296,6 +300,8 @@ impl AppState {
|
||||
CoreEvent::Update(view) => self.update = *view,
|
||||
// M113: import/export
|
||||
CoreEvent::Pack(event) => self.pack.apply(*event),
|
||||
// M223: 导入已有版本(唯一写入点:`AdoptState::apply`)
|
||||
CoreEvent::Adopt(event) => self.adopt.apply(*event),
|
||||
CoreEvent::ContentResults(results) => self.apply_content(*results),
|
||||
CoreEvent::ContentFailed(failure) => self.apply_content_failure(*failure),
|
||||
// M162:详情/版本列表(判断逻辑在 `state/content.rs`,这里只有一行投递)
|
||||
|
||||
Reference in new issue
Block a user