🐛 Bug 复现:Favicon Data URI 导致工作台页签图标异常

问题说明

当工作台应用页面使用 data:image/png;base64,... 格式的 favicon 时:

复现步骤

在企微工作台中打开本页面,观察页签图标的表现:

点击按钮切换 favicon 类型

当前 Favicon 预览:

favicon preview

场景对比

Favicon 类型 浏览器 企微工作台 Tab
https://xxx/icon.png ✅ 正常 ✅ 正常(HTTP 下载成功)
data:image/png;base64,... ✅ 正常 图标异常(当作URL下载失败)

客户端日志关键报错

// 1. proxy 解析 data URI 报错
[Local_Proxy] [error]util_stoi:445 stoi error:invalid stoi argument image

// 2. 将 data URI 当 URL 传入白名单检查
[Local_Proxy] [info]local_proxy::IsWhiteHost:192 url:data:image/png;base64,...

// 3. 图片下载任务尝试下载 data URI
WImageFetchTask 32 download:data:image/png;base64,...

// 4. 发起 FTN 文件下载
[CGI_MONITOR] file_download:180 construction!

根因代码位置

// workbench_tab_view.cpp:416
// 问题:没有判断 iconUrl 是否为 data URI,直接当作 HTTP URL 处理
model->icon_source = ui::WImageProtocol::createFromHttpUrl(
    iconUrl.toStdString(), Environment::MasterEnv, {
    .http_options = http_op,
#ifdef LOCAL_APP
    .using_local_proxy_port = weak_this->viewModel().getLocalProxyPort(iconUrl.toStdString()),
#endif
});